Nowo opublikowany artykuł Brendana Eicha, dyrektora generalnego opartej na Chromium przeglądarki Brave i kluczowego projektanta JavaScriptu, spogląda wstecz na dwie dekady definitywnego języka programowania dla sieci, przeglądarek i, coraz częściej, natywnych aplikacji mobilnych i desktopowych.
Każdy, kto tworzy aplikacje internetowe, musi znać JavaScript, jeden z trzech najważniejszych języków programowania, obok Javy i Pythona, którego popularność wzrosła dzięki rozwojowi uczenia maszynowego.
Eich, współzałożyciel Firefox-maker Mozilla, i jego współautor, Allen Wirfs-Brock – kluczowy autor specyfikacji ECMAScript dla JavaScript – wyszczególniają długą i krętą historię JavaScript i sieci od 1995 roku pod wpływem Microsoftu, Mozilli, Netscape i Oracle.
Zobacz: Wirtualne wskazówki dla poszukujących pracy i rekruterów (darmowy PDF) (TechRepublic)
Praca została ukończona w marcu i opublikowana w tym miesiącu w wydaniu Association of Computing Machinery (ACM) Journal, które zawiera retrospektywę kluczowych języków programowania, w tym JavaScript, C++, F#, Fortran, Objective-C i Clojure.
Poza ewolucją JavaScript, artykuł oferuje kto jest kim we wczesnej sieci i co doprowadziło do dzisiejszej sieci zdominowanej przez Chromium, która teraz zawiera opartą na Chromium przeglądarkę Edge lub 'Chredge’ Microsoftu.
Papier jest z perspektywy Eicha po dołączeniu do Netscape w 1995 roku, krótko po tym jak Microsoft zaoferował kupno firmy. Stworzył on wtedy uniksową wersję Mocha, prekursora JavaScript.
Powieść zawiera również jego zdanie na temat wkładu „ojca” sieci Tima Berners-Lee, współzałożyciela Netscape, Marca Andreessena, który był współautorem pierwszej przeglądarki Mosaic, współzałożyciela Sun, Billa Joya, oraz współzałożyciela Microsoft, Billa Gatesa.
Jednym z zabawnych faktów jest to, że nazwa znaku towarowego JavaScript, który został pierwotnie zarejestrowany przez Sun Microsystems, dziś pozostaje pod kontrolą Oracle, który nabył Sun w 2009 roku, dając mu Javę.
Potencjalne problemy ze znakami towarowymi również wyjaśniają dlaczego standard JavaScript ECMAScript – który szeroko używany TypeScript Microsoftu wspiera – nie zawiera terminu „JavaScript”.
„Znak towarowy został pierwotnie zarejestrowany przez Sun Microsystems, a od daty tego dokumentu rejestracja jest własnością Oracle Corporation. Znak towarowy był licencjonowany przez Sun do Netscape, a później do Mozilla Foundation,” piszą.
„Netscape i Mozilla użyły nazw takich jak JavaScript 1.4 by opisać konkretne wersje ich implementacji języka. Niektórzy implementatorzy języka użyli innych nazw, by uniknąć możliwych problemów ze znakami towarowymi.
„Z powodu wielu nazw, problemów ze znakami towarowymi, oraz zamieszania z Javą, wielu współczesnych użytkowników, autorów książek, oraz implementatorów narzędzi po prostu nazywa język JS, a 'js’ jest powszechnie używane jako rozszerzenie pliku dla kodu źródłowego JavaScript.”
Java została stworzona przez Jamesa Goslinga, również w 1995 roku, podczas gdy pracował w firmie Sun. Dwa lata po tym, jak Oracle nabył Sun, został złapany przez Google podczas jego prawnej bitwy z Oracle na temat wykorzystania przez firmę wyszukiwania Java APIs w Androidzie.
Gosling dołączył Tim Bray, inny wysoki profil były inżynier Sun, który pomógł open-source Java i prowadziłby Google Android zespół rzecznika deweloperów z 2010 roku.
Sygnalizując przyszłą bitwę o sieć i pierwszą wojnę przeglądarek, duet wspomina, że zaraz po tym, jak Netscape i Sun ogłosiły JavaScript w grudniu 1995 roku, Microsoft powiedział światu, że uczyni Visual Basic (VB) standardem do tworzenia aplikacji internetowych przy użyciu VB Script dla swojej przeglądarki Internet Explorer.
Jak para wspomina, JavaScript był pierwotnie pomyślany jako „Java side-kick scripting language”, gdzie „wszystkie wyrafinowane zadania programistyczne byłyby wykonywane przy użyciu Javy” dzięki apletom Javy.
„Ale w miarę jak rosło doświadczenie z JavaScript, twórcy stron internetowych zaczęli zdawać sobie sprawę, że wszystko czego naprawdę potrzebują to JavaScript”, piszą.
Jednakże, na początku, Netscape widział Javę jako krytyczną dla przyszłości sieci i jej wojny z Internet Explorerem Microsoftu i własnościowym Visual Basic.
Według Eicha i Wirfs-Brocka, „okrzyk bojowy wyartykułowany przez Marca Andreessena na spotkaniach Netscape brzmiał 'Netscape plus Java zabija Windows'”. W maju 1995 roku, gdy Sun ogłosił Javę, Netscape nakreślił swój plan licencjonowania Javy dla swojej przeglądarki.
Ale decyzja o stworzeniu JavaScript nie była pozbawiona przeciwników, nawet jeśli Andreessen i Bill Joy z Sun myśleli, że jedynym realnym podejściem było zaprojektowanie i zaimplementowanie „małego języka” by uzupełnić Javę.
„Wątpiący, dominujący w Sun i większość w Netscape, kwestionowali potrzebę prostszego języka skryptowego: czy Java nie nadawała się do skryptów; czy byłoby możliwe wyjaśnienie, dlaczego dwa języki były lepsze niż jeden; i czy Netscape miał niezbędną wiedzę, aby stworzyć nowy język?”
SEE: Języki programowania: Developers reveal what they love and loathe, and what pays best
Another choice quote in the paper highlights Microsoft’s radicalically different approach to proprietary and open-source software in the year 2000 in the context of an „internet tidal wave” that Gates saw coming that was then dominated by Netscape.
„Microsoft, z Internet Explorerem, zdobył i ostatecznie osiągnął ponad 90% udziału w rynku. Nie miał większego interesu w ulepszaniu platformy programistycznej, nad którą nie miał kontroli” – piszą autorzy.
„Wewnętrznie, zasoby zostały przekierowane z ulepszania otwartych technologii przeglądarek, takich jak ECMAScript, do rozwijania zastrzeżonych technologii Microsoftu, takich jak Windows Presentation Framework, które, jak miał nadzieję, ostatecznie przestaną istnieć i zastąpią otwarte technologie sieciowe.
„W obszarze języków programowania dla .NET, skoncentrowała się na C# i VisualBasic.NET. W tym kontekście JScript.NET był istotny tylko w stopniu, w jakim umożliwiał programistom JavaScript migrację na platformę .NET.”