fbpx

Java versus JavaScript – Ce alegere trebuie să faci și de ce?

Articol scris de instructorul nostru de HTML & CSS Fundamentals și fost cursant Telecom Academy, Radu Voin

În calitate de fost cursant al Telecom Academy, atât pe Java și JavaScript, cât și de instructor al academiei, am întâlnit numeroși alți cursanți care s-au înscris la cursul JavaScript crezând că vor urma un curs de Java, sau invers. Această confuzie este făcută frecvent de către clienții firmei unde lucrez în acest moment ca Front-End developer în React.js. Tocmai această confuzie mă face să scriu acest articol pentru a încerca să vă explic care este motivul pentru confuzia frecventă a acestor limbaje, care sunt avantajele și dezavantajele lor, care sunt utilizările acestora și care dintre ele este cel mai potrivit limbaj pentru tine.

Pentru a înțelege confuzia de nume, trebuie să ne întoarcem puțin în timp, până în anul 1995. La începutul anului, compania Sun Microsystems a scos un nou limbaj de programare, Java (numit după o insulă din Indonezia și cafeaua excelentă provenită de pe acea insulă și consumată de către creatorii limbajului), un limbaj ce a avut un succes imediat datorită conceptului WORA (write once, run anywhere) care permite aplicațiilor scrise în Java să fie rulate pe foarte multe tipuri de device-uri.

Tot în același an, Netscape, cel mai popular browser web la vremea aceea, a decis că dorește adăugarea unui limbaj de programare scriptic care să ruleze direct în browser. Au fost încercate 2 abordări: o colaborare cu Sun Microsystems pentru a integra Java în browser, sau un limbaj nou care sa îndeplinească acest rol. Abordarea din urmă a fost cea aleasă, iar ca strategie de marketing, limbajul de programare a fost numit JavaScript, pentru a profita de pe urma popularității noului limbaj Java.

Așadar, știm până acum despre JavaScript că este un limbaj de programare care rulează direct în browser, folosit în mare parte pentru a adăuga funcționalități în pagina noastră web. Popularitatea acestuia a dus la crearea Node.js, un mediu de rulare care execută JavaScript în afara browserului web, transformând JavaScript în singurul limbaj de programare care poate scrie o aplicație cap-coadă, atât Back-End, cât și Front-End.

Java, după cum am menționat mai sus, își are puterea în faptul că poate rula pe foarte multe platforme, codul putând fi rulat și implementat de către JVM (Java Virtual Machine), o mașină virtuală ușor de instalat pe foarte multe tipuri de device-uri (PC, Tabletă, Telefon mobil, Televizoare, etc.). Tocmai de aceea, Java este foarte folosit atât ca limbaj de Back-End pentru paginile web, aplicațiile bancare, dar și aplicațiile mobile, unde Java este de departe cel mai folosit limbaj de programare pentru aplicațiile mobile Android, unde există suport constant prin intermediul platformelor de dezvoltare, precum Android Studio.

Dacă aveți nelămuriri cu privire la termenii de backend și frontend, puteți să vizitați acest articol care tratează în detaliu acest subiect. Pe scurt, frontend este partea aplicației care rulează în browser și se ocupă de aspectul paginii/aplicației, pe când backendul este partea aplicației care rulează pe server, unde sunt gestionate datele importante (stocul produselor și prețul acestora de pe eMag) cât și logica de bază a aplicației, aceste date fiind ulterior expuse către frontend, și așadar, către utilizator.

Din punct de vedere didactic, pe parcursul facultăților pe care le-am urmat (Politehnica București și Universitatea București), Java este foarte utilizat în predare, deoarece sintaxa acestuia este robustă și este ușor de evidențiat și înțeles ce anume ai făcut în cod, odată ce ai căpătat noțiunile de bază. JavaScript este un limbaj mai permisiv din punct de vedere sintactic, ceea ce înseamnă că învățatul acestuia este mai ușor decât învățatul Java, dar și rezolvarea erorilor sintactice sau de logică este puțin mai dificilă. Îmi place să spun din acest punct de vedere că JavaScript este un limbaj mai ușor de învățat, iar Java este un limbaj în care programarea este mai ușor de învățat corect.

Cu toate acestea, sintaxa nu este cu mult diferită între Java și JavaScript, iar tranziția între aceste limbaje este ușor de făcut. Ce este foarte importantă este înțelegerea și fixarea noțiunilor de bază de programare, deoarece acestea sunt studiate și folosite atât în Java cât și în JavaScript (și în mai toate limbajele de programare moderne). Așadar, după învățarea corespunzătoare a oricărui din aceste limbaje, tranziția la celălalt este ușoară și nu necesită mult efort.

Fiecare din aceste limbaje primește suport open source din partea multor programatori, sau chiar și companii, în cazul Java care este dezvoltat și menținut de către compania Oracle. Ambele limbaje sunt actualizate cu versiuni care aduc noi îmbunătățiri și funcționalități care fac limbajul mai ușor de utilizat de către dezvoltatori.

Un avantaj principal al JavaScript față de Java pentru un cursant care face primii pași în programare este faptul că este mai ușor să observi rezultatul și „roadele muncii tale” în JavaScript decât în Java, deoarece JavaScript rulează direct în browser, și poți trimite prietenilor tăi un fișier care poate fi deschis ușor de către aceștia în browser😊.

Un avantaj principal al Java față de JavaScript este numărul puțin mai mare de joburi disponibile ca Java Junior Developer în România, și faptul că nu este atât de necesară învățarea unui framework Java, precum Spring, sau a unor tehnici de programare avansate pentru a obține primul job ca programator, însă, pentru JavaScript este mult mai important să ai cunoștințe despre unul din framework-urile principale, și anume React, Angular sau Vue, deoarece framework-urile introduc noțiuni complexe precum state, props, etc. specifice acestora și sunt adoptate de aproape toate companiile care dezvoltă aplicații web.

Așadar, care dintre limbaje trebuie tu să îl înveți? Personal, am început cu cursurile de Java ale academiei, și am făcut ulterior cursurile de JavaScript. De asemenea, am lucrat atât ca Java cât și ca JavaScript developer. Pot spune că alegerea poate fi făcută după două criterii: educaționale și funcționale.

Din punct de vedere educațional, dacă dorești să înveți un limbaj de programare mai ușor pentru începători, unde poți vizualiza rezultatul codului tău cu mai mare ușurință, alege JavaScript. Dacă dorești un limbaj care să te ajute să înveți programare corect și să poți face tranziția ușor în alt limbaj, dacă este cazul, alege Java.

Din punct de vedere funcțional, dacă dorești să devii mobile developer, să lucrezi partea de Back-End a aplicațiilor, alege Java. Dacă ai o înclinație către stilul paginilor web și dorești să gestionezi modul în care utilizatorul interacționează cu site-ul/aplicația ta, alege JavaScript.

Oricare ar fi alegerea pe care o faci, sugestia mea este să studiezi mai întâi unul dintre aceste limbaje și să înveți noțiunile de bază ale programării în limbajul ales, urmând abia ulterior să faci tranziția în celălalt limbaj, sau oricare alt limbaj de programare, dacă dorești acest lucru. Și, nu în ultimul rând, fă această alegere fără frică, deoarece orice ai alege, ești pe drumul cel bun pentru a deveni un programator de succes. Multă baftă și sper să ne vedem la cursuri, și de ce nu, sa lucrăm cândva împreună 😊

    Sponsori și parteneri