Fiind pe piață de peste 25 de ani și stând la baza a numeroase aplicații și afaceri de succes, Java se află în topul celor mai populare limbaje de programare.
Chiar și după atâția ani de la lansare, Java continuă să fie nu doar relevant, ci și influent. Cum a ajuns Java aici și cum de reușește să domine lumea software-ului modern?
În acest articol răspundem la această întrebare și vă spunem toate motivele care au dus la succesul acestui limbaj de programare și cum te poți bucura și tu de el, dacă înveți Java.
Un pic de istoric nu a făcut niciun rău nimănui, așa că îți spunem minimum pe care este nevoie să-l știi, dacă vrei să înveți limbajul Java.
Java este un limbaj de programare OOP sau orientat-obiect, dezvoltat de James Gosling la Sun Microsystems (acum filială Oracle), la începutul anilor ʼ90 și lansat în 1995.
Deci, înainte de a învăța Java, este util să știi ce înseamnă OOP pentru a înțelege cum funcționează și care este structura unui program de acest tip.
Limbajul împrumută o mare parte din sintaxa C și C++, dar are un model al obiectelor mai simplu.
Acum, într-o adaptare ceva mai simplă, fără termeni de specialitate, Java este un program în care poți produce aplicații. După ce un programator dezvoltă o aplicație Java, aceasta poate rula pe majoritatea sistemelor de operare (OS), incluzând Windows, Linux and Mac OS. Deci, încă de pe acum vedem că Java este un limbaj versatil, lucru care a contribuit în destul de mare măsură la succesul său.
Este important de menționat că Java poate fi folosit pentru a dezvolta aplicații complete care pot rula pe un singur computer sau care pot fi distribuite între servere și clienți într-o rețea. De asemenea, poate fi folosit pentru a programa mini aplicații sau applets care nu sunt independente, ci sunt parte a unei pagini web și facilitează interacțiunea utilizatorului cu interfața grafică (intrând în competiție cu alte produse de acest tip, precum Adobe Flash sau Microsoft Silverlight).
Programele Java se folosesc pe desktop-uri, servere, smartphone-uri, card-uri sau discuri Blu-ray (BD).
Fie că vorbim de numărul de utilizatori, de locurile de muncă disponibile sau de numărul de programatori, Java este mereu pe primele locuri. Această popularitate vine datorită următoarelor motive:
Interesat de Java? Înscrie-te la cursul de Java oferit de SDA și fă următorul pas în cariera ta!
Aplicațiile Java au fost folosite în diferite domenii, precum:
Propunem ca mai departe să descoperim împreună care din aceste domenii sunt mai căutate și unde este folosit limbajul de programare cel mai mult, deci, la ce vei folosi cel mai des acest limbaj, în contextul pieței actuale.
Când vei începe să înveți Java vei vedea foarte des aceste abrevieri: JDK, JRE și JVM. Acestea sunt cele trei componente Java.
Pe scurt, iată ce înseamnă fiecare:
Java Development Kit (pe scurt JDK) este un pachet care pune la dispoziție mediul necesar pentru a dezvolta și a rula programul Java și include două lucruri:
Notă: JDK este folosit doar de programatorii Java.
JRE – Java Runtime Environment este un pachet de instalare care asigură doar rularea (și nu dezvoltarea) programului Java.
Notă: JRE este folosit de cei care sunt interesați doar de rularea unui program Java (adică utilizatorii sistemului tău).
Java Virtual machine (JVM) este o parte foarte importantă atât a JDK cât și JRE pentru că este conținut de ambele. Orice program Java ai rula folosind JRE sau JDK, acesta se duce în JVM și JVM este responsabil pentru executarea programului Java linie cu linie.
Deci, aplicația rulează pe o aşa numită Maşină Virtuală Java. Acest lucru face posibil ca aplicaţiile Java să poată fi rulate pe diferite platforme (Sun, MacOS, Win32, Linus) fără a fi nevoie să se recompileze aceste aplicaţii pentru fiecare dintre acestea în parte. Astfel aplicaţiile Java sunt independente de platformă.
Pe lângă aceste componente, vei avea nevoie și de un IDE atunci când scrii cod Java, mai exact, un mediu de dezvoltare în care tu poți să dezvolți programul. Acest IDE va compila codul tău și-l va rula. Ce trebuie să faci mai întâi este să alegi IDE-ul (cele mai populare variante sunt Eclipse și NetBeans) și apoi să-l instalezi. Pentru că Eclipse are funcție de autocompletare, vei observa că salvează mult timp și, mai mult decât atât, nu este neapărat nevoie să știi perfect sintaxa liniei de cod, pentru că o va ști el pentru tine.
Aici, este mult dezbătută teoria dacă un începător ar trebui să folosească IDE-ul sau nu atunci când învață Java – dacă este indicat să își scurteze drumul către rezultat cu acest IDE sau dacă ar trebui mai întâi să învețe sintaxa metodic și să scrie cod fără acest mediu de dezvoltare. Probabil că, până la urmă, depinde de stilul de învățare și preferința fiecăruia.
Odată cu apariția programelor Java a apărut și o nouă abreviere în slang-ul dezvoltatorilor de aplicații – WORA: programe care sunt scrise o singură dată și apoi, datorită versatilității lor, pot rula oriunde, în orice sistem.
Termenul a fost folosit prima oară de Sun Microsystems, cu referire la Java, bineînțeles. Cum de Java poate să fie WORA? Tocmai datorită JVM-ului despre care povesteam mai sus (Mașina Virtuală Java), care face codul Java lizibil de orice platformă pe care rulează.
Nu este întâmplător faptul că de ceva ani buni limbajul de programare Java este în topul limbajelor de programare, la nivel de popularitate (cele mai multe referiri pe motoarele de căutare dintre toate limbajele de programare, cei mai mulți specialiști angajați la nivel global, cei mai mulți cursanți interesați de această specializare etc.)
Locul este bine meritat pentru că Java are aplicații în numeroase direcții utile și de uz de masă. Tocmai de aceea, majoritatea companiilor de IT cer de la viitorii angajați să cunoască foarte bine Java. Cererea de programatori Java este tot mai mare deoarece acest limbaj este ideal pentru dezvoltarea de aplicații.
Când vine vorba de domeniile de aplicare pentru Java, cerul este limita.
Da, Android este dezvoltat în Java. Iar aplicațiile de pe telefonul tău cu sistem de operare Android sunt dezvoltate în Java. Fie că vorbim de Angry Birds, Candy Crush pentru distracție sau SeeWeather. Mai mult decât atât, tot ceea ce găsim în Google Play Store în acest moment este dezvoltat în Java. Deci, dacă înveți limbajul de programare și ai o idee de aplicație nemaipomenită, poți începe lucrul la ea și o poți urca oricând în Google Play Store. Deci, ai o idee de aplicație de Android? Învață Java.
Dacă vrei să lansezi cu succes un site care așteaptă milioane de click-uri zilnic, dezvoltă-l cu Java. Cine folosește Java? Multe-multe branduri si platforme online cunoscute, printre care AirBnB, Netflix sau Uber.
Java îți permite să dezvolți programe care au aceeași interfață, indiferent de sistemul de operare. Acest lucru se întâmplă cu ajutorul Java Swing sau JavaFX. Sau poate ești interesat de Server Side și dorești să dezvolți aplicații mari, corporate, alături de Oracle și IBM.
Bineînțeles, Java nu este singura modalitate de a scrie cod, dar, datorită îmbunătățirilor sale, a devenit cel mai recomandat și agreat, mai ales pentru că este și ușor de învățat.
Dacă încă nu ești convins că Java este limbajul de programare pe care să-l înveți, îți aducem câteva argumente pur obiective în plus.
Am acoperit deja aria largă de domenii în care Java este folosit: de la aplicații Android, la dezvoltare de backend website, gestionare de baze de date și, mai nou, și IoT (Internet of Things). Viitorul va însemna și Java, cu siguranță.
Așa cum mitul o spune, să înveți Java este ca și cum ai învăța o limbă străină, pentru care ai nevoie, înainte de toate, de răbdare și voință. Apoi, de reținut este că Java a fost creat ca alternativă a complicatului C++, tocmai pentru a ușura munca programatorilor.
Mai mult, un plus este mediul de dezvoltare / IDE-ul despre care am menționat mai sus – acesta este extrem de developer-friendly: te avertizează atunci când sunt existente erori, îți sugerează cum să le corectezi, oferind numeroase explicații, ideală dacă ești începător în Java.
Cum spuneam la început, Java este anul acesta la cea de-a 25-a aniversare, așa că ne putem imagina că au fost deja adresate o sumedenie de întrebări, neclarități, dileme, au fost discutate și disecate majoritatea erorilor. Asta înseamnă că, în acest moment, cu siguranță poți găsi răspunsuri și soluții demult validate și verificate online.
Iar acesta este un mare ajutor în special pentru cei care aleg fie să înveţe Java singuri sau merg pe un curs Java online, la care nu au foarte multă asistență și îndrumare.
Indiferent de misiunea pe care o ai ca programator, Java vine la pachet cu multiple unelte care să asigure că produsul software pe care îl vei dezvolta va fi impecabil. Fie că vorbim de editori ca Eclipse, web framework-uri ca Spring MVC, web servere ca Tomcat sau framework-uri de testing ca Mockito, aceste tool-uri pe care le poți folosi atunci când lucrezi în Java își ușurează task-ul și perfecționează produsul.
Așa cum am mai spus, cu Java ai acces la o mulțime de job-uri de pe piața actuală de angajare în IT. Mai mult, îți poate crește șansele să promovezi la locul de muncă actual și să lucrezi pentru multinaționale celebre și profesioniste.
Limbajul Java este un adevărat evergreen, cum spun englezii. Sau un produs care nu se va demoda niciodată, un clasic în viață, un limbaj de viitor.
A jucat un rol major în explozia Internetului, apoi la apariția smartphone-ului, apoi în dezvoltarea cloud computing-ului și își câștigă acum locul și în industria IoT. Este folosit de giganți ca Amazon, LinkedIn, Twitter sau Netflix.
Totuși, istoria Java nu a fost fără peripeții. Mulți dintre cunoscători își amintesc perioadele de stagnare după schimbarea management-ului sau alertele de securitate din US, 2010 sau litigiul lung cu Google. Cu toate acestea, Java încă e fruntaș în ranking-ul de popularitate TIOBE și este estimat că rulează pe cel puțin 15 miliarde de dispozitive global, are aproximativ 10 milioane de practicanți/programatori și aproximativ 5 milioane de învățăcei/cursanți în acest moment.
Are un rol stabil în educația programatorilor, inclusiv, aici, la noi, la SDA, unde inveți să lucrezi inclusiv cu Java. Practic, noi predăm și practicăm programarea orientată-obiect prin acest limbaj de programare, dar și prin altele.
Iar lucrurile vor rămâne așa pentru o lungă perioadă și vă vom argumenta de ce va fi util și peste 10 ani să cunoști Java:
Probabil că ai intuit că ne referim la WORA aici – Write once, run anywhere. Java este un limbaj de programare cu scop general, independent de platformă și de sistemul de operare pe care rulează. Chiar și atunci când scrii codul. Asta înseamnă că un program scris în Java poate funcționa și peste 15-20 de ani, pentru că este ușor să treci de la o versiune la alta, de la un update la altul și nu este nevoie să migrezi codul la un nou limbaj. Deci, portabilitatea și compatibilitatea vor contribui la longevitatea Java.
Nu este neobișnuit ca la un proiect mai mare de programare să se lucreze în paralel, de mai mulți membri ai echipei. Marele avantaj la Java este că, exact ca și Python, este modular. Deci, mai multe părticele de proiect pot fi puse laolaltă, chiar dacă au fost lucrate separat, individual, și totul va merge perfect, datorită verificării tip static. Mai mult, proiectele de programare Java pot fi preluate de un alt programator, mai târziu, fie că a fost parte din echipă de la bun început sau nu.
Java nu este doar un limbaj de programare, ci așa cum am văzut în capitolele anterioare, o întreagă infrastructură la baza căreia programele pot rula. Fie că vorbim de JVM (Mașina Virtuală Java) sau instrumentele adiționale (Eclipse, Mockito etc.). Și să nu uităm de versiunile JVM ale limbajelor deja existente:JRuby pentru Ruby , Jython pentru Python , și ABCL de la Common Lisp.
Marile companii programează cu Java: în acest moment, mai mult de 95% de calculatoare corporate rulează în acest program. Nu este suprinzător, având în vedere că Java a fost creat mai ales pentru acest mediu de lucru. Asta înseamnă o cerere imensă de programatori care să știe Java și o mulțime de începători în programare care vor să învețe Java. Aici, la SDA, am observat acest lucru mai ales pe piața din Ungaria, unde școala noastră de programare a pregătit, majoritar, programatori de Java, începând fie ca juniori în backend, fie ca programatori full-stack, la una din companiile noastre partenere.
A fost la un moment dat o perioadă în care Java lansa versiuni noi o dată la 2 sau 3 ani, într-un ritm oarecum confortabil. Dar, din septembrie 2017, au încetat această practică: Mark Reinhold, inginerul-șef Java de la Oracle, a promis update-uri bianuale și se pare că se ține de cuvânt. Marele pas înainte a fost apariția interfeței funcționale în Java 8, din 2014, care a permis importul interfețelor noi, precum Stream. Și odată cu el a sosit și mult așteptatul Lambda, care a simplificat structura programelor, eficientizând procesul tastării. Iar Java 10 ne-a scutit și mai mult de la tastat. Iar acum am ajuns la versiunea Java 12, din martie 2019.
Deja cred că te-ai convins că Java este un limbaj de programare bun cu care poți începe incursiunea în „tainele programării”, fiind ok pentru începători și că, mai mult decât atât, este o investiție în cunoaștere pe termen lung.
Care sunt opțiunile atunci când vrei să înveți Java și de unde să începi?
App-uri mobile, soft-uri de tip enterprise, servere – trei dintre multele lucruri pe care le poți face cu Java
Te interesează un post de back-end developer? Sau pur și simplu ești curios să afli dacă Java este genul de limbaj care te poate ajuta ca angajat într-un domeniu non-IT? Din punctul nostru de vedere, răspunsul la ultima întrebare este un răsunător “Da!”. Dar hai totuși să vorbim mai pe larg – programează un call gratuit cu un consultant SDA Academy și află ce este Java, la ce este folosit, și cum te poate ajuta pe tine, personal, în carieră.
Bineînțeles, la o căutare Google, vei vedea că sunt o groază de cursuri online, însă misiunea ceva mai dificilă va fi să le găsești pe cele bune.
Majoritatea cursurilor de Java online mai bune sunt în engleză, deci, pentru unii limbajul tehnic va fi o provocare și mai mare. În plus, nu vei avea suport atunci când vei întâmpina probleme sau când vei dori să verifici vreo informație.
Desigur, există un instructor, dar accesul la acesta va fi condiționat destul de mult și stim cât de mult contează interacțiunea față-în-față și feedback-ul pe loc în procesul de învățare. Mai mult, va fi nevoie de destul de multă autoorganizare și mult spirit de autodisciplină pentru a putea duce misiunea la capăt.
Deci, cursurile online sunt o variantă cu care, probabil, poți doar să începi – ground zero sau inițierea în Java.
Mulți oameni preferă flexibilitatea atunci când învață și nu vor să urmeze o abordare structurată în timp. În schimb, le place să învețe în ritmul lor, la ce ore doresc și în ce loc doresc, cu zero cheltuieli, cu mult studiu și documentare independente, pe internet.
Video-tutorialele disponibile pe YouTube sau alte platforme de video-sharing sunt ideale dacă acesta este stilul tău de învățare. Și acest lucru se aplică și atunci când vrei să înveți Java. Trebuie doar să te asiguri că alegi o sursă credibilă, adică tutoriale care au primit deja un feedback pozitiv din partea celor interesați. Însă, la fel ca în cazul cursurillor online, tutorialelele sunt doar pentru faza de inițiere și poate ceva mai mult joc și învățare prin practică. Însă, cu cât avansezi mai mult în cunoașterea limbajului, cu atât te vei confrunta mai mult cu situații sau erori pe care nu le vei putea rezolva singur.
Învățatul pe cont propriu te disciplinează și responsabilizează într-un mod în care îți va fi foarte util în plan profesional și e o modalitate de învățare pe care noi, aici, la SDA, o încurajăm.
Însă, din experiențele noastre de code teaching de până acum, am aflat că nu este suficient și la fel de eficient ca lucrul alături de un mentor în programare. Cineva care să te ghideze, să îți ofere exact sursa de informație de care ai nevoie.
Bineînțeles, poți învăța principiile teoretice ale limbajului Java singur și poți face primii pași în practică folosind video-tutorialele, însă când ajungi să pui lucrurile în practică și să rezolvi probleme de programare, mentoratul face o mare diferență.
Atunci când lucrezi singur, poți petrece ore, chiar zile, încercând să rezolvi o problemă care ți-ar fi putut fi explicată în 10 minute. În tentativa de a rezolva totul pe cont propriu, poți cădea în capcana de a pierde foarte mult timp.
Când vine vorba de programarea în Java, internetul este o sursă de informație fără fund și tocmai din acest motiv nu strică să faci parte dintr-o comunitate care stăpânește deja această masă imensă de informație și care poate să-ți spună de unde să te informezi și ce este cu adevărat relevant pentru piață. Tocmai din aceste motive răspunsul este – da, un program de training salvează destul de mult timp când înveți Java.
Ce am observat aici, la SDA, este că timpul mediu pentru a învăța limbaje de programare ca Java, PHP, .NET etc., este nevoie de minim 5 luni de formare intensivă. Desigur, această perioadă se poate prelungi la un an, dacă tu, studentul, vei simți nevoia.
Important este să ne asigurăm de înțelegerea fiecărui modul parcurs, înainte de a trece la următorul.
Deci, dacă vrei să înveți Java și să te ții de treabă, da, poți începe cu studiu individual, dar pentru eficiență și profesionalism, este recomandat să îți alegi o școală alternativă care să ofere cursuri de Java, unde să te înconjori de oameni pasionați, cu experiență în acest limbaj de programare.
Salariul unui Java Developer în România este de 12.500 RON pe lună (net).
Studiind mai atent cifrele salariale, putem trage următoarele concluzii:
Nevoia de specialişti Java este încă în plină ascensiune iar acest lucru va continua şi în anii care urmează, cu următoarele specializări cerute de companii:
De-a lungul timpului, cei de la Oracle i-au intervievat pe cei mai cunoscuți programatori de Java, le-au cerut sfaturi pentru studenți sau începători și au centralizat răspunsurile aici, dintre care le-am selectat pe cele care ni s-au părut relevante:
Scrie mult cod și distrează-te cu el! Colaborează cu oameni care au mai multă experiență decât tine și învață de la ei. Recenziile de cod sunt o modalitate bună de a învăța. Nu fi rușinat când ceilalți găsesc erori în programul tău, repară-le și distrează-te pe tot parcursul procesului de evoluție. A, da, cumpără un exemplar din cartea „Effective Java”.
Joshua Bloch – Chief Java architect la Google, de altfel autorul cărții Effective Java
Trei lucruri:
Tor Norbye – inginer principal la Sun Microsystems și co-gazdă a podcast-ului săptămânal Java Posse.
Începe simplu. Învață bazele limbajului și, chiar înainte de asta, fă modificări simple în programe existente și vezi ce se întâmplă. Explorează minunata lume a resurselor online. Scrie cel mai avansat program la care te poți gândi astfel încât să-ți depășești limitele și, dacă poți, și pe cele ale platformei Java.
Pe măsură ce avansezi, selectează un IDE cu care poți lucra bine, cum ar fi NetBeans.
Și nu uita că venituri de miliarde de dolari au fost generate de milioane de oameni care au fost angajați pentru că cineva de la Sun Microsystems a inventat Java și pentru că un grup de ingineri dedicați au produs în continuu inovații în jurul acestui program. Așa că hai, contribuie și tu la asta.
Masood Mortazavi, inginer de software și manager la Sun
După atât elan motivațional, propunem să finalizăm incursiunea în lumea Java într-o notă lejeră și amuzantă. Așa că avem mai jos câteva fun facts despre Java:
Înscrie-te la cursul de Java din cadrul SDA și învață Java de la mentori experimentați, în cadrul unui program complet și versatil!
Descarcă tematica de curs Java
Cele două școli și-au unit forțele! Împreună, oferim:
Înscrie-te acum în programul SDAcademy x Codecool și primește coaching personalizat pentru cariera ta în IT!