JavaScriptin historia

JavaScriptin kaikkien mahdollisuuksien hyödyntämiseksi on erittäin tärkeää ymmärtää sen luonne, historia ja rajat.

Tämä luku selittää JavaScriptin ja asiakaskirjojen alkuperän.

Nombas ja ScriptEase

Vuonna 1992 Nombas-niminen yritys kehitti upotetun skriptikielen nimeltä C-klon (C-minus-minus, lyhenteenä Cmm). Cmm:n taustalla oleva idea on yksinkertainen: skriptikieli, joka on riittävän voimakas korvata makrot (macro) ja samalla riittävän samanlainen C:n (ja C++) kanssa, jotta kehittäjät voivat oppia sen nopeasti. Tämä skriptikieli on sisällytetty CEnvi-nimiseen jaettuun ohjelmistoon, joka ensimmäisen kerran näytti kehittäjille tämän kielen voiman.

Nombas vaihtoi Cmm:n nimen ScriptEaseksi, koska sen jälkimmäinen osa (mm) kuulostaa liian negatiiviselta, ja kirjain C on 'pelottava'.

Tällä hetkellä ScriptEase on Nombas-tuotteiden päävoimavara.

Netscape keksi JavaScriptin

Kun Netscape Navigator nousi esiin, Nombas kehitti CEnvi:n version, joka voitiin sisällyttää verkkosivuille. Näitä varhaisia kokeiluja kutsuttiin Espresso Pageksi (vahvan kahvin maiseksi sivuksi), ja ne edustivat ensimmäistä asiakaskieltä, joka käytettiin www:ssa. Nombas ei ollut vielä aavistanut, että hänen ideansa tulisi olemaan internetin tärkeä perustana.

Kun internet-selailu tuli yhä suositummaksi, tarve asiakaspuolen skripteille kasvoi. Silloin suurin osa internetin käyttäjistä yhdisti verkkoon vain 28.8 kbit/s -modemilla, vaikka verkkosivut olivat jo jatkuvasti kasvaneet suuremmiksi ja monimutkaisemmiksi. Käyttäjien kärsimystä pahensi se, että yksinkertaisen lomakkeen validointi vaati useita palvelimen ja asiakkaan välisiä viestintöitä. Kuvailemme tilannetta: käyttäjä täyttää lomakkeen, napsauttaa lähetyspainiketta, odottaa 30 sekunnin käsittelyn ja näkee sitten viestin, joka kertoo, että hän on unohtanut täyttää pakollisen kentän.

Netscape, joka oli teknologisen innovaation eturintamassa, alkoi vakavasti harkita asiakaspuolen skriptikielen kehittämistä yksinkertaisten käsittelyongelmien ratkaisemiseksi.

Sillä ajalla työskennellyt Netscapen Brendan Eich alkoi kehittää LiveScript-nimistä skriptikieltä, joka oli tarkoitettu käyttöön selaimessa ja palvelimella (alkuperäinen nimi oli LiveWire). Netscape ja Sun saivat LiveScriptin valmiiksi ajoissa.

Ennen kuin Netscape Navigator 2.0 oli valmis viralliseen julkaisuun, Netscape muutti sen nimeksi JavaScript, tarkoituksenaan hyödyntää Java:ta, tätä internetin muodikasta termiä. Netscapen panostus palkittiin, ja JavaScriptestä tuli internetin välttämätön komponentti.

Kolme jalkaa ja kolme jalkaa

Koska JavaScript 1.0 oli niin menestyksekäs, Netscape julkaisi 1.1-version Netscape Navigator 3.0:ssa. Samoihin aikoihin Microsoft päätti tulla mukaan verkkoselaimiin ja julkaisi IE 3.0:n, jossa oli JavaScriptin klooni nimeltä JScript (tämä nimi valittiin välttääksesi mahdolliset Netscapen lisenssisopimukset). Tämä tärkeä askel Microsoftin verkkoselaimien alueelle vaikka se teki yrityksestä kuuluisan, oli myös tärkeä askel JavaScript-kielen kehityksessä.

Kun Microsoft liittyi mukaan, kolme eri JavaScript-versiota oli samanaikaisesti olemassa: Netscape Navigator 3.0:ssa oleva JavaScript, IE:ssä oleva JScript ja CEnvi:ssä oleva ScriptEase. Eri kuin C ja muut ohjelmointikieliä, JavaScriptillä ei ollut standardia, joka yhdistäisi sen syntaksia tai ominaisuuksia, ja nämä kolme eri versiota korostivat tätä ongelmaa. Koska alan huolenaiheet kasvoivat, kielen standardointi oli selvästi tarpeen.

Standardointi

Vuonna 1997 JavaScript 1.1 esiteltiin luonnoksena Euroopan tietokonevalmistajien liitolle (ECMA). Tekninen komitea 39 (TC39) nimettiin vastuulle "standardoida yleistä, alustariippumatonta ja valmistajaepärikkääntäistä skriptikielen syntaksia ja semantiikkaa" (http://www.ecma-international.org/memento/TC39.htm) Ohjelmistojen kehittäjät, jotka olivat Netscape, Sun, Microsoft, Borland ja muut yritykset, jotka olivat kiinnostuneita skriptikoodauksesta, kuten TC39, kehittivät ECMA-262:n, joka määrittää uuden nimeltään ECMAScriptin skriptikielen.

Seuraavina vuosina kansainvälinen standardointijärjestö ja kansainvälinen sähkötekniikan komitea (ISO/IEC) myös hyväksyivät ECMAScriptin standardiksi (ISO/IEC-16262). Tästä lähtien verkkoselaimet alkoivat pyrkiä (vaikka eri asteisella menestyksellä ja epäonnistumisella) käyttämään ECMAScriptiä JavaScriptin toteutustukena.