lauantaina, maaliskuuta 29, 2008

JavaScript ! Java

Heti tuli sähköpostia, joka paljastaa, että edelleen luullaan JavaScriptiä Javaksi.

JavaScript on maailman yleisin ohjelmointikieli. Maailmassa on enemmän JavaScipt-kääntäjiä kuin tietokoneita, koska jokaisessa tietokoneessa on vähintään yksi webbiselain ja jokaisessa webbiselaimessa on JavaScript-kääntäjä.

Kun nettisivun html-koodissa on <script, ymmärtää selain oletusarvoisesti, että nyt ruvetaan joraamaan JavaScriptin ordereitten mukaan.

Java on ohjelmointikieli, jolla kirjoitettuja 'appletteja' voidaan suorittaa koneessa, johon on erikseen asennettu Java Runtime. Nettisivu voi kutsua applettia suoritettavaksi.

JavaScript oli kieli, jolla alunperin vain häirittiin ihmisiä, mutta nyt sovellukset kuten Gmail tai Google Maps ovat näyttäneet, että se on siunaus webille.

Asiaa yrittää valottaa Douglas Crockfordin artikkeli:
'The World's Most Misunderstood Programming Language Has Become the World's Most Popular Programming Language'.

JavaScriptillä pystytään muokkaamaan ja luomaan html-koodia ja css-määrittelyjä. Esim tämän sivun html sisältää vain otsikot. Kaikki muu on luotu JavaScriptillä. Java ei ymmärtääkseni pysty vaikuttamaan nettisivun sisältöön.

DHTML tarkoittaa JavaScriptin ja HTML:n seurustelua. Samaa tarkoittaa myös DOM. Se on html:n api, jonka kautta JavaScript pääsee lukemaan ja muokkaamaan html-koodilla tehtyä webbisivua. Javalla ei ole tätä mahdollisuutta.

Epäselvien selitysten yhteenvetona:
- JavaScript on kaikissa webbiselaimissa ja siksi osa webbiä. JavaScript koodia on lähes kaikilla sivuilla
- Java on ohjelmointikieli, jolla ei ole paljonkaan tekemistä nettisivujen kanssa

Historiaa kannattaa googlata. En muista jätkän nimeä, mutta luonnollisesti historia juontaa Netscapeen. JavaScript ja Java olivat alussa kilpailijoita.

Tärkeintä on muistaa, että JavaScript ja Java ovat kaksi tyystin eri asiaa.

P.S. Mikrosoft ei tietenkään tunnusta JavaScriptiä. Heidän mielestään se on JScript, jonka he keksivät ihan itse. Siksi heidän ei tarvitse noudattaa Ecmascript-standardia.