Słowa te brzmią tak podobnie, jakby jedna z tych rzeczy była osadzona w drugiej albo wręcz były tym samym. Rozwiążemy tę kwestię, ale nie poprzestaniemy na banalnym stwierdzeniu faktu. Czym są pojęcia z tytułu? Dlaczego mają tak podobne nazwy? Czy ktoś się na kimś wzorował – i co z tego wyszło? Ponieważ taka ciekawość to cecha pasjonatów, ten artykuł – jak mamy nadzieję – wyczerpie te pytania. Do rzeczy!
Odpowiedź na tytułowe pytanie brzmi:
NIE.
Dla programistów mylenie tych pojęć jest trochę jak mówienie “wziąść” dla polonisty. W Internecie krąży powiedzonko, obrazujące to ciut dosadniej: “Java is to JavaScript what car is to carpet”. W luźnym tłumaczeniu: “Java a JavaScript to jak kot i kotlet”.
Czym one są?
To jedne z najpopularniejszych, najczęściej wyszukiwanych w Internecie języków programowania. Oba od wielu lat utrzymują się w pierwszej dziesiątce (wg indeksu TIOBE).
Java należy do wszechstronnych technologii o wielu zastosowaniach, o czym świadczy ich slogan sprzed już niemal 10 lat: “3 billion devices run Java”. Jej charakterystyczną cechą jest działanie wewnątrz specjalnego środowiska uruchomieniowego, czyli maszyny wirtualnej (JVM – Java Virtual Machine). Właśnie dzięki temu język ten znalazł zastosowanie na różnorodnych urządzeniach. Z drugiej strony zwiększa to obciążenie systemu, na którym działa.
JavaScript można natomiast nazwać jednym z głównych języków Internetu. Jego popularność kiedyś już tłumaczyliśmy. Osadza się go wewnątrz witryn WWW. Dzięki niemu mogą one być dynamiczne i interaktywne. Działa (zazwyczaj) na komputerze użytkownika, czyli wewnątrz przeglądarki. Chrome, Firefox, Edge, Internet Explorer, Safari, Opera – wszystkie obsługują JavaScript, bez tego wcale nie liczyłyby się na rynku!
Java a JavaScript – skąd to podobieństwo nazw?
Mało który adept programowania zastanawia się nad taką kwestią, nawet jeśli stoi przed dylematem: “Java czy JavaScript?”. Tymczasem to nazwa “Java” jest oryginalna. O jej powstaniu wspominaliśmy w artykule o symbolach technologii IT. Zaś słowo “JavaScript” wymyślono jako chwyt marketingowy – a przynajmniej wielu tak uważa.
W pierwszej połowie lat 90. dynamicznie rozwijała się nowo powstała usługa internetowa, czyli WWW. Wielką popularność zyskała przeglądarka Netscape Navigator. Wczesne strony internetowe były całkowicie statyczne. To znaczy, że aby cokolwiek się zmieniło, należało ładować całą treść od nowa z serwera. W firmie Netscape pojawiła się zatem wizja wprowadzenia dynamicznych funkcjonalności i lepszych interakcji z użytkownikiem. To wymagało osadzenia w witrynach jakiegoś języka programowania. Postawiono na Javę, młody wówczas język, z którym wiązano spore nadzieje. Stąd pochodzą aplety Javy, czyli niewielkie aplikacje osadzane w stronach WWW – technologia obecnie już przestarzała. To jednak nie wszystko.
Potrzeba prostoty
Java była rozumiana jako język dla zawodowców, przeznaczony do większych projektów. Dawała ona duże możliwości developerom z odpowiednim doświadczeniem. Strony internetowe mogą zaś być rozbudowane lub maleńkie. Te mniejsze i statyczne mogą być tworzone za pomocą samego HTML-a, który nie wymagał wiele nauki do opanowania podstaw (CSS powstawał w latach 1994-96). Zatem nie tylko programiści mogli być autorami prostych stron WWW. Pojawiło się pytanie: jak umożliwić projektowanie dynamicznych witryn, ale nie utrudniać życia wszystkim chętnym?
Odpowiedzią było osadzenie w przeglądarce czegoś nowego. Chodziło o język skryptowy, prosty do nauki, przeznaczony raczej do niewielkich zadań – takiego towarzysza dla bardziej zaawansowanej Javy.
Dlatego w firmie Netscape stworzono język Mocha (po polsku mokka, rodzaj café latte). Źródłosłów był więc taki sam, jak w przypadku Javy (również od kawy, jawajskiej). Nazwę zmieniono na LiveScript, a wkrótce ponownie na JavaScript – to też nawiązuje jego “większego towarzysza”.
Najprawdopodobniej była to marketingowa zagrywka, aby łatwo kojarzono bardzo popularną Javę z tym nowym językiem. Składnia JavaScriptu była trochę na niej wzorowana, ale na tym podobieństwa się kończą. Różne są za to pod wieloma względami: sposób kompilacji, środowisko działania, typowanie, traktowanie obiektów, zastosowania tych języków. Różne były nawet okoliczności ich powstania.
Wywiad z naszym absolwentem, który został programistą!
Mylące podobieństwo
W Netscapie myślano, że nowa nazwa będzie przywodziła na myśl współpracę między Javą i JavaScriptem w ulepszaniu stron WWW. Nie przewidziano, jak częste będą błędne wyobrażenia w rodzaju: “JavaScript to pewnie skrypt, napisany w Javie albo coś podobnego”. W Internecie pełno jest różnorakich sprostowań i porównań, ale nie zapobiegnie to odruchowym ludzkim skojarzeniom. Gdyby ktoś pomyślał o celowym odróżnieniu, pewnie byłoby mniej nieporozumień. Tymczasem obydwu tych technologii, niestety, trzeba uczyć się osobno. Ale którą z nich wybrać – to sprawa do indywidualnej decyzji. Więcej można dowiedzieć się na naszej stronie, w dziale kursy zdalne. Zapraszamy!