JavaScript w 10 dni: historia języka, który podbił sieć

Najpopularniejszy język programowania na świecie powstał w tempie, które dziś wydaje się szaleństwem - w niecałe dwa tygodnie, pod presją terminu i konkurencji. Historia JavaScriptu to opowieść o pośpiechu, marketingowym przypadku i dziedzictwie, z którym programiści zmagają się do dziś.

Brendan Eich i dziesięć dni, które zmieniły internet

Wiosną 1995 roku firma Netscape Communications rządziła młodym jeszcze rynkiem przeglądarek internetowych, ale czuła oddech konkurencji ze strony Microsoftu i rosnącej popularności języka Java od Sun Microsystems. Szef działu technicznego Netscape, Marc Andreessen, chciał dodać do przeglądarki prosty język skryptowy, który pozwoliłby projektantom stron ożywiać statyczne witryny bez konieczności pisania pełnoprawnych apletów Javy. Zadanie trafiło do inżyniera Brendana Eicha, który otrzymał na nie dosłownie kilkanaście dni.

To był okres tak zwanej pierwszej wojny przeglądarek, w której Netscape i Microsoft ścigały się o każdą nową funkcję i każdego użytkownika - o tym, jak brutalna była to rywalizacja, pisaliśmy przy okazji historii wojny przeglądarek Netscape i Internet Explorer. Presja czasu była tak duża, że Eich nie miał możliwości zaprojektować języka od podstaw z namysłem - musiał działać szybko, korzystając z gotowych inspiracji.

Jak powstał kod, którego nikt nie planował na lata

Eich czerpał garściami z kilku źródeł naraz: składnię oparł na Javie i C, żeby język wyglądał znajomo dla programistów, funkcje jako obiekty pierwszej klasy zapożyczył ze Scheme, a prototypowy model dziedziczenia z języka Self. Powstał w ten sposób hybrydowy twór, który pierwotnie nazwano LiveScript. Zanim jednak trafił do premierowej wersji przeglądarki Netscape Navigator 2.0 pod koniec 1995 roku, dział marketingu zmienił nazwę na JavaScript - głównie po to, by skorzystać z rosnącej popularności Javy, mimo że oba języki łączyło niewiele poza nazwą i częścią składni.

Ten marketingowy zabieg do dziś bywa źródłem nieporozumień - wielu początkujących użytkowników internetu przez lata sądziło, że JavaScript to uproszczona wersja Javy. W rzeczywistości to zupełnie odrębne technologie, rozwijane przez inne firmy, w innym celu.

Dziwactwa, które zostały na zawsze

Pośpiech, w jakim powstawał JavaScript, odcisnął piętno na jego konstrukcji i do dziś bawi (albo frustruje) programistów. Klasycznym przykładem jest to, że wynik działania typeof null zwraca object, choć null obiektem nie jest - to błąd, który wkradł się do pierwszej implementacji i którego nigdy nie naprawiono, bo zmiana zepsułaby miliony istniejących stron. Podobnie jest z lu­źnym porównywaniem wartości operatorem ==, które potrafi uznać pusty ciąg znaków za równy liczbie zero, czy z arytmetyką zmiennoprzecinkową, w której 0.1 dodane do 0.2 nie daje równo 0.3.

  • Zmienna NaN (Not a Number) nie jest równa nawet samej sobie
  • Tablice i obiekty mają osobne, momentami mylące reguły konwersji typów
  • Automatyczne wstawianie średników potrafi cicho zmienić sens kodu

Te osobliwości pokazują coś ważnego również dla firm korzystających dziś z technologii webowych: raz wdrożony fundament trudno później zmienić bez ryzyka, że coś się posypie - dlatego decyzje technologiczne przy budowie strony czy sklepu warto podejmować z myślą o latach, a nie tylko o najbliższym wdrożeniu.

Od zabawki w przeglądarce do fundamentu internetu

Przez pierwsze lata JavaScript traktowano jako dodatek do stron - służył głównie do walidacji formularzy czy prostych animacji. Punktem zwrotnym była standaryzacja języka jako ECMAScript w 1997 roku, dzięki czemu przestał być zależny wyłącznie od Netscape, a w połowie lat 2000. mechanizm AJAX i biblioteki takie jak jQuery pokazały, że można w przeglądarce budować dynamiczne aplikacje bez przeładowywania całej strony. Prawdziwy przełom nastąpił jednak w 2009 roku, gdy Ryan Dahl stworzył środowisko Node.js, pozwalające uruchamiać JavaScript również po stronie serwera.

Dziś JavaScript w jakiejś formie działa niemal na każdej stronie internetowej na świecie i napędza zarówno front-end, jak i back-end nowoczesnych aplikacji, a jego ekosystem pakietów npm liczy sobie miliony bibliotek. To ewolucja bez precedensu - język pisany w tydzień pod presją terminu stał się wspólnym mianownikiem całej branży webowej.

Czego ta historia uczy właścicieli firm

Historia JavaScriptu to nie tylko ciekawostka na wieczór - to też przypomnienie, jak szybko zmienia się technologia stojąca za stronami internetowymi i jak wiele zależy od decyzji podjętych na starcie projektu. Nieaktualne biblioteki JavaScript, przestarzałe frameworki czy kod pisany bez dbałości o standardy potrafią po latach stać się realnym problemem - spowalniają witrynę, utrudniają jej rozwój i mogą otworzyć furtkę dla ataków typu XSS. Dlatego firmy, które chcą mieć stronę działającą sprawnie i bezpiecznie przez lata, a nie tylko w dniu wdrożenia, powinny stawiać na profesjonalne tworzenie i utrzymanie stron internetowych, uwzględniające regularne aktualizacje kodu.

Warto też pamiętać, że zanim JavaScript zaczął ożywiać strony, samo przeglądanie internetu w graficznej formie było nowością - o tym, jak wyglądały jego początki, można przeczytać w historii przeglądarki Mosaic, pierwszego okna na world wide web dla milionów użytkowników.

Kluczowe momenty w historii JavaScript
RokWydarzenieZnaczenie
1995Brendan Eich tworzy język w 10 dni w NetscapePowstaje LiveScript, później przemianowany na JavaScript
1997Standaryzacja jako ECMAScriptJęzyk przestaje być zależny wyłącznie od Netscape
2005Popularyzacja AJAX i bibliotek jak jQueryStrony zyskują dynamikę bez przeładowania całej treści
2009Ryan Dahl tworzy Node.jsJavaScript wchodzi na serwery, poza przeglądarkę
2026JavaScript działa niemal na każdej stronie internetowejJeden język łączy front-end i back-end aplikacji webowych

Twoja strona działa na aktualnym kodzie?

Przestarzały JavaScript i nieaktualizowane frameworki to częsta przyczyna wolno działających i podatnych na ataki stron. Sprawdzimy, jak wygląda kondycja Twojej witryny i pomożemy ją unowocześnić.

Zapytaj o audyt strony Bezpłatna konsultacja