Historia JavaScript

Aby wydobyć pełny potencjał JavaScript, bardzo ważne jest zrozumienie jego natury, historii oraz ograniczeń.

Ten rozdział wyjaśnia pochodzenie JavaScript i skryptów klientowskich.

Nombas i ScriptEase

W około 1992 roku, firma Nombas opracowała język skryptowy o nazwie C-minus-minus (Cmm, skrócona nazwa Cmm), który jest językiem wbudowanym. Idea założona na Cmm jest bardzo prosta: język skryptowy wystarczająco silny, aby zastąpić operacje makro (macro), jednocześnie zachowujący wystarczającą podobność do C (i C++) aby programiści mogli szybko go nauczyć się. Język ten jest zawarty w programie共享软件 CEnvi, który po raz pierwszy pokazał programistom siłę tego języka.

Nombas ostatecznie zmienił nazwę Cmm na ScriptEase, ponieważ końcówka (mm) brzmiała zbyt negatywnie, a litera C była 'straszna'

Dziś ScriptEase stało się głównym napędem produktów Nombas

Netscape wynalazło JavaScript

Kiedy Netscape Navigator zyskał popularność, Nombas opracował wersję CEnvi do wstawienia do stron internetowych. Te wczesne eksperymenty były nazywane Espresso Page (strony o smaku kawy), były to pierwsze klienty używane w sieci Web. Nombas wcale nie spodziewał się, że jego idea stanie się ważnym kamieniem węgielnym sieci Web.

W miarę jak surfowanie po sieci stawało się coraz bardziej popularne, rosnąca potrzeba stworzenia języka skryptowego klienta. Wtedy większość użytkowników Internetu łączyła się z siecią za pomocą modemu 28.8 kbit/s, mimo że strony internetowe stały się coraz większe i bardziej złożone. Dodatkowo, dla prostego walidacji formularza, musiano wielokrotnie komunikować się z serwerem. Wyobraź sobie, że użytkownik wypełnia formularz, klika przycisk submit, czeka 30 sekund na przetworzenie, a następnie widzi komunikat, że zapomniał wypełnić wymagane pole.

Wtedy Netscape, który był na czele innowacji technologicznej, zaczął poważnie rozważać rozwój języka skryptowego klienta do rozwiązywania prostych problemów.

Wtedy Brendan Eich, który pracował w Netscape, zaczął pracować nad nowym językiem skryptowym, który miał być używany w przeglądarkach i serwerach (który miał być nazwany LiveWire), aby być dostępny do wydania Netscape Navigator 2.0 w 1995 roku. Netscape i Sun szybko ukończyli implementację LiveScript.

Przed oficjalnym wydaniem Netscape Navigator 2.0, Netscape zmienił jego nazwę na JavaScript, aby wykorzystać modę internetową słowa Java. Wszelkie zakłady Netscape w końcu przyniosły plony, JavaScript stał się niezbędnym elementem Internetu.

Trzy nogi trzymają się razem

Dzięki sukcesowi JavaScript 1.0, Netscape wydał wersję 1.1 w Netscape Navigator 3.0. W tym samym czasie, Microsoft zdecydował się wejść na rynek przeglądarek i wydał IE 3.0 z klonem JavaScript, nazwanym JScript (nazwa ta została wybrana, aby uniknąć potencjalnych sporów licencyjnych z Netscape). To ważny krok Microsoftu w zakresie wejścia na rynek przeglądarek, który mimo że przyniósł mu złą reputację, stał się ważnym krokiem w rozwoju języka JavaScript.

Po wejściu Microsoftu na rynek, jednocześnie istniały 3 różne wersje języka JavaScript: JavaScript w Netscape Navigator 3.0, JScript w IE oraz ScriptEase w CEnvi. W przeciwieństwie do języków programowania takich jak C, JavaScript nie ma standardu, który standaryzowałby jego gramatykę lub cechy, a te 3 różne wersje dokładnie podkreślają ten problem. Zwiększające się zaniepokojenie w branży wskazuje, że standaryzacja tego języka jest konieczna.

Standaryzacja

W 1997 roku JavaScript 1.1 został przedstawiony jako projekt Europejskiemu Stowarzyszeniu Producentów Komputerów (ECMA). Komitet Techniczny 39 (TC39) został powierzony zadanie 'standaryzacji gramatyki i semantyki ogólnego, wieloplatformowego, neutralnego w stosunku do producentów języka skryptowego' (http://www.ecma-international.org/memento/TC39.htm) Złożono go przez programistów z firm Netscape, Sun, Microsoft, Borland i innych, które interesowały się programowaniem skryptowym, TC39 wypracował ECMA-262, który definiuje nowy język skryptowy o nazwie ECMAScript.

W kolejnych latach Międzynarodowa Organizacja Normalizacyjna oraz Międzynarodowy Komitet Elektrotechniczny (ISO/IEC) również przyjęli ECMAScript jako standard (ISO/IEC-16262). Od tego momentu przeglądarki internetowe zaczęły dążyć (choć z różnym poziomem sukcesu i porażek) do implementacji ECMAScript jako podstawy języka JavaScript.