Brendan Eich, a Chromium-alapú Brave böngésző vezérigazgatója és a JavaScript fő tervezője egy újonnan megjelent tanulmányban tekint vissza a web, a böngészők és egyre inkább a natív mobil és asztali alkalmazások meghatározó programozási nyelvének két évtizedére.
Aki a webre fejleszt, annak ismernie kell a JavaScriptet, amely a Java és a Python mellett a három legfontosabb programozási nyelv egyike, és amelynek népszerűsége a gépi tanulás térhódításának köszönhetően ugrásszerűen megnőtt.
Eich, a Firefoxot gyártó Mozilla társalapítója és társszerzője, Allen Wirfs-Brock – a JavaScript ECMAScript specifikációjának egyik fő szerzője – részletesen ismerteti a JavaScript és a web hosszú és fordulatos történetét 1995 óta a Microsoft, a Mozilla, a Netscape és az Oracle hatására.
SEE: Virtuális felvételi tippek álláskeresőknek és toborzóknak (ingyenes PDF) (TechRepublic)
A cikk márciusban készült el, és az Association of Computing Machinery (ACM) Journal e havi számában jelent meg, amely visszatekintést nyújt a legfontosabb programozási nyelvekre, köztük a JavaScriptre, a C++-ra, az F#-ra, a Fortranra, az Objective-C-re és a Clojure-ra.
A JavaScript evolúciója mellett a cikk a korai web ki kicsodáját kínálja, és azt, hogy mi vezetett a mai Chromium által dominált webhez, amely ma már a Microsoft Chromium-alapú Edge vagy “Chredge” böngészőjét is magában foglalja.
A tanulmány Eich szemszögéből készült, miután 1995-ben csatlakozott a Netscape-hez, nem sokkal azután, hogy a Microsoft felajánlotta a vállalat megvásárlását. Ekkor készítette el a Mocha, a JavaScript elődjének Unix verzióját.
A mesében a web “atyjának”, Tim Berners-Lee-nek, a Netscape társalapítójának, Marc Andreessen-nek, aki az első böngésző, a Mosaic társszerzője volt, a Sun társalapítójának, Bill Joy-nak és a Microsoft társalapítójának, Bill Gatesnek a hozzájárulásával is foglalkozik.
Az egyik érdekesség, hogy a JavaScript védjegynév, amelyet eredetileg a Sun Microsystems jegyeztetett be, ma is az Oracle irányítása alatt áll, amely 2009-ben felvásárolta a Sun-t, és így kapta meg a Java nevet.
A lehetséges védjegyjogi problémák azt is megmagyarázzák, hogy a JavaScript szabvány ECMAScript – amelyet a Microsoft által széles körben használt TypeScript támogat – miért nem tartalmazza a “JavaScript” kifejezést.
“A védjegyet eredetileg a Sun Microsystems jegyeztette be, és e cikk megjelenésének időpontjában a bejegyzés az Oracle Corporation tulajdonában van. A védjegyet a Sun licencelte a Netscape-nek, majd később a Mozilla Foundationnek” – írja a szerzőpáros.
“A Netscape és a Mozilla olyan neveket használt, mint a JavaScript 1.4, a nyelv implementációinak konkrét verzióinak leírására. A nyelv egyes megvalósítói más neveket használtak, hogy elkerüljék az esetleges védjegyjogi problémákat.
“A többféle elnevezés, a védjegyekkel kapcsolatos problémák és a Javával való összetévesztés miatt sok kortárs felhasználó, könyvszerző és eszközimplementátor egyszerűen JS-nek hívja a nyelvet, és a ‘js’ szót általában a JavaScript forráskód fájlkiterjesztéseként használják.”
A Javát James Gosling alkotta meg, szintén 1995-ben, miközben a Sun-nál dolgozott. Két évvel azután, hogy az Oracle felvásárolta a Sun-t, elkapta a Google az Oracle-lel folytatott jogi csatája során, amiért a keresőcég Java API-kat használt az Androidban.
Gosling csatlakozott Tim Brayhez, egy másik nagynevű korábbi Sun-mérnökhöz, aki hozzájárult a Java nyílt forráskódúvá tételéhez, és 2010-től a Google Android fejlesztőket támogató csapatát vezette.
A webért folytatott jövőbeli csatát és az első böngészőháborút jelző duó elmeséli, hogy közvetlenül azután, hogy a Netscape és a Sun 1995 decemberében bejelentette a JavaScriptet, a Microsoft közölte a világgal, hogy az Internet Explorer böngészőjéhez a Visual Basicet (VB) teszi szabványossá a VB Scriptet használó webes alkalmazások létrehozásához.
Amint a páros felidézi, a JavaScriptet eredetileg egy “Java side-kick szkriptnyelvként” képzelték el, ahol a Java appleteknek köszönhetően “minden kifinomult programozási feladatot Java segítségével lehetett volna elvégezni”.
“De ahogy nőtt a JavaScripttel kapcsolatos tapasztalat, a webfejlesztők kezdtek rájönni, hogy valójában csak JavaScriptre van szükségük” – írják.
A Netscape azonban a kezdet kezdetén a Java-t kritikusnak tekintette a web jövője és a Microsoft Internet Explorerrel és a saját fejlesztésű Visual Basic-zel vívott háborúja szempontjából.
Eich és Wirfs-Brock szerint “A Netscape gyűléseken Marc Andreessen által hangoztatott kiáltás így hangzott: ‘A Netscape plusz a Java megöli a Windowst'”. 1995 májusában, amikor a Sun bejelentette a Java-t, a Netscape felvázolta tervét, hogy a Java-t licenceli böngészőjéhez.
A JavaScript létrehozására vonatkozó döntés azonban nem volt mentes az ellenfelektől, még akkor sem, ha Andreessen és a Sun-os Bill Joy úgy gondolta, hogy az egyetlen járható út a Java kiegészítésére szolgáló “kis nyelv” megtervezése és megvalósítása.
“A Sunnál domináló, a Netscape-nél pedig többségben lévő kétkedők megkérdőjelezték egy egyszerűbb szkriptnyelv szükségességét: a Java nem volt alkalmas szkriptelésre; meg lehetett volna magyarázni, hogy miért jobb két nyelv, mint egy; és a Netscape rendelkezett-e a szükséges szakértelemmel egy új nyelv létrehozásához?”.
Sz: Programozási nyelvek: Developers reveal what they love and loathe, and what pay best
Egy másik válogatott idézet a tanulmányban kiemeli a Microsoft 2000-ben a saját és nyílt forráskódú szoftverekhez való gyökeresen eltérő hozzáállását egy “internetes szökőárhullám” összefüggésében, amelyet Gates előre látott, és amelyet akkoriban a Netscape uralt.
“A Microsoft az Internet Explorerrel megnyerte és végül több mint 90%-os piaci részesedést ért el. Folyamatosan kevés érdeke fűződött ahhoz, hogy továbbfejlessze a webes programozási platformot, amely felett nem volt tulajdonosi ellenőrzése” – írja a szerzőpáros.
“Belsőleg az erőforrásokat a nyílt böngészőtechnológiák, például az ECMAScript fejlesztéséről a Microsoft saját technológiáinak, például a Windows Presentation Frameworknek a fejlesztésére irányították át, amelyről azt remélték, hogy végül elavulttá teszi és kiszorítja a nyílt webes technológiákat.
“A .NET programozási nyelvei terén a C#-ra és a VisualBasic.NET-re összpontosított. Ebben a kontextusban a JScript.NET csak annyiban volt releváns, amennyiben lehetővé tette a JavaScript programozók számára a .NET platformra való áttérést.”