Gość (83.4.*.*)
Lata 90. to czas, w którym internet stawiał swoje pierwsze, dość nieporadne kroki w domach użytkowników. Jeśli pamiętasz dźwięk łączącego się modemu, to prawdopodobnie kojarzysz też strony, które ładowały się wieczność, a ich szczytem interaktywności były migające napisy i wirujące gify. To właśnie w tej dekadzie narodził się JavaScript, który na zawsze zmienił oblicze sieci, choć jego początki wcale nie zwiastowały dzisiejszej dominacji.
Wszystko zaczęło się w 1995 roku w firmie Netscape. Brendan Eich otrzymał zadanie stworzenia języka skryptowego, który nadałby stronom internetowym nieco życia. Co ciekawe, pierwsza wersja języka powstała w zaledwie 10 dni. Początkowo nazywał się Mocha, potem LiveScript, aż w końcu – ze względów marketingowych, by podpiąć się pod popularność Javy – zmieniono nazwę na JavaScript.
W tamtym czasie przeglądarki, takie jak Netscape Navigator 2.0, nie posiadały zaawansowanych silników, które znamy dzisiaj (jak V8 w Chrome). Wykonywanie skryptów odbywało się w sposób czysto interpretowany. Oznaczało to, że przeglądarka czytała kod linijka po linijce i natychmiast go wykonywała. Nie było mowy o optymalizacji, kompilacji w locie (JIT) czy wielowątkowości. Jeśli skrypt był zbyt skomplikowany, cała przeglądarka po prostu „zamarzała”, czekając, aż procesor upora się z obliczeniami.
Największym wyzwaniem lat 90. nie była jednak sama wydajność, ale brak jakiejkolwiek spójności. Kiedy Microsoft zauważył sukces Netscape’a, wprowadził do Internet Explorera własną wersję języka o nazwie JScript. Choć był on łudząco podobny do JavaScriptu, diabeł tkwił w szczegółach.
Programiści tamtej ery musieli pisać osobne bloki kodu dla różnych przeglądarek. To właśnie wtedy narodziły się słynne przyciski na stronach: „Best viewed in Netscape Navigator” lub „Best viewed in Internet Explorer”. Przeglądarki radziły sobie z kodem w sposób nieprzewidywalny – to, co działało w jednej, mogło całkowicie wysypać drugą. Obiekty DOM (Document Object Model), które pozwalają skryptom manipulować elementami strony, były w powijakach i każda firma implementowała je po swojemu.
Mimo podobnej nazwy, te dwa języki różnią się od siebie niemal wszystkim. Java była w latach 90. postrzegana jako potężne, profesjonalne narzędzie, podczas gdy JavaScript miał być „lekkim” językiem dla amatorów i projektantów stron. Nazwa była czystym chwytem reklamowym, który do dziś wprowadza początkujących w błąd.
Dzisiaj JavaScript napędza skomplikowane aplikacje webowe, edytory wideo w przeglądarce i gry 3D. W latach 90. jego rola była znacznie skromniejsza, a przeglądarki radziły sobie głównie z prostymi zadaniami:
Przeglądarki w latach 90. były niezwykle wrażliwe na błędy. Jeśli w kodzie JavaScript znalazła się choćby jedna literówka, przeglądarka często przerywała wykonywanie całego skryptu i wyświetlała irytujące okienko z komunikatem „Script Error”. Użytkownicy często wyłączali obsługę skryptów w ustawieniach, aby uniknąć błędów i przyspieszyć ładowanie stron.
Wydajność procesorów tamtej epoki (często mierzona w dziesiątkach megaherców) sprawiała, że każda pętla w kodzie była odczuwalna. Przeglądarki nie miały mechanizmów zabezpieczających przed nieskończonymi pętlami w taki sposób, jak robią to dzisiaj – jeden błąd programisty mógł doprowadzić do konieczności restartu całego komputera.
Dopiero pod koniec dekady, w 1997 roku, pojawił się standard ECMAScript, który zaczął porządkować ten chaos. Jednak na prawdziwą rewolucję i szybkość działania JavaScriptu musieliśmy poczekać aż do pojawienia się nowoczesnych silników i technologii AJAX w połowie lat 2000. To, co działo się w latach 90., było fascynującym, choć pełnym frustracji poligonem doświadczalnym.