Aud tot mai mulți oameni că fac confuzie între Java și JavaScript și aș vrea să povestim despre asta puțin. Ei bine, șoc, află că nu au nicio legătură unul cu celălalt și sunt 2 limbaje total diferite.
Singurul lucru comun dintre ele, e probabil faptul că au apărut în anul 1995, la câteva luni diferență.
Acum hai să vedem câteva detalii despre ambele pentru a trasa o linie și a nu mai face niciodată confuzie.
Cum a apărut JavaScript
JavaScript e un limbaj de programare “high level” și multi paradigmă, care a apărut inițial ca limbaj de scripting in browser.
El a apărut ca o nevoie ale primelor pagini web de a avea și ceva dinamică și capabilități de interacțiune. Pentru că la apariția primelor browsere, în anii ’90, iar aici mă refer preponderent la Netscape, sau Netscape Navigator, paginile web erau doar statice, nu exista niciun fel de scripting.
Inițial, când Netscape a luat decizia ca va adăuga suport pentru un limbaj de scripting, limbajul respectiv a fost denumit LiveScript, dar ulterior, la lansarea oficială numele lui a fost schimbat în JavaScript. Motivul a fost unul simplu, limbajul apărut în același an, denumit Java, prinsese amploare iar Netscape a redenumit LiveScript în JavaScript ca o mișcare de marketing pentru a-l promova. Cu gândul că oamenii vor crede că e un limbaj derivat din Java și va fi adoptat mai rapid.
Competiția cu Microsoft
La momentul respectiv, Microsoft lansaseră și ei primulor lor browser pentru Windows, anume foarte cunoscutul Internet Explorer, care încă ne bântuie și azi chiar și prin cele mai recente versiuni de Windows și intră astfel în competiție directă cu Netscape.
Doar că nefiind niciun fel de standard, Microsoft a ales să-și dezvolte propriul limbaj de scripting pentru Internet Explorer, care se numea JScript. Iar asta a condus la o confuzie a celor ce încercau să creeze primele pagini web la acele vremuri, pentru că era greu să alegi tehnologia cu care să-ți creezi site-ul pentru a targeta o masă cât mai mare de oameni. Intrucât, odată dezvoltat pentru Netscape site-ul nu ar fi fost accesibil pe IE și viceversa.
Evoluția JavaScript
La începutul anilor 2000, dezvoltarea de site-uri și pagini web trece printr-o perioadă haotică, până în 2009, când toți jucătorii din industrie la momentul respectiv, cad de comun acord și pornesc într-o abordare comună, ceea ce avea să se numească ECMAScript5, adică toți vor suporta în browserele lor un limbaj comun, reglementat de standardul ECMA.
În zilele noastre, JavaScript este cel mai popular limbaj de programare, datorat și faptului că web-ul a luat amploare foarte mare în acești 20 de ani.
Din limbajul de scripting folosit doar în browsere, JS poate fi acum folosit și pentru a scrie aplicații server side, folosind Node.js.
Și nu doar atât, pentru că în jurul lui s-a format un întreg ecosistem de dezvoltare, cu enorm de multe framework-uri și librării existente, JavaScript a mușcat chiar și din industria aplicațiilor mobile, prin framework-uri ca React Native sau Ionic.
Merită să devii JavaScript developer în 2022?
Dacă vrei să devii JavaScript developer, cred că nu a existat un moment mai bun ca acum să faci asta. Pe lângă toate avantajele deja descrise anterior, există și o comunitate enormă de developeri cu care vei putea schimba idei atunci când ai o problemă sau chiar învăța lucruri noi.
Cum a apărut Java
Acum hai să povestim câte ceva și despre începuturile Java.
Primele idei despre limbajul Java au apărut prin anul 1991, iar înainte să se cheme astfel, a purtat numele de “Oak”, pentru că unul din fondatori, pe nume James Gosling avea lângă biroul lui un stejar, de-aici și decizia de denumi limbajul așa. Ulterior, a fost redenumit în “Green”, iar în cele din urmă a fost redenumit din nou în “Java”, după numele unui tip de cafea din Indonezia. De-aici provine și logo-ul pe care limbajul îl are în prezent, cu cana de cafea.
Design-ul lui a fost bazat la momentul respectiv pe C și C++, similar ca sintaxă, dar cu mai puține capabilități low level.
A fost lansat în cele din urmă în 1995-1996 de către Sun Microsystems și era un limbaj foarte modern pentru anii respectivi, care punea bazele unui concept denumit “Write once, run anywhere”.
Adică scrii codul doar o dată și îl poți rula oriunde.
Acest lucru era posibil prin faptul că execuția codului de Java se face într-o mașină virtuală, denumită Java Virtual Machine sau JVM. Atâta timp cât pe un sistem se poate instala environmentul de runtime, se poate executa și cod de Java. Pe scurt, execuția codului devine independentă de sistemul de operare.
În 2006 Sun Microsystems face codul free și open source, iar în 2009, compania este achiziționată de colosul Oracle, în ograda căruia se află și astăzi.
Mai este Java de actualitate?
Java este unul din cei mai importanți jucători când vine vorba de aplicații mari enterprise, chiar dacă în ultimii ani, a mai pierdut ceva teren din cauza ascendenței unor limbaje ca Python.
E folosit preponderent pe backend, sau aplicații server side, aplicații full stack, desktop, cât și mobile. Să nu uităm că aplicațiile Android au pornit cu Java ca ecosistem de dezvoltare și deși în prezent Google încearcă să împingă către Kotlin, limbajul lor proprietar, Kotlin e compilat tot la bytecode.
Încheiere
Acum că ți-am spus în paralel aceste 2 povești, sper că ai înțeles că la origini, cele 2 limbaje nu au nimic în comun.
Deși inițial JavaScript a pornit ca fiind un limbaj declarativ, iar Java ca imperativ, ambele au împrumutat concepte din paradigma celeilalte, iar acum ne-ar fi greu să spunem în care categorie se încadrează fiecare.
Dacă în 2021, sau de-acum 2022, vrei să înveți programare, poți merge cu oricare din ele și nu vei da greș, cel puțin în România vei avea suficient de multe job-uri din care să alegi dacă vrei să fii angajat pe partea asta.
Și ține minte de-acum, “Java” nu este o prescutare de la “JavaScript”, ci un total alt limbaj, cu total alte scopuri și evoluție.
Acum, în retrospectivă, îmi dau seamă că dacă acum încerci să înțelegi care-i treaba cu limbajele de programare, care e legătura dintre toate tool-urile astea necesare pentru a crea și a lansa un produs software, s-ar putea să nu înțelegi diferențele astea și să fii confuz.
Deasemenea dacă mai sunt lucruri de genul ăsta, despre care pare că toată lumea din industria software vorbește, dar tu nu înțelegi o iotă, lasă-mi mai jos la comentarii și o să încerc să concep o poveste bine documentată și să o expun pe înțelesul tău.