{"id":12664,"date":"2023-01-30T09:58:48","date_gmt":"2023-01-30T08:58:48","guid":{"rendered":"https:\/\/annaf34.sg-host.com\/?p=12664"},"modified":"2023-01-30T12:59:25","modified_gmt":"2023-01-30T11:59:25","slug":"ghid-java-incepatori","status":"publish","type":"post","link":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/","title":{"rendered":"Ghidul \u00eencep\u0103torilor \u00een Java: Ce este \u0219i de ce s\u0103 \u00eenve\u021bi acest limbaj de programare"},"content":{"rendered":"<p>Fiind pe pia\u021b\u0103 de peste 25 de ani \u0219i st\u00e2nd la baza a numeroase aplica\u021bii \u0219i afaceri de succes, Java se afl\u0103 \u00een <strong><a href=\"https:\/\/codecool.com\/ro\/blog\/top-limbaje-programare\/\">topul celor mai populare limbaje de programare.<\/a><\/strong><\/p>\n<p>Chiar \u0219i dup\u0103 at\u00e2\u021bia ani de la lansare, Java continu\u0103 s\u0103 fie nu doar relevant, ci \u0219i influent. Cum a ajuns Java aici \u0219i cum de reu\u0219e\u0219te s\u0103 domine lumea software-ului modern?<\/p>\n<p>\u00cen acest articol r\u0103spundem la aceast\u0103 \u00eentrebare \u0219i v\u0103 spunem toate motivele care au dus la succesul acestui limbaj de programare \u0219i cum te po\u021bi bucura \u0219i tu de el, dac\u0103 \u00eenve\u021bi Java.<\/p>\n<h2>Ce este Java?<\/h2>\n<h4>\u201eBasics\u201d pe care trebuie s\u0103 le \u0219tii despre Java, dac\u0103 e\u0219ti \u00eencep\u0103tor<\/h4>\n<p>Un pic de istoric nu a f\u0103cut niciun r\u0103u nim\u0103nui, a\u0219a c\u0103 \u00ee\u021bi spunem minimum pe care este nevoie s\u0103-l \u0219tii, dac\u0103 vrei s\u0103 \u00eenve\u021bi limbajul Java.<\/p>\n<p><strong>Java<\/strong>\u00a0este un<strong>\u00a0limbaj de programare OOP sau orientat-obiect<\/strong>, dezvoltat de James Gosling la Sun Microsystems (acum filial\u0103 Oracle), la \u00eenceputul anilor \u02bc90 \u0219i lansat \u00een 1995.<\/p>\n<p>Deci, \u00eenainte de a \u00eenv\u0103\u021ba Java, este util s\u0103 \u0219tii ce \u00eenseamn\u0103\u00a0<a href=\"https:\/\/ro.wikipedia.org\/wiki\/Programare_orientat%C4%83_pe_obiecte\">OOP<\/a>\u00a0pentru a \u00een\u021belege cum func\u021bioneaz\u0103 \u0219i care este structura unui program de acest tip.<\/p>\n<p>Limbajul \u00eemprumut\u0103 o mare parte din sintaxa\u00a0<a href=\"https:\/\/ro.wikipedia.org\/wiki\/C\">C<\/a>\u00a0\u0219i C++, dar are un model al obiectelor mai simplu.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1-300x168.png 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1-768x430.png 768w\" alt=\"\" width=\"800\" height=\"448\" \/><\/p>\n<p>Acum, \u00eentr-o adaptare ceva mai simpl\u0103, f\u0103r\u0103 termeni de specialitate,\u00a0<strong>Java este un program \u00een care po\u021bi produce aplica\u021bii<\/strong>. Dup\u0103 ce un programator dezvolt\u0103 o aplica\u021bie Java, aceasta\u00a0<strong>poate rula pe majoritatea sistemelor de operare (OS), incluz\u00e2nd Windows, Linux and Mac OS<\/strong>. Deci, \u00eenc\u0103 de pe acum vedem c\u0103 Java este un limbaj versatil, lucru care a contribuit \u00een destul de mare m\u0103sur\u0103 la succesul s\u0103u.<\/p>\n<p>Este important de men\u021bionat c\u0103 Java poate fi folosit pentru a dezvolta\u00a0<strong>aplica\u021bii complete<\/strong>\u00a0care pot rula pe un singur computer sau care pot fi distribuite \u00eentre servere \u0219i clien\u021bi \u00eentr-o re\u021bea. De asemenea, poate fi folosit pentru a programa\u00a0<strong>miniaplica\u021bii sau\u00a0<em>applets<\/em><\/strong>\u00a0care nu sunt independente, ci sunt\u00a0<strong>parte a unei pagini web<\/strong>\u00a0\u0219i faciliteaz\u0103 interac\u021biunea utilizatorului cu interfa\u021ba grafic\u0103 (intr\u00e2nd \u00een competi\u021bie cu alte produse de acest tip, precum Adobe Flash sau Microsoft Silverlight).<\/p>\n<p>Programele Java se folosesc pe desktop-uri, servere, smartphone-uri, card-uri sau discuri Blu-ray (BD).<\/p>\n<h2>De ce este limbajul Java at\u00e2t de popular?<\/h2>\n<p>Fie c\u0103 vorbim de num\u0103rul de utilizatori, de locurile de munc\u0103 disponibile sau de num\u0103rul de programatori, Java este mereu pe primele locuri. Aceast\u0103 popularitate vine datorit\u0103 urm\u0103toarelor motive:<\/p>\n<ul>\n<li><strong>Portabilitate<\/strong>: datorit\u0103 platformei JVM (despre care vom povesti pu\u021bin mai jos), Java poate rula pe aproape orice tip de sistem. Java este, de asemenea, cel mai popular limbaj de Android, astfel c\u0103 majoritatea aplica\u021biilor Android este construit\u0103 \u00een Java.<\/li>\n<li><strong>Versatilitate<\/strong>: este disponibil pe majoritatea dispozitivelor &#8211; computere, smartphone-uri, console,\u00a0 centre de date etc.<\/li>\n<li><strong>Scalabilitate<\/strong>: James Governor, unul din fondatorii RedMonk, obi\u0219nuia s\u0103 spun\u0103: \u201eC\u00e2nd companiile web cresc, devin shop-uri Java.\u201d Java a fost construit astfel \u00eenc\u00e2t extinderea s\u0103 fie f\u0103cut\u0103 cu u\u0219urin\u021b\u0103, de aceea este at\u00e2t de r\u0103sp\u00e2ndit \u00een r\u00e2ndul companiilor \u0219i start-up-urilor scalabile. Spre exemplu, Twitter s-a mutat de la Ruby la Java din motive de scalare.<\/li>\n<li><strong>Error-freedom<\/strong>: este creat astfel \u00eenc\u00e2t s\u0103 elimine cele mai multe erori de programare \u2013 bug-uri.<\/li>\n<li><strong>Comunitate mare<\/strong>: mul\u021bi sunt cei care utilizeaz\u0103 \u0219i dezvolt\u0103 programe \u00een Java, a\u0219a c\u0103 asta duce la o comunitate mare de utilizatori \u0219i programatori gata s\u0103 sar\u0103 \u00een ajutor oric\u00e2nd te confrun\u021bi cu o problem\u0103.<\/li>\n<li><strong>Siguran\u021b\u0103<\/strong>: este un limbaj foarte sigur, iar programele care ruleaz\u0103 pe internet nu prezint\u0103 riscul de a fi infectate.<\/li>\n<li><strong>Compatibilitate<\/strong>: care garanteaz\u0103 c\u0103 aplica\u0163iile vechi vor continua s\u0103 func\u0163ioneze \u015fi pe noile dispozitive.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/codecool.com\/ro\/cursuri\/\"><strong>\u00censcrie-te la cursul nostru Full-Stack Developer \u0219i \u00eenva\u021b\u0103 cele mai c\u0103utate limbaje de programare, inclusiv Java!<\/strong><\/a><\/p>\n<h2>\u00cen ce domenii este folosit Java?<\/h2>\n<p>Aplica\u021biile Java au fost folosite \u00een diferite domenii, precum:<\/p>\n<ul>\n<li>Banking: pentru gestionarea tranzac\u021biilor<\/li>\n<li>Retail: multe din aplica\u021biile de facturare\/bonuri din restaurante sau magazine sunt scrise \u00een Java<\/li>\n<li>Mobile &#8211; Android: applica\u021biile sunt scrise \u00een Java sau folosesc\u00a0 API Java.<\/li>\n<li>PC &#8211; desktop: Java este folosit pentru dezvoltarea multor aplica\u021bii populare de desktop, precum Gmail sau VLC Media Player<\/li>\n<li>Servicii financiare: este folosit \u00een aplica\u021bii server-side<\/li>\n<li>Bursa de valori: pentru a scrie algoritmi &#8211; \u00een ceea ce prive\u0219te companiile \u00een care ar fi bine s\u0103 se investeasc\u0103<\/li>\n<li>Server Side: multe din aplica\u021biile corporate pentru business-uri foarte mari sunt scrise \u00een Java (Oracle \u0219i IBM folosesc foarte mult Java \u00een aplica\u021biile pe care le dezvolt\u0103)<\/li>\n<li>Scientific and Research Community: pentru a gestiona baze de date foarte mari<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-870903-1024x683-1.jpeg\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-870903-1024x683-1.jpeg 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-870903-1024x683-1-300x200.jpeg 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-870903-1024x683-1-768x512.jpeg 768w\" alt=\"\" width=\"800\" height=\"534\" \/><\/p>\n<p>Propunem ca mai departe s\u0103 descoperim \u00eempreun\u0103 care din aceste domenii sunt mai c\u0103utate \u0219i unde este folosit limbajul de programare cel mai mult, deci, la ce vei folosi cel mai des acest limbaj, \u00een contextul pie\u021bei actuale.<\/p>\n<h2>Care sunt componentele Java?<\/h2>\n<p>C\u00e2nd vei \u00eencepe s\u0103 \u00eenve\u021bi Java vei vedea foarte des aceste abrevieri: <b>JDK, JRE \u0219i JVM<\/b>.\u00a0Acestea sunt cele trei componente Java.<\/p>\n<p>Pe scurt, iat\u0103 ce \u00eenseamn\u0103 fiecare:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/jvm.jpg\" sizes=\"(max-width: 408px) 100vw, 408px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/jvm.jpg 408w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/jvm-293x300.jpg 293w\" alt=\"\" width=\"408\" height=\"418\" \/><\/p>\n<ul>\n<li><b>JDK<\/b> \u2013 <b>Java Development Kit<\/b> (pe scurt JDK) este un pachet care pune la dispozi\u021bie mediul necesar pentru a <b>dezvolta \u0219i a rula<\/b> programul Java \u0219i include dou\u0103 lucruri:<\/li>\n<\/ul>\n<ol>\n<li>Development Tools (pentru a dezvolta programul Java)<\/li>\n<li>JRE (pentru a rula programul Java)<\/li>\n<\/ol>\n<p>Not\u0103: JDK este folosit doar de programatorii Java.<\/p>\n<ul>\n<li><b>JRE<\/b> \u2013 <b>Java Runtime Environment<\/b> (JRE) este un pachet de instalare care asigur\u0103 <b>doar rularea<\/b> <b>(\u0219i nu dezvoltarea)<\/b> programului Java.<\/li>\n<\/ul>\n<p>Not\u0103: J<b>RE este folosit de cei care sunt interesa\u021bi doar de rularea unui program Java (adic\u0103 utilizatorii sistemului t\u0103u).<\/b><\/p>\n<ul>\n<li><b>JVM<\/b> \u2013 <b>Java Virtual machine <\/b>(JVM)este o parte foarte important\u0103 at\u00e2t a JDK c\u00e2t \u0219i JRE pentru c\u0103 este con\u021binut de ambele. Orice program Java ai rula folosind JRE sau JDK, acesta se duce \u00een JVM \u0219i JVM este responsabil pentru <b>executarea programului Java linie cu linie.\u00a0<\/b><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_jvm-e1568214878140.jpg\" sizes=\"(max-width: 650px) 100vw, 650px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_jvm-e1568214878140.jpg 650w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_jvm-e1568214878140-300x200.jpg 300w\" alt=\"\" width=\"650\" height=\"434\" \/><\/p>\n<p>Deci, aplica\u021bia ruleaz\u0103 pe o a\u015fa numit\u0103 <i>Ma\u015fin\u0103 Virtual\u0103 Java<\/i>. Acest lucru face posibil ca aplica\u0163iile Java s\u0103 poat\u0103 fi rulate pe diferite platforme (Sun, MacOS, Win32, Linus) f\u0103r\u0103 a fi nevoie s\u0103 se recompileze aceste aplica\u0163ii pentru fiecare dintre acestea \u00een parte. Astfel aplica\u0163iile Java sunt independente de platform\u0103.<\/p>\n<h2>IDE-ul \u0219i Java<\/h2>\n<p>Pe l\u00e2ng\u0103 aceste componente, vei avea nevoie \u0219i de un<a href=\"https:\/\/en.wikipedia.org\/wiki\/Integrated_development_environment\"> IDE<\/a> atunci c\u00e2nd scrii cod Java, mai exact, un mediu de dezvoltare \u00een care tu po\u021bi s\u0103 dezvol\u021bi programul. Acest IDE va compila codul t\u0103u \u0219i-l va rula. Ce trebuie s\u0103 faci mai \u00eent\u00e2i este s\u0103 alegi IDE-ul (cele mai populare variante sunt <a href=\"https:\/\/www.eclipse.org\/downloads\/\">Eclipse<\/a> \u0219i <a href=\"https:\/\/netbeans.org\/downloads\/8.1\/\">NetBeans<\/a>) \u0219i apoi s\u0103-l instalezi. Pentru c\u0103 Eclipse are func\u021bie de autocompletare, vei observa c\u0103 salveaz\u0103 mult timp \u0219i, mai mult dec\u00e2t at\u00e2t, nu este neap\u0103rat nevoie s\u0103 \u0219tii perfect sintaxa liniei de cod, pentru c\u0103 o va \u0219ti el pentru tine.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/eclipse-oxygen.png\" sizes=\"(max-width: 435px) 100vw, 435px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/eclipse-oxygen.png 435w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/eclipse-oxygen-300x166.png 300w\" alt=\"\" width=\"435\" height=\"241\" \/><\/p>\n<p>Aici, este mult dezb\u0103tut\u0103 teoria dac\u0103 un \u00eencep\u0103tor ar trebui s\u0103 foloseasc\u0103 IDE-ul sau nu atunci c\u00e2nd \u00eenva\u021b\u0103 Java &#8211; dac\u0103 este indicat s\u0103 \u00ee\u0219i scurteze drumul c\u0103tre rezultat cu acest IDE sau dac\u0103 ar trebui mai \u00eent\u00e2i s\u0103 \u00eenve\u021be sintaxa metodic \u0219i s\u0103 scrie cod f\u0103r\u0103 acest mediu de dezvoltare. Probabil c\u0103, p\u00e2n\u0103 la urm\u0103, depinde de stilul de \u00eenv\u0103\u021bare \u0219i preferin\u021ba fiec\u0103ruia.<\/p>\n<h2>WORA &#8211; Write Once, Run Anywhere<\/h2>\n<p>Odat\u0103 cu apari\u021bia programelor Java a ap\u0103rut \u0219i o nou\u0103 abreviere \u00een <i>slang-<\/i>ul dezvoltatorilor de aplica\u021bii &#8211; WORA: programe care sunt scrise o singur\u0103 dat\u0103 \u0219i apoi, datorit\u0103 versatilit\u0103\u021bii lor, pot rula oriunde, \u00een orice sistem.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/1539808_wora.png\" sizes=\"(max-width: 500px) 100vw, 500px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/1539808_wora.png 500w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/1539808_wora-300x162.png 300w\" alt=\"\" width=\"500\" height=\"270\" \/><\/p>\n<p>Termenul a fost folosit prima oar\u0103 de Sun Microsystems, cu referire la Java, bine\u00een\u021beles. Cum de Java poate s\u0103 fie WORA? Tocmai datorit\u0103 JVM-ului despre care povesteam mai sus (Ma\u0219ina Virtual\u0103 Java), care face codul Java lizibil de orice platform\u0103 pe care ruleaz\u0103.<\/p>\n<h2>La ce se folose\u0219te limbajul de programare Java?<\/h2>\n<p>Nu este \u00eent\u00e2mpl\u0103tor faptul c\u0103 de ceva ani buni limbajul de programare Java este \u00een <strong><a href=\"https:\/\/codecool.com\/ro\/blog\/top-limbaje-programare\/\">topul limbajelor de programare<\/a><\/strong>, la nivel de popularitate (cele mai multe referiri pe motoarele de c\u0103utare dintre toate limbajele de programare, cei mai mul\u021bi speciali\u0219ti angaja\u021bi la nivel global, cei mai mul\u021bi cursan\u021bi interesa\u021bi de aceast\u0103 specializare etc.)<\/p>\n<p>Locul este bine meritat pentru c\u0103 Java are aplica\u021bii \u00een numeroase direc\u021bii utile \u0219i de uz de mas\u0103. Tocmai de aceea, majoritatea companiilor de IT cer de la viitorii angaja\u021bi s\u0103 cunoasc\u0103 foarte bine Java. Cererea de programatori Java este tot mai mare deoarece acest limbaj este ideal pentru dezvoltarea de aplica\u021bii.<\/p>\n<h2>Ce po\u021bi s\u0103 programezi cu Java?<\/h2>\n<p>C\u00e2nd vine vorba de domeniile de aplicare pentru Java, cerul este limita.<\/p>\n<ul>\n<li>O s\u0103 \u00eencepem cu Android.<\/li>\n<\/ul>\n<p>Da, <b>Android este dezvoltat \u00een Java<\/b>. Iar aplica\u021biile de pe telefonul t\u0103u cu sistem de operare Android sunt dezvoltate \u00een Java. Fie c\u0103 vorbim de Angry Birds, Candy Crush pentru distrac\u021bie sau SeeWeather. Mai mult dec\u00e2t at\u00e2t, <b>tot ceea ce g\u0103sim \u00een Google Play Store \u00een acest moment este dezvoltat \u00een Java<\/b>. Deci, dac\u0103 \u00eenve\u021bi limbajul de programare \u0219i ai o idee de aplica\u021bie nemaipomenit\u0103, po\u021bi \u00eencepe lucrul la ea \u0219i o po\u021bi urca oric\u00e2nd \u00een Google Play Store. Deci, ai o idee de aplica\u021bie de Android? \u00cenva\u021b\u0103 Java.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/p17s2tfgc31jte13d51pea1l2oblr3-1024x633-1.png\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/p17s2tfgc31jte13d51pea1l2oblr3-1024x633-1.png 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/p17s2tfgc31jte13d51pea1l2oblr3-1024x633-1-300x185.png 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/p17s2tfgc31jte13d51pea1l2oblr3-1024x633-1-768x475.png 768w\" alt=\"\" width=\"800\" height=\"495\" \/><\/p>\n<ul>\n<li>Vrei s\u0103 dezvol\u021bi site-uri de succes? \u00cenva\u021b\u0103 Java.<\/li>\n<\/ul>\n<p>Dac\u0103 vrei s\u0103 lansezi cu succes un site care a\u0219teapt\u0103 milioane de click-uri zilnic, dezvolt\u0103-l cu Java. Cine folose\u0219te Java? Multe-multe branduri si <a href=\"https:\/\/stackshare.io\/java\">platforme online cunoscute<\/a>, printre care AirBnB, Netflix sau Uber.<\/p>\n<ul>\n<li>Vrei s\u0103 dezvol\u021bi interfe\u021be grafice (GUI) c\u00e2t mai atractive \u0219i <i>user-friendly<\/i>? Tot Java \u00ee\u021bi va fi de folos.<\/li>\n<\/ul>\n<p>Java \u00ee\u021bi permite s\u0103 dezvol\u021bi programe care au aceea\u0219i interfa\u021b\u0103, indiferent de sistemul de operare. Acest lucru se \u00eent\u00e2mpl\u0103 cu ajutorul Java Swing sau JavaFX.<\/p>\n<ul>\n<li>Sau poate e\u0219ti interesat de Server Side \u0219i dore\u0219ti s\u0103 dezvol\u021bi aplica\u021bii mari, corporate, al\u0103turi de Oracle \u0219i IBM.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/codecool.com\/ro\/cursuri\/\"><b>\u00censcrie-te la cursul de Full-Stack Developer, unde \u00eenve\u021bi cum s\u0103 lucrezi cu Java, dar \u0219i cu alte limbaje de programare!<\/b><\/a><\/p>\n<h2>De ce s\u0103 \u00eenve\u021bi Java? 6 motive solide<\/h2>\n<p>Bine\u00een\u021beles, Java nu este singura modalitate de a scrie cod, dar, datorit\u0103 \u00eembun\u0103t\u0103\u021birilor sale, a devenit cel mai recomandat \u0219i agreat, mai ales pentru c\u0103 este \u0219i u\u0219or de \u00eenv\u0103\u021bat.<\/p>\n<p>Dac\u0103 \u00eenc\u0103 nu e\u0219ti convins c\u0103 Java este limbajul de programare pe care s\u0103-l \u00eenve\u021bi, \u00ee\u021bi aducem c\u00e2teva argumente pur obiective \u00een plus.<\/p>\n<p><b>Java pentru toate<\/b><\/p>\n<p>Am acoperit deja aria larg\u0103 de domenii \u00een care Java este folosit: de la aplica\u021bii Android, la dezvoltare de backend website, gestionare de baze de date \u0219i, mai nou, \u0219i IoT (Internet of Things). Viitorul va \u00eensemna \u0219i Java, cu siguran\u021b\u0103.<\/p>\n<p><b>Este u\u0219or de \u00eenv\u0103\u021bat \u0219i ideal pentru \u00eencep\u0103tori<\/b><\/p>\n<p>A\u0219a cum mitul o spune, s\u0103 \u00eenve\u021bi Java este ca \u0219i cum ai \u00eenv\u0103\u021ba o limb\u0103 str\u0103in\u0103, pentru care ai nevoie, \u00eenainte de toate, de r\u0103bdare \u0219i voin\u021b\u0103. Apoi, de re\u021binut este c\u0103 Java a fost creat ca alternativ\u0103 a complicatului C++, tocmai pentru a u\u0219ura munca programatorilor.<\/p>\n<p>Mai mult, un plus este mediul de dezvoltare \/ IDE-ul despre care am men\u021bionat mai sus &#8211; acesta este extrem de <i>developer-friendly: <\/i>te avertizeaz\u0103 atunci c\u00e2nd sunt existente erori, \u00ee\u021bi sugereaz\u0103 cum s\u0103 le corectezi, oferind numeroase explica\u021bii, ideal\u0103 dac\u0103 e\u0219ti \u00eencep\u0103tor \u00een Java.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-1181298-1-1024x683-1.jpeg\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-1181298-1-1024x683-1.jpeg 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-1181298-1-1024x683-1-300x200.jpeg 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-1181298-1-1024x683-1-768x512.jpeg 768w\" alt=\"\" width=\"800\" height=\"534\" \/><\/p>\n<p><b>Accesibil dac\u0103 vrei s\u0103 \u00eenve\u021bi Java singur sau online<\/b><\/p>\n<p>Cum spuneam la \u00eenceput, Java este anul acesta la cea de-a 25-a aniversare, a\u0219a c\u0103 ne putem imagina c\u0103 au fost deja adresate o sumedenie de \u00eentreb\u0103ri, neclarit\u0103\u021bi, dileme, au fost discutate \u0219i disecate majoritatea erorilor. Asta \u00eenseamn\u0103 c\u0103, \u00een acest moment, cu siguran\u021b\u0103 po\u021bi g\u0103si r\u0103spunsuri \u0219i solu\u021bii demult validate \u0219i verificate online.<\/p>\n<p>Iar acesta este un mare ajutor \u00een special pentru cei care aleg fie s\u0103 \u00eenve\u0163e Java singuri sau merg pe un curs Java online, la care nu au foarte mult\u0103 asisten\u021b\u0103 \u0219i \u00eendrumare.<\/p>\n<p><b>Instrumente utile<\/b><\/p>\n<p>Indiferent de misiunea pe care o ai ca programator, Java vine la pachet cu multiple unelte care s\u0103 asigure c\u0103 produsul software pe care \u00eel vei dezvolta va fi impecabil. Fie c\u0103 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\u021bi folosi atunci c\u00e2nd lucrezi \u00een Java \u00ee\u0219i u\u0219ureaz\u0103 task-ul \u0219i perfec\u021bioneaz\u0103 produsul.<\/p>\n<p><b>Multe oportunit\u0103\u021bi \u0219i deschidere interna\u021bional\u0103<\/b><\/p>\n<p>A\u0219a cum am mai spus, cu Java ai acces la o mul\u021bime de job-uri de pe pia\u021ba actual\u0103 de angajare \u00een IT.\u00a0Mai mult, \u00ee\u021bi poate cre\u0219te \u0219ansele s\u0103 promovezi la locul de munc\u0103 actual \u0219i s\u0103 lucrezi pentru multina\u021bionale celebre \u0219i profesioniste.<\/p>\n<p><b>Programarea \u00een Java va fi la fel de c\u0103utat\u0103 \u0219i peste 10 ani\u00a0<\/b><\/p>\n<p>Limbajul Java este un adev\u0103rat <em>evergreen<\/em>, cum spun englezii. Sau un produs care nu se va demoda niciodat\u0103, un clasic \u00een via\u021b\u0103, un limbaj de viitor.<\/p>\n<p>A jucat un rol major \u00een explozia Internetului, apoi la apari\u021bia smartphone-ului, apoi \u00een dezvoltarea cloud computing-ului \u0219i \u00ee\u0219i c\u00e2\u0219tig\u0103 acum locul \u0219i \u00een industria IoT. Este folosit de gigan\u021bi ca Amazon, LinkedIn, Twitter sau Netflix.<\/p>\n<p>Totu\u0219i, istoria Java nu a fost f\u0103r\u0103 peripe\u021bii. Mul\u021bi dintre cunosc\u0103tori \u00ee\u0219i amintesc perioadele de stagnare dup\u0103 schimbarea management-ului sau alertele de securitate din US, 2010 sau litigiul lung cu Google. Cu toate acestea, Java \u00eenc\u0103 e frunta\u0219 \u00een <a href=\"https:\/\/www.tiobe.com\/tiobe-index\/\">ranking-ul de popularitate TIOBE<\/a> \u0219i este estimat c\u0103 ruleaz\u0103 pe cel pu\u021bin <a href=\"https:\/\/go.java\/index.html\">15 miliarde de dispozitive global<\/a>, are aproximativ <a href=\"https:\/\/go.java\/index.html\">10 milioane de practican\u021bi\/programatori<\/a> \u0219i aproximativ <a href=\"https:\/\/go.java\/index.html\">5 milioane de \u00eenv\u0103\u021b\u0103cei\/cursan\u021bi<\/a> \u00een acest moment.<\/p>\n<p>Are un rol stabil \u00een educa\u021bia programatorilor, inclusiv, aici, la noi, <a href=\"https:\/\/codecool.com\/ro\/cursuri\/\">la Codecool, la cursul nostru de Full-Stack<\/a>, unde inve\u021bi s\u0103 lucrezi inclusiv cu Java. Practic, noi pred\u0103m \u0219i practic\u0103m programarea orientat\u0103-obiect prin acest limbaj de programare, dar \u0219i prin altele.<\/p>\n<p>Iar lucrurile vor r\u0103m\u00e2ne a\u0219a pentru o lung\u0103 perioad\u0103 \u0219i <b>v\u0103 vom argumenta de ce va fi util \u0219i peste 10 ani s\u0103 cuno\u0219ti Java:<\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-2599244-1024x683-1.jpeg\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-2599244-1024x683-1.jpeg 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-2599244-1024x683-1-300x200.jpeg 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-2599244-1024x683-1-768x512.jpeg 768w\" alt=\"\" width=\"800\" height=\"534\" \/><\/p>\n<ul>\n<li><b>Oriunde, Oric\u00e2nd<\/b><\/li>\n<\/ul>\n<p>Probabil c\u0103 ai intuit c\u0103 ne referim la WORA aici &#8211; <em>Write once, run anywhere<\/em>. Java este un limbaj de programare cu scop general, independent de platform\u0103 \u0219i de sistemul de operare pe care ruleaz\u0103. Chiar \u0219i atunci c\u00e2nd scrii codul. Asta \u00eenseamn\u0103 c\u0103 un program scris \u00een Java poate func\u021biona \u0219i peste 15-20 de ani, pentru c\u0103 este u\u0219or s\u0103 treci de la o versiune la alta, de la un update la altul \u0219i nu este nevoie s\u0103 migrezi codul la un nou limbaj. Deci, portabilitatea \u0219i compatibilitatea vor contribui la longevitatea Java.<\/p>\n<ul>\n<li><b>M\u00e2n\u0103 de la m\u00e2n\u0103<\/b><\/li>\n<\/ul>\n<p>Nu este neobi\u0219nuit ca la un proiect mai mare de programare s\u0103 se lucreze \u00een paralel, de mai mul\u021bi membri ai echipei. Marele avantaj la Java este c\u0103, exact ca \u0219i Python, este modular. Deci, mai multe p\u0103rticele de proiect pot fi puse laolalt\u0103, chiar dac\u0103 au fost lucrate separat, individual, \u0219i totul va merge perfect, datorit\u0103 verific\u0103rii tip static.\u00a0 Mai mult, proiectele de programare Java pot fi preluate de un alt programator, mai t\u00e2rziu, fie c\u0103 a fost parte din echip\u0103 de la bun \u00eenceput sau nu.<\/p>\n<ul>\n<li><b>Mai mult dec\u00e2t un simplu limbaj de programare<\/b><\/li>\n<\/ul>\n<p>Java nu este doar un limbaj de programare, ci a\u0219a cum am v\u0103zut \u00een capitolele anterioare, o \u00eentreag\u0103 infrastructur\u0103 la baza c\u0103reia programele pot rula. Fie c\u0103 vorbim de JVM (Ma\u0219ina Virtual\u0103 Java) sau instrumentele adi\u021bionale (Eclipse, Mockito etc.). \u0218i s\u0103 nu uit\u0103m de versiunile JVM ale limbajelor deja existente:<a href=\"https:\/\/www.jruby.org\/\">JRuby<\/a> pentru Ruby , <a href=\"http:\/\/www.jython.org\/\">Jython<\/a> pentru Python , \u0219i <a href=\"https:\/\/common-lisp.net\/project\/armedbear\/\">ABCL<\/a> de la Common Lisp.<\/p>\n<ul>\n<li><b>Java &#8211; preferatul marilor companii<\/b><\/li>\n<\/ul>\n<p>Marile companii programeaz\u0103 cu Java: \u00een acest moment, <a href=\"https:\/\/www.cioinsight.com\/it-strategy\/application-development\/slideshows\/eight-interesting-facts-about-java.html\">mai mult de 95% de calculatoare corporate ruleaz\u0103 \u00een acest program<\/a>. Nu este suprinz\u0103tor, av\u00e2nd \u00een vedere c\u0103 Java a fost creat mai ales pentru acest mediu de lucru. Asta \u00eenseamn\u0103 o cerere imens\u0103 de programatori care s\u0103 \u0219tie Java \u0219i o mul\u021bime de \u00eencep\u0103tori \u00een programare care vor s\u0103 \u00eenve\u021be Java. Aici, la Codecool, am observat acest lucru mai ales pe pia\u021ba din Ungaria, unde \u0219coala noastr\u0103 de programare a preg\u0103tit, majoritar, programatori de Java, \u00eencep\u00e2nd fie ca juniori \u00een backend, fie ca programatori full-stack, la una din companiile noastre partenere.<\/p>\n<ul>\n<li><b>Sf\u00e2r\u0219itul stagn\u0103rii<\/b><\/li>\n<\/ul>\n<p>A fost la un moment dat o perioad\u0103 \u00een care Java lansa versiuni noi o dat\u0103 la 2 sau 3 ani, \u00eentr-un ritm oarecum confortabil. Dar, din septembrie 2017, au \u00eencetat aceast\u0103 practic\u0103: Mark Reinhold, inginerul-\u0219ef Java de la Oracle, a promis update-uri bianuale \u0219i se pare c\u0103 se \u021bine de cuv\u00e2nt. Marele pas \u00eenainte a fost apari\u021bia interfe\u021bei func\u021bionale \u00een Java 8, din 2014, care a permis importul interfe\u021belor noi, precum Stream. \u0218i odat\u0103 cu el a sosit \u0219i mult a\u0219teptatul Lambda, care a simplificat structura programelor, eficientiz\u00e2nd procesul tast\u0103rii. Iar Java 10 ne-a scutit \u0219i mai mult de la tastat. Iar acum am ajuns la versiunea Java 12, din martie 2019.<\/p>\n<h2>De unde s\u0103 \u00eencepi atunci c\u00e2nd vrei s\u0103 \u00eenve\u021bi programarea \u00een Java?<\/h2>\n<p>Deja\u00a0 cred c\u0103 te-ai convins c\u0103 Java este un limbaj de programare bun cu care po\u021bi \u00eencepe incursiunea \u00een \u201etainele program\u0103rii\u201d, fiind ok pentru \u00eencep\u0103tori \u0219i c\u0103, mai mult dec\u00e2t at\u00e2t, este o investi\u021bie \u00een cunoa\u0219tere pe termen lung.<\/p>\n<p>Care sunt op\u021biunile atunci c\u00e2nd vrei s\u0103 \u00eenve\u021bi Java \u0219i de unde s\u0103 \u00eencepi?<\/p>\n<h4>Este recomandat s\u0103 alegi un curs Java online?<\/h4>\n<p>Bine\u00een\u021beles, la o c\u0103utare Google, vei vedea c\u0103 sunt o groaz\u0103 de cursuri online, \u00eens\u0103 misiunea ceva mai dificil\u0103 va fi s\u0103 le g\u0103se\u0219ti pe cele bune.<\/p>\n<p>Majoritatea cursurilor de Java online mai bune sunt \u00een englez\u0103, deci, pentru unii limbajul tehnic va fi o provocare \u0219i mai mare. \u00cen plus, nu vei avea suport atunci c\u00e2nd vei \u00eent\u00e2mpina probleme sau c\u00e2nd vei dori s\u0103 verifici vreo informa\u021bie.<\/p>\n<p>Desigur, exist\u0103 un instructor, dar accesul la acesta va fi condi\u021bionat destul de mult \u0219i stim c\u00e2t de mult conteaz\u0103 interac\u021biunea fa\u021b\u0103-\u00een-fa\u021b\u0103 \u0219i feedback-ul pe loc \u00een procesul de \u00eenv\u0103\u021bare. Mai mult, va fi nevoie de destul de mult\u0103 autoorganizare \u0219i mult spirit de autodisciplin\u0103 pentru a putea duce misiunea la cap\u0103t.<\/p>\n<p>Deci, cursurile online sunt o variant\u0103 cu care, probabil, po\u021bi doar s\u0103 \u00eencepi &#8211; <i>ground zero sau ini\u021bierea \u00een Java.<\/i><\/p>\n<h4>Cum te ajut\u0103 tutorialele de programare s\u0103 \u00eenve\u021bi Java, singur, de la zero?<\/h4>\n<p>Mul\u021bi oameni prefer\u0103 flexibilitatea atunci c\u00e2nd \u00eenva\u021b\u0103 \u0219i nu vor s\u0103 urmeze o abordare structurat\u0103 \u00een timp. \u00cen schimb, le place s\u0103 \u00eenve\u021be \u00een ritmul lor, la ce ore doresc \u0219i \u00een ce loc doresc, cu zero cheltuieli, cu mult studiu \u0219i documentare independente, pe internet.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/k7a9507-1024x748-1.jpg\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/k7a9507-1024x748-1.jpg 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/k7a9507-1024x748-1-300x219.jpg 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/k7a9507-1024x748-1-768x561.jpg 768w\" alt=\"\" width=\"800\" height=\"584\" \/><\/p>\n<p>Video-tutorialele disponibile pe YouTube sau alte platforme de video-sharing sunt ideale dac\u0103 acesta este stilul t\u0103u de \u00eenv\u0103\u021bare. \u0218i acest lucru se aplic\u0103 \u0219i atunci c\u00e2nd vrei s\u0103 \u00eenve\u021bi Java. Trebuie doar s\u0103 te asiguri c\u0103 alegi o surs\u0103 credibil\u0103, adic\u0103 tutoriale care au primit deja un feedback pozitiv din partea celor interesa\u021bi. \u00cens\u0103, la fel ca \u00een cazul cursurillor online, tutorialelele sunt doar pentru faza de ini\u021biere \u0219i poate ceva mai mult joc \u0219i \u00eenv\u0103\u021bare prin practic\u0103. \u00cens\u0103, cu c\u00e2t avansezi mai mult \u00een cunoa\u0219terea limbajului, cu at\u00e2t te vei confrunta mai mult cu situa\u021bii sau erori pe care nu le vei putea rezolva singur.<\/p>\n<h4>De c\u00e2t timp ai nevoie s\u0103 \u00eenve\u021bi Java, de la zero?<\/h4>\n<p><b>\u00cenv\u0103\u021batul pe cont propriu te disciplineaz\u0103 \u0219i responsabilizeaz\u0103<\/b> \u00eentr-un mod \u00een care \u00ee\u021bi va fi foarte util \u00een plan profesional \u0219i e o modalitate de \u00eenv\u0103\u021bare pe care noi, aici, la Codecool, o \u00eencuraj\u0103m.<\/p>\n<p>\u00cens\u0103, din experien\u021bele noastre de <i>code teaching<\/i> de p\u00e2n\u0103 acum, am aflat c\u0103 <b>nu este suficient \u0219i la fel de eficient ca lucrul al\u0103turi de un mentor \u00een programare.<\/b> Cineva care s\u0103 te ghideze, s\u0103 \u00ee\u021bi ofere exact sursa de informa\u021bie de care ai nevoie.<\/p>\n<p>Bine\u00een\u021beles, po\u021bi \u00eenv\u0103\u021ba principiile teoretice ale limbajului Java singur \u0219i po\u021bi face primii pa\u0219i \u00een practic\u0103 folosind video-tutorialele, <b>\u00eens\u0103 c\u00e2nd ajungi s\u0103 pui lucrurile \u00een practic\u0103 \u0219i s\u0103 rezolvi probleme de programare, mentoratul face o mare diferen\u021b\u0103<\/b>.<\/p>\n<p>Atunci c\u00e2nd lucrezi singur, po\u021bi petrece ore, chiar zile, \u00eencerc\u00e2nd s\u0103 rezolvi o problem\u0103 care \u021bi-ar fi putut fi explicat\u0103 \u00een 10 minute. \u00cen tentativa de a rezolva totul pe cont propriu, <b>po\u021bi c\u0103dea \u00een capcana de a pierde foarte mult timp<\/b>.<\/p>\n<p>C\u00e2nd vine vorba de programarea \u00een Java, internetul este o surs\u0103 de informa\u021bie f\u0103r\u0103 fund \u0219i tocmai din acest motiv <b>nu stric\u0103 s\u0103 faci parte dintr-o comunitate care st\u0103p\u00e2ne\u0219te deja aceast\u0103 mas\u0103 imens\u0103 de informa\u021bie \u0219i care poate s\u0103-\u021bi spun\u0103 de unde s\u0103 te informezi \u0219i ce este cu adev\u0103rat relevant pentru pia\u021b\u0103<\/b>. Tocmai din aceste motive r\u0103spunsul este &#8211; da, un program de training salveaz\u0103 destul de mult timp c\u00e2nd \u00eenve\u021bi Java.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-270404-1024x575-1.jpeg\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-270404-1024x575-1.jpeg 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-270404-1024x575-1-300x168.jpeg 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/pexels-photo-270404-1024x575-1-768x431.jpeg 768w\" alt=\"\" width=\"800\" height=\"449\" \/><\/p>\n<p>Ce am observat aici, la Codecool, este c\u0103 timpul mediu <b>pentru a \u00eenv\u0103\u021ba limbaje de programare ca Java, PHP, .NET etc., este nevoie\u00a0 de minim 5 luni de formare intensiv\u0103.<\/b> <b>Desigur, aceast\u0103 perioad\u0103 se poate prelungi la un an, dac\u0103 tu, studentul, vei sim\u021bi nevoia<\/b>.<\/p>\n<p>Important este s\u0103 ne asigur\u0103m de \u00een\u021belegerea fiec\u0103rui modul parcurs, \u00eenainte de a trece la urm\u0103torul. Tocmai de aceea, cursan\u021bii de la Codecool nu pot avea acces la urm\u0103torul modul dec\u00e2t dac\u0103 au finalizat modulul anterior, cu succes. \u00cen cadrul <a href=\"https:\/\/codecool.com\/ro\/cursuri\/\">cursului de Full-Stack Developer<\/a>, fiind cel mai cuprinz\u0103tor, cursan\u021bii se familiarizeaz\u0103 at\u00e2t cu tot ce \u021bine de Java, c\u00e2t \u0219i cu alte limbaje de programare \u0219i tehnologii. Practic, dup\u0103 terminarea cursului, nu doar c\u0103 vei fi preg\u0103tit s\u0103 lucrezi \u00een Java, ci vei avea skill-urile \u0219i cuno\u0219tin\u021bele necesare pentru a lucra inclusiv \u00een <span class=\"elementor-heading-title elementor-size-default elementor-inline-editing pen\" data-elementor-setting-key=\"title\" data-pen-placeholder=\"Type Here...\">HTML, CSS, Jest, MongoDB, Node.js.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/codecool.com\/wp-content\/uploads\/2022\/09\/Ghid-curs-Full-Stack-2022.pdf\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2021\/07\/ghid-codecool-1024x536.jpg\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2021\/07\/ghid-codecool-1024x536.jpg 1024w, https:\/\/codecool.com\/wp-content\/uploads\/2021\/07\/ghid-codecool-300x157.jpg 300w, https:\/\/codecool.com\/wp-content\/uploads\/2021\/07\/ghid-codecool-768x402.jpg 768w, https:\/\/codecool.com\/wp-content\/uploads\/2021\/07\/ghid-codecool.jpg 1200w\" alt=\"Ghidul studentului Codecool\" width=\"800\" height=\"419\" \/> <\/a><\/p>\n<p>Deci, dac\u0103 vrei s\u0103 \u00eenve\u021bi Java \u0219i s\u0103 te \u021bii de treab\u0103, da, po\u021bi \u00eencepe cu studiu individual, dar pentru eficien\u021b\u0103 \u0219i profesionalism, este recomandat s\u0103 \u00ee\u021bi alegi o \u0219coal\u0103 alternativ\u0103 care s\u0103 ofere cursuri de Java, unde s\u0103 te \u00eenconjori de oameni pasiona\u021bi, cu experien\u021b\u0103 \u00een acest limbaj de programare.<\/p>\n<h2>Ce viitor te a\u0219teapt\u0103 pe pia\u021ba angajatorilor?<\/h2>\n<h4>Salariile programatorilor \u00een Java<\/h4>\n<p>\u00cenv\u0103\u021barea limbajelor de programare este o decizie inteligent\u0103\u00a0 pentru c\u0103 salariile programatorilor \u00een Rom\u00e2nia sunt de c\u00e2teva ori mai mari dec\u00e2t salariul mediu \u00een timp ce salariile programatorilor \u00een str\u0103in\u0103tate sunt \u00een top, fiind \u0219i unul din principalele motive pentru care programatorii aleg joburi peste hotare.<\/p>\n<p>Dac\u0103 \u00een februarie salariul mediu \u00een IT a fost de 6683 lei, \u00een luna mai a fost de 6946 lei, <a href=\"http:\/\/www.insse.ro\/cms\/ro\/content\/ca%C8%99tigul-salarial-mediu-lunar-53\">conform datelor recente ale Institutului Na\u021bional de Statistic\u0103<\/a>.<\/p>\n<p>C\u00e2nd ne referim la programatorii \u00een Java lucrurile nu se schimb\u0103 cu mult.<\/p>\n<p>Un <b>programator specializat pe Java<\/b> poate avea, \u00een Rom\u00e2nia, un salariu foarte bun pe pia\u021ba actual\u0103 de IT pentru c\u0103 exist\u0103 o lips\u0103 considerabil\u0103 de speciali\u0219ti Java.<\/p>\n<ul>\n<li>Salariul net mediu lunar pentru un programator Java este de 8712 lei \u00een Rom\u00e2nia conform comparatorului de salarii <a href=\"https:\/\/www.paylab.ro\/\">Paylab<\/a>.<\/li>\n<li>\u00cen <b>Bucure\u0219ti<\/b>, un Java developer, 25 de ani, f\u0103r\u0103 studii superioare \u0219i f\u0103r\u0103 experien\u021b\u0103:9536 lei (salariu mediu estimat).<\/li>\n<li>\u00cen <b>Cluj,<\/b> un Java developer, 25 de ani, f\u0103r\u0103 studii superioare \u0219i f\u0103r\u0103 experien\u021b\u0103: 8763 lei, (salariu estimat conform Paylab).<\/li>\n<\/ul>\n<p>Dac\u0103 vrei s\u0103 afli despre salariile celorlalte specializ\u0103ri programare, po\u021bi citi despre\u00a0 <a href=\"https:\/\/codecool.com\/ro\/blog\/top-salarii-it\/\"><b>topul salariilor \u00een IT<\/b><\/a><b>.\u00a0<\/b><\/p>\n<h4>Care sunt job-urile de programator la care ai acces dac\u0103 \u00eenve\u021bi Java<\/h4>\n<p>Nevoia de speciali\u015fti Java este \u00eenc\u0103 \u00een plin\u0103 ascensiune iar acest lucru va continua \u015fi \u00een anii care urmeaz\u0103, cu urm\u0103toarele specializ\u0103ri cerute de companii:<\/p>\n<ul>\n<li>Java Developer<\/li>\n<li>Java Automation Test Engineer<\/li>\n<li>Cloud Developer, Android Developer<\/li>\n<li>Angular &amp; Go Developer<\/li>\n<li>Software Test Automaton Engineer<\/li>\n<li>Full Stack Web Develper<\/li>\n<li>Embedded Software Engineer<\/li>\n<\/ul>\n<h4>Sfaturi de la programatorii de top \u00een Java, pentru to\u021bi \u00eencep\u0103torii<\/h4>\n<p>De-a lungul timpului, cei de la Oracle i-au intervievat pe cei mai cunoscu\u021bi programatori de Java, le-au cerut sfaturi pentru studen\u021bi sau \u00eencep\u0103tori \u0219i au centralizat r\u0103spunsurile <a href=\"https:\/\/www.oracle.com\/technetwork\/articles\/java\/index-136000.html\">aici<\/a>, dintre care le-am selectat pe cele care ni s-au p\u0103rut relevante:<\/p>\n<p><i>Scrie mult cod \u0219i distreaz\u0103-te cu el! Colaboreaz\u0103 cu oameni care au mai mult\u0103 experien\u021b\u0103 dec\u00e2t tine \u0219i \u00eenva\u021b\u0103 de la ei. Recenziile de cod sunt o modalitate bun\u0103 de a \u00eenv\u0103\u021ba. Nu fi ru\u0219inat c\u00e2nd ceilal\u021bi g\u0103sesc erori \u00een programul t\u0103u, repar\u0103-le \u0219i distreaz\u0103-te pe tot parcursul procesului de evolu\u021bie. A, da, cump\u0103r\u0103 un exemplar din cartea \u201eEffective Java\u201d<\/i>.<\/p>\n<p><b>Joshua Bloch<\/b> &#8211; Chief Java architect la Google, de altfel autorul c\u0103r\u021bii <i>Effective Java<\/i><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/effective-java-2e-sdl518243188-1-cf504.jpg\" sizes=\"(max-width: 310px) 100vw, 310px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/effective-java-2e-sdl518243188-1-cf504.jpg 310w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/effective-java-2e-sdl518243188-1-cf504-256x300.jpg 256w\" alt=\"\" width=\"310\" height=\"363\" \/><\/p>\n<p><i>Trei lucruri:\u00a0<\/i><\/p>\n<ol>\n<li><i>\u00cenva\u021b\u0103 s\u0103-\u021bi folose\u0219ti uneltele. \u0218i nu doar c\u00e2t s\u0103 te descurci. Devino un utilizator expert. Dup\u0103 ce ai \u00eenv\u0103\u021bat to\u021bi itemii din meniu \u0219i toate leg\u0103turile importante, d\u0103 un search\u00a0 pe Google cu &#8222;tips and tricks&#8221; pentru IDE-ul t\u0103u.<\/i><\/li>\n<li><i>\u00cenva\u021b\u0103 ce este compromisul. C\u00e2nd e\u0219ti student, ai de obicei teme \u00een care cerin\u021bele sunt destul de clare \u0219i timpul de execu\u021bie rezonabil. Po\u021bi scrie \u201eprogramul perfect\u201d, foarte bine documentat, elegant, para-testat \u0219i corect\u2026. C\u00e2nd e\u0219ti programator angajat \u00een industria de software, nici nu e cazul s\u0103 vorbim de a\u0219a ceva. Ai o list\u0103 interminabil\u0103 de task-uri, timp limitat \u0219i, de cele mai multe ori, ai preluat munca de programare a altcuiva, \u0219i, bine\u00een\u021beles, nu e\u0219ti prea mul\u021bumit de felul \u00een care a fost scris codul. Ai, de asemenea, o list\u0103 imens\u0103 de bug-uri, cel pu\u021bin \u00een cazul produselor mature &#8211; bug-uri reale, dar care nu sunt neap\u0103rat de impact. Ce este mai important? S\u0103 adaugi un feature de care se vor bucura utilizatorii sau s\u0103 repari acele bug-uri? Nu ai resurse suficiente, dar totul este important. A\u0219a c\u0103 ajungi s\u0103 \u00eenve\u021bi s\u0103 filtrezi lucrurile care chiar au nevoie de aten\u021bia ta \u0219i s\u0103 faci ni\u0219te alegeri destul de dificile.\u201d\u00a0<\/i><\/li>\n<li><i>\u00cen cele din urm\u0103, \u00eenva\u021b\u0103 API-urile platformei&#8230;Asigur\u0103-te c\u0103 ai \u00een\u021beles bine toate func\u021bionalit\u0103\u021bile platformei \u00eenainte s\u0103 scrii propriul cod.\u00a0<\/i><\/li>\n<\/ol>\n<p><b>Tor Norbye<\/b> &#8211;\u00a0 inginer principal la Sun Microsystems \u0219i co-gazd\u0103 a podcast-ului s\u0103pt\u0103m\u00e2nal <a href=\"http:\/\/www.javaposse.com\/\">Java Posse<\/a>.<\/p>\n<p><i>\u00cencepe simplu. \u00cenva\u021b\u0103 bazele limbajului \u0219i, chiar \u00eenainte de asta, f\u0103 modific\u0103ri simple \u00een programe existente \u0219i vezi ce se \u00eent\u00e2mpl\u0103. Exploreaz\u0103 minunata lume a resurselor online. Scrie cel mai avansat program la care te po\u021bi g\u00e2ndi astfel \u00eenc\u00e2t s\u0103-\u021bi dep\u0103\u0219e\u0219ti limitele \u0219i, dac\u0103 po\u021bi, \u0219i pe cele ale platformei Java.<\/i><\/p>\n<p><i>Pe m\u0103sur\u0103 ce avansezi, selecteaz\u0103 un IDE cu care po\u021bi lucra bine, cum ar fi NetBeans.\u00a0<\/i><\/p>\n<p><i>\u0218i nu uita c\u0103 venituri de miliarde de dolari au fost generate de milioane de oameni care au fost angaja\u021bi pentru c\u0103 cineva de la Sun Microsystems a inventat Java \u0219i pentru c\u0103 un grup de ingineri dedica\u021bi au produs \u00een continuu inova\u021bii \u00een jurul acestui program. A\u0219a c\u0103 hai, contribuie \u0219i tu la asta.\u00a0\u00a0<\/i><\/p>\n<p><b>Masood Mortazavi, <\/b>inginer de software \u0219i manager la Sun<\/p>\n<h2>Trivia despre Java<\/h2>\n<p>Dup\u0103 at\u00e2t elan motiva\u021bional, propunem s\u0103 finaliz\u0103m incursiunea \u00een lumea Java \u00eentr-o not\u0103 lejer\u0103 \u0219i amuzant\u0103. A\u0219a c\u0103 avem mai jos c\u00e2teva <i>fun facts<\/i> despre Java:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java-duke-logo.jpg\" sizes=\"(max-width: 360px) 100vw, 360px\" srcset=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java-duke-logo.jpg 360w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java-duke-logo-300x300.jpg 300w, https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java-duke-logo-150x150.jpg 150w\" alt=\"\" width=\"360\" height=\"360\" \/><\/p>\n<ul>\n<li>Mascota Java &#8211; \u201ethe Duke\u201da fost creat\u0103 de Joe Palrang, cel care a lucrat \u0219i la filmul Shrek.<\/li>\n<li>Sunt peste 10 milioane de programatori Java \u00een lume &#8211; mai mult dec\u00e2t popula\u021bia New York-ului!<\/li>\n<li>Ini\u021bial programul s-a numit\u00a0 Oak, av\u00e2nd ca inspira\u021bie stejarul din fa\u021ba biroului lui James Gosling de la Sun Microsystems.<\/li>\n<li>Java a fost inventat printr-un accident, ca mai toate lucrurile bune &#8211; James Gosling \u0219i echipa lui\u00a0 cur\u0103\u021bau C++ \u0219i accidental \u201es-au trezit\u201d cu un nou limbaj de programare.<\/li>\n<li>Java este downloadat de 1 miliard de ori pe an!<\/li>\n<\/ul>\n<p>\u00censcrie-te la cursul de <a href=\"https:\/\/codecool.com\/ro\/cursuri\/curs-full-stack-developer\/\">Full-Stack Developer<\/a> din cadrul Codecool \u0219i \u00eenva\u021b\u0103 Java de la mentori experimenta\u021bi, \u00een cadrul unui program complet \u0219i versatil!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fiind pe pia\u021b\u0103 de peste 25 de ani \u0219i st\u00e2nd la baza a numeroase aplica\u021bii \u0219i afaceri de succes, Java se afl\u0103 \u00een topul celor mai populare limbaje de programare. Chiar \u0219i dup\u0103 at\u00e2\u021bia ani de la lansare, Java continu\u0103 s\u0103 fie nu doar relevant, ci \u0219i influent. Cum a ajuns Java aici \u0219i cum [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[175,158],"tags":[171,165,181],"class_list":["post-12664","post","type-post","status-publish","format-standard","hentry","category-resurse","category-tehnologie","tag-invata-java","tag-java-ro","tag-java-incepatori"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.4 (Yoast SEO v24.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ghid Java pentru \u00eencep\u0103tori. Afl\u0103 ce este \u0219i ce face limbajul Java - Codecool<\/title>\n<meta name=\"description\" content=\"Vrei s\u0103 afli ce este Java \u0219i cum s\u0103 faci programare de la zero? Am preg\u0103tit un ghid cu tot ce trebuie s\u0103 \u0219tii \u00eenainte s\u0103 treci la tutoriale online sau cursuri.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/\" \/>\n<meta property=\"og:locale\" content=\"ro_RO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ghidul \u00eencep\u0103torilor \u00een Java: Ce este \u0219i de ce s\u0103 \u00eenve\u021bi acest limbaj de programare\" \/>\n<meta property=\"og:description\" content=\"Vrei s\u0103 afli ce este Java \u0219i cum s\u0103 faci programare de la zero? Am preg\u0103tit un ghid cu tot ce trebuie s\u0103 \u0219tii \u00eenainte s\u0103 treci la tutoriale online sau cursuri.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/\" \/>\n<meta property=\"og:site_name\" content=\"Codecool\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CodecoolOfficial\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-30T08:58:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-30T11:59:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png\" \/>\n<meta name=\"author\" content=\"Dora Hoffman\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Codecool_global\" \/>\n<meta name=\"twitter:site\" content=\"@Codecool_global\" \/>\n<meta name=\"twitter:label1\" content=\"Scris de\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dora Hoffman\" \/>\n\t<meta name=\"twitter:label2\" content=\"Timp estimat pentru citire\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 de minute\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ghid Java pentru \u00eencep\u0103tori. Afl\u0103 ce este \u0219i ce face limbajul Java - Codecool","description":"Vrei s\u0103 afli ce este Java \u0219i cum s\u0103 faci programare de la zero? Am preg\u0103tit un ghid cu tot ce trebuie s\u0103 \u0219tii \u00eenainte s\u0103 treci la tutoriale online sau cursuri.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/","og_locale":"ro_RO","og_type":"article","og_title":"Ghidul \u00eencep\u0103torilor \u00een Java: Ce este \u0219i de ce s\u0103 \u00eenve\u021bi acest limbaj de programare","og_description":"Vrei s\u0103 afli ce este Java \u0219i cum s\u0103 faci programare de la zero? Am preg\u0103tit un ghid cu tot ce trebuie s\u0103 \u0219tii \u00eenainte s\u0103 treci la tutoriale online sau cursuri.","og_url":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/","og_site_name":"Codecool","article_publisher":"https:\/\/www.facebook.com\/CodecoolOfficial\/","article_published_time":"2023-01-30T08:58:48+00:00","article_modified_time":"2023-01-30T11:59:25+00:00","og_image":[{"url":"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png","type":"","width":"","height":""}],"author":"Dora Hoffman","twitter_card":"summary_large_image","twitter_creator":"@Codecool_global","twitter_site":"@Codecool_global","twitter_misc":{"Scris de":"Dora Hoffman","Timp estimat pentru citire":"23 de minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#article","isPartOf":{"@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/"},"author":{"name":"Dora Hoffman","@id":"https:\/\/codecool.com\/ro\/#\/schema\/person\/622e226c942203940586ef2dceca8365"},"headline":"Ghidul \u00eencep\u0103torilor \u00een Java: Ce este \u0219i de ce s\u0103 \u00eenve\u021bi acest limbaj de programare","datePublished":"2023-01-30T08:58:48+00:00","dateModified":"2023-01-30T11:59:25+00:00","mainEntityOfPage":{"@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/"},"wordCount":4872,"commentCount":0,"publisher":{"@id":"https:\/\/codecool.com\/ro\/#organization"},"image":{"@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#primaryimage"},"thumbnailUrl":"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png","keywords":["invata java","java","java incepatori"],"articleSection":["Resurse","Tehnologie"],"inLanguage":"ro-RO","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/","url":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/","name":"Ghid Java pentru \u00eencep\u0103tori. Afl\u0103 ce este \u0219i ce face limbajul Java - Codecool","isPartOf":{"@id":"https:\/\/codecool.com\/ro\/#website"},"primaryImageOfPage":{"@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#primaryimage"},"image":{"@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#primaryimage"},"thumbnailUrl":"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png","datePublished":"2023-01-30T08:58:48+00:00","dateModified":"2023-01-30T11:59:25+00:00","description":"Vrei s\u0103 afli ce este Java \u0219i cum s\u0103 faci programare de la zero? Am preg\u0103tit un ghid cu tot ce trebuie s\u0103 \u0219tii \u00eenainte s\u0103 treci la tutoriale online sau cursuri.","breadcrumb":{"@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#breadcrumb"},"inLanguage":"ro-RO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codecool.com\/ro\/ghid-java-incepatori\/"]}]},{"@type":"ImageObject","inLanguage":"ro-RO","@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#primaryimage","url":"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png","contentUrl":"https:\/\/codecool.com\/wp-content\/uploads\/2019\/09\/java_logo_icon-1024x573-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/codecool.com\/ro\/ghid-java-incepatori\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codecool.com\/ro\/"},{"@type":"ListItem","position":2,"name":"Ghidul \u00eencep\u0103torilor \u00een Java: Ce este \u0219i de ce s\u0103 \u00eenve\u021bi acest limbaj de programare"}]},{"@type":"WebSite","@id":"https:\/\/codecool.com\/ro\/#website","url":"https:\/\/codecool.com\/ro\/","name":"Codecool","description":"Next gen coding school &amp; career hub","publisher":{"@id":"https:\/\/codecool.com\/ro\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codecool.com\/ro\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ro-RO"},{"@type":"Organization","@id":"https:\/\/codecool.com\/ro\/#organization","name":"Codecool","alternateName":"Codecool","url":"https:\/\/codecool.com\/ro\/","logo":{"@type":"ImageObject","inLanguage":"ro-RO","@id":"https:\/\/codecool.com\/ro\/#\/schema\/logo\/image\/","url":"https:\/\/codecool.com\/wp-content\/uploads\/2023\/09\/Codecool-logo-app.svg","contentUrl":"https:\/\/codecool.com\/wp-content\/uploads\/2023\/09\/Codecool-logo-app.svg","width":1,"height":1,"caption":"Codecool"},"image":{"@id":"https:\/\/codecool.com\/ro\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CodecoolOfficial\/","https:\/\/x.com\/Codecool_global","https:\/\/www.instagram.com\/codecool_official\/","https:\/\/www.linkedin.com\/school\/codecool\/"]},{"@type":"Person","@id":"https:\/\/codecool.com\/ro\/#\/schema\/person\/622e226c942203940586ef2dceca8365","name":"Dora Hoffman","image":{"@type":"ImageObject","inLanguage":"ro-RO","@id":"https:\/\/codecool.com\/ro\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/13d568fb246033721321e216b8f5f06457e373d046558ceccec33b2e0dc025bc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/13d568fb246033721321e216b8f5f06457e373d046558ceccec33b2e0dc025bc?s=96&d=mm&r=g","caption":"Dora Hoffman"}}]}},"_links":{"self":[{"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/posts\/12664","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/comments?post=12664"}],"version-history":[{"count":7,"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/posts\/12664\/revisions"}],"predecessor-version":[{"id":65929,"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/posts\/12664\/revisions\/65929"}],"wp:attachment":[{"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/media?parent=12664"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/categories?post=12664"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codecool.com\/ro\/wp-json\/wp\/v2\/tags?post=12664"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}