Cum se configurează smartphone-uri și PC-uri. Portal informativ

Prin programare java. Training programare JAVA

  • 2 luni de antrenament Java EE (de 2 ori pe săptămână timp de 4 ore)
  • daca dai rezultate bune (ti aperi cu succes proiectul pe care il scrii de aceste doua luni), atunci ti se ofera un loc de munca.
Firma este foarte bună, străină, cunoscută, iar condițiile de muncă sunt excelente – pe scurt, mi-am dorit mult mai mult să merg acolo decât locul unde mi-au făcut deja o ofertă. Selecția pentru antrenament cu ea a implicat 3 etape:
  1. Efectuarea sarcinilor practice acasă.
  2. Dacă ai succes, ești invitat testarea calculatorului la birou.
  3. Dacă testul are succes, veți fi intervievat în aceeași zi.
CU sarcini practice M-am descurcat fără probleme speciale- aici multe mulțumiri JavaRush și sarcinilor lor, după care aceste sarcini păreau destul de simple. Au fost 3 sarcini: pe RegExp (Google m-a ajutat, pentru că eu însumi nu le suportam și nu-mi aminteam), pe algoritmi (destul de simplu, mai mult un exercițiu mental) și pe scriere/citire dintr-un fișier (există un multe dintre acestea în cursul JavaRush). Am fost invitat la testarea calculatorului. M-am pregătit pentru testare folosind site-ul web chestionar. Aceste teste au ajutat foarte mult, unele întrebări chiar au ajuns să se intersecteze. Am trecut testul cu succes și au început să mă intervieveze. Probabil că nu voi uita niciodată acest interviu în viața mea. Tot ceea ce persoana care ma intervieva a vrut să audă de la mine a fost bazele teoriei Java, cum ar fi:
  • care este diferența dintre excepțiile verificate și cele neverificate;
  • ce metode are clasa Object și de ce sunt necesare;
  • ce tipuri de colecții există și de ce sunt acolo;
  • și puțin despre multithreading.
JavaRush este un curs excelent, vă va învăța cum să rezolvați probleme și să programați, dar teoria (pentru interviuri) trebuie învățată separat, așa cum m-am convins înotând în aceste probleme ca un pește într-un acvariu. Au vrut să mă învelească. Îl înțeleg - nu am putut răspunde clar la aproape nimic, am încercat să spun totul din punctul de vedere al scrierii codului, dar el era interesat de teorie. Dar știam sigur că îmi doresc foarte mult să intru în acest stagiu și știam că, dacă îmi acordă timp, voi ajunge din urmă la toate acestea și voi învăța nefericita teorie. I-am spus toate acestea și m-a întâlnit la jumătate - s-a oferit să ne reîntâlnesc peste o săptămână, dar deocamdată mi-a dat o listă de subiecte (aproximativ așa cum am descris mai sus) și a spus unde pot fi învățate - doar un tutorial Oracle , conține tot: http://docs.oracle.com/javase/tutorial/ Pe parcursul unei săptămâni, am studiat cu atenție acest tutorial și am luat un al doilea interviu în ajunul zilei în care eram de așteptat să nou loc de muncă. Aparent, cel care m-a intervievat a fost cel mai impresionat de simțul meu de scop (știam că dacă acceptam acest stagiu, ceea ce s-a întâmplat în continuare depindea doar de mine - în două luni mi-aș fi dat seama tot ce aveam nevoie). Oricum ar fi, am acceptat acest stagiu și am refuzat să merg la muncă la locul unde mi s-a oferit anterior. Pe parcursul a 2 luni, ni s-au prezentat multe subiecte din Java EE, cum ar fi: Servlet-uri, JSP, Hibernate JSF, Spring și multe, multe altele - pe baza rezultatelor stagiului, ne-am fost familiarizați (aveam o discuție aproximativă). idee) despre stiva principală Tehnologii Java EE. De asemenea, pe parcursul stagiului, am scris propriul proiect, care la final a trebuit să fie prezentat cu succes la angajare. Îmi amintesc doar primele mele sentimente când am fost la prima prelegere. M-am uitat la sarcina pentru acest proiect (a fost dată imediat la prima prelegere) și nici nu am înțeles de unde să încep și cum să o fac. Îmi amintesc, de asemenea, ce mi-a trebuit să o fac cu succes. Aceste două luni, aproape toate gândurile din capul meu au fost că angajarea de succes și împlinirea unui vis erau în mâinile mele și nimic mai mult. Nu depindea de altcineva dacă aș putea să o fac. Doar de la mine. Îmi părăsisem deja slujba, aproape că nu aveam bani și a fost foarte greu. Am stat dimineața, am stat ziua, am stat seara, dar nu m-am săturat să mă bucur - nu-mi amintesc când m-am dedicat ceva cu o asemenea obsesie. De data aceasta m-a ajutat încă o dată să realizez cât de mult îmi place programarea și cât de mult mi-ar plăcea să lucrez în acest domeniu. La absolvire mi-am prezentat proiectul. L-am apărat foarte bine, aparent mult mai bine decât mă așteptam și, prin excepție, am fost angajat nu pentru postul inițial, ci imediat pentru postul de Middle Java Developer. Era 9 decembrie 2014. Nu-mi venea să cred, dar oferta de muncă era în fața mea pe monitor. Inginer de software. Asta s-a intamplat. M-am întors la muncă pe 15 decembrie. Niciodată nu am avut gândul „La naiba, nu vreau să merg la muncă”. În fiecare zi, plecând de acasă dimineața, știu de ce mă duc la muncă, ce voi face și cât de mult îmi doresc. Acest lucru mă face incredibil de fericit. Merită și a meritat prețul pe care a trebuit să-l plătiți pentru a vă îndeplini visul. Vă doresc tuturor celor care doriți să fiți programator să mergeți mai departe în atingerea obiectivului dvs. Este mai mult decât real, este foarte aproape, dar trebuie să plătești pentru asta. Plătește cu timpul pierdut și cu nervii tăi, pentru că să înveți ceva de la zero nu este chiar cel mai bine pas usor. JavaRush m-a ajutat să fac acești primi pași cu ușurință și nu eu am fost cel care s-a îndepărtat de la programare chiar la început din cauza complexității aparente și a abundenței teoriei. Astfel, am putut să-mi duc la bun sfârșit ideea destul de nebună de a schimba radical zona activitate profesională(chiar şi în lipsa învăţământului tehnic) până la capăt. Și cu siguranță poți.

Suntem obișnuiți acces rapid la informaţie şi la absorbţia ei la fel de rapidă. Preferăm videoclipuri de cinci minute prelegeri profunde și articole scurte decât cărți. Nu voi spune asta carte buna pe programare va înlocui orice articol, nu este așa. Și cu siguranță nu va înlocui practica. Cu toate acestea, pentru mine personal, o înțelegere reală a elementelor de bază ale programării a venit după ce, după ce am rezolvat sute de probleme într-un curs de programare și am citit o mulțime de articole, am început să studiez simultan teoria din cărți și am adâncit bine în ele. Am căutat de ceva timp „cel mai bun tutorial Java pentru începători” al meu personal. Mai jos sunt câteva cărți care mi-au fost utile într-o măsură mai mare sau mai mică în diferite etape ale studiilor mele. „Pentru cei mici” Puteți începe să citiți următoarele două cărți la începutul studiilor, în paralel cu videoclipul, sau, dacă studiați cu JavaRush, împreună cu primele niveluri. Ele, în special primul, sunt potrivite pentru persoanele cu un background de programare zero.

Capul întâi Java

Am început cu această carte nu pentru că este preferata mea, ci pentru că este cea mai simplă. Această carte, potrivit multor programatori, este cel mai bun tutorial Java de la zero. În plus, este cu adevărat și complet „de la zero”, adică este potrivit pentru cei care abia încep și nu înțeleg încă prea bine ce fel de programare bestie este. A venit la mine prea târziu. Cred că de aceea nu am putut să apreciez. A fost foarte plăcut să-l „citesc”, dar a trebuit să caut ceva anume în ea mult timp. Materialul de acolo este prezentat viu, dar mai degrabă superficial (pentru că este de la zero!) și multe subiecte și explicații necesare pur și simplu nu sunt acolo. Dar prietenul meu, căruia i-a fost moștenit, a fost încântat de el și a strigat că acesta nu este doar cel mai bun manual Java pentru începători, ci o capodopera din lumea reală și așa ar trebui să fie prezentat materialul complex. Avantaje:
  • Cel mai bun tutorial Java de la zero, pt ibrice pline, scris în limba vie;
  • Ilustrații cool și umor;
  • Explicații cu exemple din viața reală.
Defecte:
  • Multă „apă” pentru cei care au intrat deja în subiect;
  • Nu întotdeauna puzzle-uri și exerciții reușite.

Herbert Shildt. Ghidul pentru începători Java 8

După ce m-am uitat prin acest manual, m-am gândit că ar fi potrivit pentru cei cărora le place o prezentare mai tradițională a materialului decât în ​​Headfirst și, în același timp, caută un tutorial de la zero. În unele locuri, prezentarea din carte este foarte detaliată, amintește de documentația extinsă și tradusă cu bune exemple clare. Câteodată, în ceea ce mă privește, autorul trece peste linie și începe să mestece prea mult, lectura devine plictisitoare... și dintr-o dată - salt captivat - și un loc destul de complex este ratat aproape instantaneu, iar tu ești complet nedumerit încercând să înțelegi ce și unde ai pierdut. Cu toate acestea, nu există prea multe astfel de pasaje în carte și cunosc oameni care cred că Ghidul pentru începători este cel mai bun tutorial Java pentru cei care încă nu știu nimic. Personal, nu mi s-a părut foarte fin. Să presupunem că încep să triez colecțiile și, în loc de o explicație umană, îmi dau o sarcină pe auto-crearea Setați pe baza matricelor. Mișto problemă, dar aș vrea să înțeleg mai bine care sunt colecțiile standard mai întâi! Deși această carte, ca și cea anterioară, este considerată un manual pentru începători, experiența mea de profesor sugerează că este bună numai în combinație cu alte materiale: nu totul va fi simplu și de înțeles pentru un student la științe umaniste. „Ghidul pentru începători” este cel mai potrivit pentru cineva care a învățat cel puțin programarea (de exemplu, la universitate), a renunțat la el cu mult timp în urmă și, în același timp, îi place stilul de prezentare al autorului. Avantaje:
  • Prezentarea tradițională atentă a elementelor de bază;
  • Exemple bune.
Defecte:
  • Există „sărituri” de la „prea mestecat” la „spus rapid”;
  • Un pic plictisitor pe alocuri.
Apropo, Herbert Schildt are o altă carte celebră despre programare - „Java 8. Ghid complet" Acesta este un manual complet diferit, mai fundamental. Să trecem la asta. Referințe și ghiduri avansate Cărțile din această secțiune vor fi utile celor care s-au implicat deja pe deplin și caută cărți pentru o mai bună înțelegere a teoriei și practicii.

Herbert Shildt „Java 8. Ghidul complet”

Am decis să descarc această carte de pe Internet pentru a o evalua și apoi să decid dacă o cumpăr sau nu. Fără glumă, 1300 de pagini de text! Ei bine, prețul nu este mai puțin impresionant decât volumul. Am făcut exact același lucru cu „Biblioteca Profesionistului” în două volume de Kay Horstmann (mai multe despre asta mai jos). Privind în perspectivă, voi spune că l-am ales pe al doilea. De ce? Pentru că în cartea „Java. Ghidul complet” Am văzut aceleași neajunsuri ca și în „Ghidul pentru începători”. Uneori este mestecat, alteori este mototolit, dar în același timp nu este doar mototolit, ci cumva mototolit. Acesta este probabil stilul autorului și cred că cuiva îi va plăcea, sau mai bine zis, modul lor de a gândi. În general, Java 8: The Definitive Guide este o carte de referință bună pentru Java. Dar personal, mi-a plăcut mai mult prezentarea acelorași subiecte într-o altă carte. Avantaje:
  • Ghid complet. Se pare că are toate subiectele pe care un începător, și nu doar un începător, trebuie să le cunoască.
  • Explicații detaliate.
Defecte:
  • Multă apă (dar unora le-ar putea plăcea asta!);
  • Traducerea în limba rusă nu este cea mai bună.

Java. Biblioteca Profesionistului, Kay S. Horstmann, Gary Cornell

Cărțile lui Schildt și Horstmann sunt adesea comparate între ele. Ambii au fani loiali. Pentru mine, cartea în două volume a lui Horstmann este cel mai bun manual despre Java. De asemenea, a devenit o carte de referință pentru mine la nivelurile începătoare și intermediare ale JavaRush. Când nu am înțeles un subiect, m-am adresat mai ales la Horstmann, care a clarificat o mulțime de lucruri. Cartea acoperă totul, de la sintaxă la programare multithreaded, localizarea aplicațiilor și lucrul cu XML. Și nu lăsați numele „Professional’s Library” să vă sperie (asta m-a speriat), elementele de bază sunt acoperite destul de bine. În plus, este util să-l recitiți periodic pentru a vă reîmprospăta și a vă organiza cunoștințele. Se spune că până și profesioniștii își găsesc ceva util în ea... nu știu. Dacă devin profesionist, vă spun! Avantaje:
  • Cu un număr impresionant de pagini, există puțină apă (spre deosebire de Schildt).
  • Conține tot ce au nevoie începătorii.
  • Dezvăluie Java 8.
  • O bună prezentare a subiectelor despre colecții și generice.
  • Se potrivește foarte bine cu JavaRush. Ajungeți la subiect, rezolvați problemele, la un moment dat nu înțelegeți ceva - urmăriți Horstmann, încercați din nou.
Defecte:
  • Unii ar putea găsi cartea puțin uscată;
  • Fără practică;
  • Traducere rusă cu greșeli.

"Java" Metode de programare”. Blinov, Romancik

Am citit odată pe un forum că există o carte numită „Programare industrială” și a avut câteva probleme bune. S-a dovedit că nu au mințit. Am găsit o copie a acesteia în PDF pe site-ul web EPAM din Belarus. Publicația de acolo nu este cea mai nouă (pe Java 6), dar cartea este scrisă ca un manual universitar solid, adică pe alocuri prezentarea este oarecum grea și academică. DAR! Chiar sunt multe buna colectie Sarcini de programare Java, precum și sarcini de testare. Ei spun că cursanții EPAM studiază din această carte și a fost, de asemenea, adoptată de multe cursuri Java offline.

Abordarea sarcinilor de acolo este puțin diferită de cea a JavaRush, adică, în medie, sarcinile de aici sunt puțin mai complicate și fiecare dintre ele este ceva de genul... nu un mini, ci un micro-proiect. Așa că recomand JavaRush chiar și studenților, deoarece cred că dezavantajul laturii practice a cursului este că toate sarcinile din acesta sunt deja complet concepute și sunt prea multe sfaturi. Să zicem că problemele OOP din această colecție m-au ajutat să înțeleg foarte bine acest OOP, alături de cărțile „clasicilor atemporale” despre care scriu mai jos. Cartea este scrisă ca pentru viitorii „vâslători”, prin urmare descrie tehnologiile Hibernate pentru dezvoltarea sistemelor distribuite, precum și Bazele HTML, XML, JavaScript. „Programare industrială” – dacă nu cel mai bun tutorial Java, atunci foarte bun tutorial. Dar trebuie să veniți la el deja pregătit. Să spunem, după o duzină sau două niveluri de JavaRush. Mai târziu am descoperit ediția sa mai nouă și revizuită, deja sub numele „Java. Metode de programare.”

Avantaje:
  • Selecție excelentă de probleme și elemente de testare;
  • Există un oficial versiune gratuită(Cred că este oficial, deoarece nu este pe vreun root tracker, ci pe site-ul EPAM);
  • Comparație cu C++.
  • Oportunitatea de a înțelege ce înseamnă un stagiu EPAM.
Defecte:
  • Prezentare prea fundamentală. Dar pentru repetarea cu practică va fi potrivit.
  • Fără Java 8.
Clasic atemporal Cărțile despre care scriu mai jos pot fi numite texte sacre pentru începători și avansați „javiste”.

Java eficient, Joshua Bloch

Este doar o comoară, nu o carte și îi este dedicată principii de baza limbaj de la unul dintre autorii săi Joshua Bloch. Cel mai probabil, ați folosit deja bibliotecile sale (în Colecția Java, de exemplu). Lasă-mă să fac o rezervare imediat: pentru incepatori completi, cu excepția unor minuni ale învățării rapide, cartea Effective Java nu este necesară. În primul rând, este mai bine să stăpânești sintaxa și să obții măcar puțină practică de programare, ca să spunem așa, „înțeleg-o” și apoi să preiei creația lui Joshua Bloch. Cartea va fi utilă pentru cei care vor să înțeleagă cu adevărat Java, să dezvolte abordarea corectă Când programați în acest limbaj, înțelegeți nu numai cum să o faceți, ci și tot ce trebuie să faceți exact în acest fel. Și, de asemenea, pentru cei care doresc să înțeleagă profund OOP (în principiu, acestea sunt lucruri interdependente). Această carte este cel mai bun manual despre Java în contextul abordării orientate pe obiecte a programării. Avantaje
  • O prezentare genială a materialului pe tema OOP.
  • Dat cele mai bune practici programare.
  • Autorul cunoaște Java foarte bine din interior.
Defecte
  • Nu există încă o traducere a celei mai noi ediții a cărții (a treia).

Filosofia Java, Bruce Eckel

Titlul acestei cărți vorbește de la sine. Acesta este un alt „alfa și omega” pentru toți cei care doresc să cunoască Java! În această carte veți găsi exemple bune și clare, iar din ele va fi clar cum funcționează Java. Îmi este greu să spun care dintre cele două cărți este „Filosofia Java” sau „ Programare eficientă" - mai bine. Aș spune că Eckel este ceva mai prietenos cu începătorii, în timp ce Bloch necesită ceva experiență. Am citit prima dată capitolul din „Filosofia Java” când tocmai începeam să învăț JavaRush (cred că a fost listat ca fiind recomandat la unul dintre nivelurile de început). Atunci nu mi s-a potrivit. Dar după nivelul 10 sau 12 - era un cântec! Și, voi spune, o melodie foarte utilă. M-am întors la el mai târziu, când am ajuns la Programare eficientă. Voi spune asta: lăsați-i pe Bloch și Eckel să vorbească despre același lucru, dar în moduri diferite și să dea exemple diferite. Avantaje
  • O prezentare aprofundată a principiilor Java de la un profesionist;
  • Va fi bine pentru cei care trec de la alte limbi - există multe comparații cu C++, de exemplu.
  • Mi se pare că poți începe să-l citești la nivelul 10, dar Eckel - puțin mai târziu.
Defecte
  • Traduceri în limba rusă foarte nereușite;
  • Lipsa unei noi ediții a cărții în limba rusă.

Concluzii scurte

  1. Cel mai bun tutorial Java de la zero pentru cei care nu știu absolut nimic - Head First Java;
  2. Cel mai bun manual de referință Java și carte de referință este „Professional's Library”. Și, desigur, documentația Oracle.
  3. Cea mai bună colecție de sarcini de programare Java - JavaRush. Ei bine, printre cărți - „Java. Metode de programare”.
  4. Cele mai bune clasice atemporale sunt „Filosofia Java” și „Java eficient”. Aceasta este o lectura obligatorie pentru toți cei care au decis să înțeleagă totul pe bune, pentru o înțelegere profundă. Dar este mai bine să le citiți treptat și în ordine.
  5. Concluzie suplimentară: există o oportunitate - citiți în engleză. Traducerile în limba rusă sunt în general foarte slabe.

Bună dragă cititoare. Îmi doream de multă vreme să scriu un articol ca acesta, dar fie nu am avut suficient timp, fie lenea perfidă mi-a stârnit în cale. Dar, oricum, am reușit totuși să-mi adun gândurile pentru a scrie ceva care, sper, să-ți aducă ceva beneficii. Voi fi bucuros să-mi împărtășesc cunoștințele și experiența, în schimb veți primi timp și atenție. În opinia mea, această publicație Este potrivit pentru cei care sunt gata să decidă asupra intereselor lor și doresc să-și conecteze viața cu IT - într-un fel sau altul. Deci să mergem!

Alegerea unui limbaj de programare

Publicația începe să semene cu multe materiale similare. Conform legii genului, va trebui să scriu numele a câtorva trei limbaje de programare, să numesc câteva argumente pro și contra și, în final, fără să răspund la întrebare, trec la următoarea parte. Parțial, există ceva adevăr în asta, pentru că fiecare alege limba care este mai aproape de el, în funcție de tipul de produse pe care dorește să dezvolte în viitor. Cei mai multi dintre voi ati studiat Turbo Pascal la scoala si cu greu va fi o noutate ca aproape nimic nu este scris in aceasta limba acum. Deci in în acest caz,, trebuie să alegi o limbă cu înțelepciune, deși nu poți avea niciodată prea multe cunoștințe, dar dacă vrei să te alături efectiv în rândurile programatorilor într-o perioadă scurtă de timp, trebuie să abordezi alegerea limbajului cu înțelepciune. La început, amintiți-vă: bun programator nu va fi niciodată foame și, în cele mai multe cazuri, va putea să-și cumpere o mulțime de caviar(această definiție este potrivită pentru orice specialitate, dar nicio specialitate nu vă va oferi o asemenea libertate de a alege unde să lucrați, atât din punct de vedere al companiilor, cât și al țărilor - el este programator și programator în India).

Este logic că, cu cât o limbă este mai populară și mai solicitată, cu atât sunt mai mari șansele de a găsi un loc de muncă în viitor, iar limba ar trebui să fie ușor de învățat. Pentru că deși scriu în C++ un numar mare de jocuri și obțineți bani buni pentru asta, un începător, mai ales unul care nu este familiarizat cu OOP (programare orientată pe obiecte), este mai bine să lase acest limbaj deoparte pentru o vreme. Următorul link oferă o listă cu cele mai populare limbaje de programare din 2014 și, după cum puteți vedea, pe primul loc este Java, urmat de limbaje C, apoi Phyton, JavaScript, PHP, Ruby etc. Dacă cauți singur statistici similare, vei vedea asta în surse diferite locurile sunt ocupate diferit, dar în general primele 10 locuri vor avea același conținut peste tot.

Dacă apelezi la altul, care se bazează pe o analiză a posturilor vacante postate pe Twitter, vei vedea o situație foarte asemănătoare cu primul exemplu. Și da, ambele articole sunt în engleză, obișnuiește-te cu asta, dacă vrei să devii programator, reține că aproape toată documentația și sursele Informatii utile sunt scrise în limba engleză, așa că, dacă cunoștințele dvs. despre această limbă sunt slabe, adăugați învățarea și practicarea limbii engleze la lista dvs. de lucruri de făcut pentru mâine și viitorul apropiat. Cred că voi scrie chiar și un articol separat dedicat învățării unei limbi străine.

Pe baza acestor două surse, ne putem deja imagina ce limbaje de programare sunt în prezent „la modă”. După cum sugerează și titlul, autorul articolului a ales Java pentru el însuși. Deși cred că este cel mai bun pentru a învăța OOP, sunt mulți oameni care nu vor fi de acord cu mine, iar acest lucru este logic - cât mai mulți oameni, atâtea opinii. Aici ne aflăm la o mică răscruce: alegeți Java, C# (foarte asemănător cu Java), Phyton, dacă vrem să lucrăm cu umpluturile de programe și aplicații (back-end) sau PHP, JavaScript, HTML, dacă vrem să facem dezvoltare web (front-end). În primul caz, aș alege Java, iar în al doilea, PHP, deși din nou, este mai pe gustul tău, trebuie să cauți singur informații despre asta diverse limbiși în general înțelege ce vrei să faci. Pentru gândire, iată o selecție de limbi care sunt folosite în cele mai mari companii de internet din lume.

Există 2 motive principale pentru care aș alege fie Java, fie PHP. Prima este că aceste limbi sunt foarte populare și că găsirea unui loc de muncă potrivit nu va fi dificilă, iar a doua este că în nicio altă limbă nu veți găsi atât de mult material de instruire ca în aceste două, atât în ​​rusă, cât și în engleză. .

Educaţie

Așadar, am ajuns la o etapă la care majoritatea oamenilor o ating fără probleme, dar această perioadă este pe bună dreptate una dintre cele mai dificile din cariera unui programator. Deși un programator învață de-a lungul vieții, momentul în care începe să facă primii pași îi determină în mare măsură soarta viitoare. În general, antrenamentul testează puterea unei persoane, dacă o va îndura, dacă nu își va pierde interesul într-o lună (cum se întâmplă cu unii), dacă va fi capabil să ajungă la final și să stăpânească cunostinte de baza, pe care vor fi apoi stratificate straturi întregi de informații.

În general, am propria mea teorie, pe care am confirmat-o de mai multe ori în practică: Absolut totul se poate învăța într-un an.. Crede-mă, acesta este adevărul absolut, unii pot chiar avea nevoie de mai puțin timp, dar dacă o persoană nu încetează să renunțe și abordează înțelept învățarea pe tot parcursul anului, atunci este aproape imposibil să nu învețe. Acest lucru nu este doar în programare, în absolut orice domeniu: dacă vrei să cânți la chitară - nicio problemă (nu mi-a luat atât de mult timp și efort), învață tango argentinian, surf - toate acestea sunt suficiente pentru un an. Principalul lucru este să studiezi!

În acest caz, voi lua în considerare limbajul Java, deoarece este încă mai aproape de mine. Din fericire, internetul este plin de oameni care îi ajută pe alții să studieze gratuit, așa că nu va fi dificil să găsești material potrivit pentru tine. , pe care îl puteți vizualiza cu pix și hârtie în pereții apartamentului dvs. confortabil (deocamdată doar în rusă). Pentru cei obișnuiți să citească materialul prin care trec, internetul oferă din nou mari oportunitățiși acesta este doar unul dintre tot felul de site-uri cu lecții Java. Există mai mult decât suficiente teorii, dar nu pot spune destule despre un site de formare precum Coursera.org, unde puteți găsi cursuri de formare în diverse limbi și limbi. diverse zone, inclusiv programare - din nou, totul este absolut gratuit. Nu există unul sau două astfel de site-uri, trebuie doar să cauți.

Dar oricât de informativă este teoria, programarea este indispensabilă fără practică. Dar chiar și aici, jumătate din munca a fost deja făcută pentru noi și nu trebuie să căutăm diverse sarcini pentru a ne îmbunătăți abilitățile; un serviciu precum JavaRush va ajuta foarte mult în acest sens. În general, acest site oferă atât teorie, cât și practică, începând cu simpla duplicare a codului de pe ecran și terminând cu sarcini complexe, iar în pauze oferă chiar să vă relaxați și vizionați binecunoscutul serial animat. Potrivit autorilor, cei care au atins nivelul 20 în serviciu vor avea suficiente cunoștințe pentru a obține deja un loc de muncă într-o companie IT.

Și, desigur, cineva va întreba, cum rămâne cu cartea? Nu ar trebui să le citiți și, dacă da, atunci ce? La aceasta voi răspunde că nimeni nu a devenit vreodată mai prost citind cărți. Există și o mulțime de cărți, dar voi enumera doar o mică parte dintre ele:

Ajută la practică

După cum am menționat deja, practica este o parte integrantă a oricărei învățări, în special în programare. Aici va trebui să codificați și să codificați, până la memoria musculară a degetelor. Acest lucru, desigur, este puțin exagerat, dar la început va trebui să apăsați foarte mult tastele pentru a vă aminti semnificațiile diferitelor structuri, astfel încât pe viitor să le puteți utiliza aproape automat.

Mulți programatori începători au o mulțime de întrebări la început, mai ales când vine vorba de sarcină independentă. Este în regulă. Dar în astfel de situații, trebuie să înțelegi că aproape orice întrebare pe care o ai poate primi răspuns pe Internet. Este puțin probabil să fiți prima persoană care o întâlnește, așa că nu vă grăbiți să puneți imediat întrebări pe diverse forumuri pentru programatori (despre care voi scrie puțin mai târziu). Stați un minut, formulați corect problema în cap și simțiți-vă liber să o căutați într-un motor de căutare. Cu siguranță majoritatea vor căuta în rusă, dar nu uitați că limba programatorilor este engleza, așa că dacă nu ați găsit răspunsul în mare și puternic, merită să căutați într-o limbă pe care toată lumea părea că a studiat-o la școală, dar niciodata invatat. Dar chiar dacă în acest caz se dovedește că nu există niciun răspuns la întrebarea dvs., cele mai bune forumuri de internet intră în luptă:

  • Cyberforum este, după părerea mea, cel mai popular forum în limba rusă pentru specialiștii IT, aici găsiți răspunsuri la întrebări, și nu numai în domeniul programării;
  • Forumul programatorilor - un forum mare în limba rusă;
  • Searchengines este un forum binecunoscut, dar este specializat mai mult în programare web;
  • Stack overflow - și acesta, nu mă tem de aceste cuvinte, este deja cel mai popular forum IT din întreaga lume, vei găsi răspunsuri la aproape toate întrebările tale aici;
  • Dev shed este, de asemenea, un forum mare în limba engleză;
  • Quora este un forum care nu este special specializat în programare, dar Mare șansă că vei primi un răspuns de la un adevărat profesionist.

Forumurile sunt, desigur, nu singura cale obține răspunsuri la întrebările tale. În practica lor, programatorii de pretutindeni lucrează cu oficial documentație limba în care scriu. Descrie modul în care funcționează anumite clase și interfețe; uneori documentația este singura sursă care poate ajuta la rezolvarea problemelor, deoarece aceasta este doar stadiul inițial toată lumea are întrebări similare și le poți găsi fără probleme soluții gata făcute, dar cu cât ajungi mai departe în sălbăticie, cu atât este din ce în ce mai greu să găsești răspunsuri, așa că trebuie să te bazezi pe capul tău, sper, deja inteligent.

Compilarea codului

Am scris deja destul de mult, bineînțeles, este greu să acoperiți un subiect atât de amplu într-un articol, dar cred că primii pași au fost deja făcuți și ar trebui să vă trezească gândurile potrivite. Cred că acesta este doar primul articol din seria „Cum să devii programator” și, în consecință, „de ce?” dacă te afli la răscruce și nu știi încă ce cale să alegi. Data viitoare voi atinge lucruri mai interesante din punct de vedere material, pentru că nu este un secret pentru nimeni că programatorii nu sunt oameni săraci și vom vedea unde și cât de mult vor fi plătiți data viitoare.

În cele din urmă, pentru cei care își doresc cu adevărat să devină programator, vă doresc să luați taurul de coarne, să vă adunați toată voința într-un pumn și să faceți ce vă place. S-a spus de mii de ori înainte, dar voi repet, principalul lucru este dorința și munca. Atunci totul se va rezolva pentru tine. Amintiți-vă cel mai important lucru: percepe învățarea limbajelor de programare și diverse tehnologii nu ca scop, ci ca MIJLOC. Imaginează-ți doar ce oportunități ți se deschid. Poate vei deveni unul dintre cei care schimbă lumea în timp real. Deci mult succes si multumesc pentru atentie!

Bonus video

Etichete: Adăugați etichete

Programez în Java de 7 ani acum. Dar la locul de muncă trebuie adesea să pregătim o nouă generație. În acest sens, am decis să fac niște cheat sheet, care, sper, vor fi de folos locuitorilor Khabr. Dacă cineva poate ajuta la completarea informațiilor din acest articol cu ​​ceva, atunci scrieți! Asa de:

Resurse esentiale pentru formarea initiala

  • www.javable.com - un site cu articole și tutoriale despre Java.Totul este în mare parte în rusă.
  • www.exampledepot.com - foarte resursă utilă unde se colectează exemple scurte folosind clase pentru anumite pachete
  • java.sun.com - nu vă puteți lipsi de sursa originală. Pentru orice programator Java, JavaDoc ar trebui să fie adevărul suprem. De asemenea, puteți găsi aici o serie de tutoriale pe toate subiectele posibile.

Pachete Java de bază

Mai jos este o listă de pachete Java cu care un programator ar trebui să fie confortabil. Este recomandat să vă familiarizați cu ele atât prin JavaDocs, cât și folosind www.exampledepot.com Toate pachetele sunt aranjate în ordinea recomandată pentru studiu. Deci:
  1. java.lang este elementele de bază. Fiecare clasă din acest pachet necesită o atenție individuală.
  2. java.io - niciun program nu poate face fără operațiuni I/O.
  3. java.util - pachetul conține practic tot ce este necesar pentru a lucra cu colecții: Colecție, Enumerare, Set, Listă, Hartă etc. și așa mai departe.
  4. java.net - conține clasele principale pentru lucrul cu rețeaua.
  5. java.text - tot ce aveți nevoie pentru a formata text
  6. java.lang.reflect - Java nu ar fi Java dacă nu ar fi Reflection. Reflection estompează linia dintre date și cod.
  7. javax.sql - tot ce aveți nevoie pentru a lucra cu baze de date
  8. javax.xml.* , org.w3c.dom.* , org.xml.sax.* - fără aceste pachete, lucrul cu XML este pur și simplu de neconceput

Resurse pentru a vă lărgi orizonturile

  • onjava.com - mai devreme sau mai târziu toate știrile din lumea Java ajung aici
  • www.javaspecialists.eu - resursa este utilă atât pentru începători, cât și pentru programatori avansați, deoarece conține multe articole despre complexitatea lucrului cu Java.
  • www.theserverside.com - este recomandat să vă abonați la RSS, deoarece adesea apar lucruri foarte interesante despre Java.

Biblioteci Java pe care toată lumea ar trebui să le știe

Java nu se termină doar cu a ști ce poate face JSDK. Pentru a vă simți confortabil, trebuie să știți despre alte două duzini de biblioteci terțe utilizate Programatori Java pretutindeni. Deci, să începem cu cele principale:
  • Commons Lang - ceea ce au „uitat” să includă în JDK
  • Commons Math este un program de completare excelent pentru java.math
  • Commons Logging - înregistrarea trebuie să fie competentă. Pentru ca System.out.println să scoată jurnalele, programatorii începători ar trebui să-și taie mâinile după doar o săptămână de antrenament.

Bună dragă cititoare. Îmi doream de multă vreme să scriu un articol ca acesta, dar fie nu am avut suficient timp, fie lenea perfidă mi-a stârnit în cale. Dar, oricum, am reușit totuși să-mi adun gândurile pentru a scrie ceva care, sper, să-ți aducă ceva beneficii. Voi fi bucuros să-mi împărtășesc cunoștințele și experiența, în schimb veți primi timp și atenție. În opinia mea, această publicație este potrivită pentru cei care sunt gata să decidă asupra intereselor lor și doresc să-și conecteze viața cu IT - într-un fel sau altul. Deci să mergem!

Alegerea unui limbaj de programare

Publicația începe să semene cu multe materiale similare. Conform legii genului, va trebui să scriu numele a câtorva trei limbaje de programare, să numesc câteva argumente pro și contra și, în final, fără să răspund la întrebare, trec la următoarea parte. Parțial, există ceva adevăr în asta, pentru că fiecare alege limba care este mai aproape de el, în funcție de tipul de produse pe care dorește să dezvolte în viitor. Cei mai multi dintre voi ati studiat Turbo Pascal la scoala si cu greu va fi o noutate ca aproape nimic nu este scris in aceasta limba acum. Deci, în acest caz, trebuie să alegeți limba cu înțelepciune, deși nu puteți avea niciodată prea multe cunoștințe, dar dacă doriți să vă alăturați efectiv în rândurile programatorilor într-o perioadă scurtă de timp, trebuie să abordați alegerea limbajului cu înțelepciune. La început, amintiți-vă: un programator bun nu va lipsi niciodată de foame și, în majoritatea cazurilor, își va putea cumpăra mult caviar(această definiție este potrivită pentru orice specialitate, dar nicio specialitate nu vă va oferi o asemenea libertate de a alege unde să lucrați, atât din punct de vedere al companiilor, cât și al țărilor - el este programator și programator în India).

Este logic că, cu cât o limbă este mai populară și mai solicitată, cu atât sunt mai mari șansele de a găsi un loc de muncă în viitor, iar limba ar trebui să fie ușor de învățat. Pentru că, deși un număr mare de jocuri sunt scrise în C++ și primesc bani buni pentru asta, este mai bine pentru un începător, mai ales unul care nu este familiarizat cu OOP (programare orientată pe obiecte), să lase acest limbaj deoparte pentru o vreme. Următorul link oferă o listă cu cele mai populare limbaje de programare din 2014 și, după cum puteți vedea, pe primul loc este Java, urmat de limbaje C, apoi Phyton, JavaScript, PHP, Ruby etc. Dacă cauți singur statistici similare, vei vedea că în diferite surse locurile sunt ocupate diferit, dar în general primele 10 locuri în conținut vor fi aceleași peste tot.

Dacă apelezi la altul, care se bazează pe o analiză a posturilor vacante postate pe Twitter, vei vedea o situație foarte asemănătoare cu primul exemplu. Și da, ambele articole sunt în limba engleză, obișnuiți-vă, dacă doriți să deveniți programator, amintiți-vă că aproape toată documentația și sursele de informații utile sunt scrise în engleză, așa că dacă cunoștințele dvs. despre această limbă sunt slabe, adăugați-o la lista dvs. de lucruri de făcut pentru mâine și viitorul apropiat pentru a învăța și a practica limba engleză. Cred că voi scrie chiar și un articol separat dedicat învățării unei limbi străine.

Pe baza acestor două surse, ne putem deja imagina ce limbaje de programare sunt în prezent „la modă”. După cum sugerează și titlul, autorul articolului a ales Java pentru el însuși. Deși cred că este cel mai bun pentru a învăța OOP, sunt mulți oameni care nu vor fi de acord cu mine, iar acest lucru este logic - cât mai mulți oameni, atâtea opinii. Aici ne aflăm la o mică răscruce: alegeți Java, C# (foarte asemănător cu Java), Phyton, dacă vrem să lucrăm cu umpluturile de programe și aplicații (back-end) sau PHP, JavaScript, HTML, dacă vrem să facem dezvoltare web (front-end). În primul caz, aș alege Java, iar în al doilea, PHP, deși din nou, este mai pe gustul tău, trebuie să cauți singur informații despre diverse limbi și să înțelegi, în general, ce vrei să faci. Pentru gândire, iată o selecție de limbi care sunt folosite în cele mai mari companii de internet din lume.

Există 2 motive principale pentru care aș alege fie Java, fie PHP. Prima este că aceste limbi sunt foarte populare și că găsirea unui loc de muncă potrivit nu va fi dificilă, iar a doua este că în nicio altă limbă nu veți găsi atât de mult material de instruire ca în aceste două, atât în ​​rusă, cât și în engleză. .

Educaţie

Așadar, am ajuns la o etapă la care majoritatea oamenilor o ating fără probleme, dar această perioadă este pe bună dreptate una dintre cele mai dificile din cariera unui programator. Deși un programator învață de-a lungul vieții, momentul în care începe să facă primii pași îi determină în mare măsură soarta viitoare. În general, antrenamentul testează puterea unei persoane, dacă o va îndura, dacă nu își va pierde interesul într-o lună (cum se întâmplă cu unii), dacă va fi capabil să ajungă la final și să stăpânească cunoștințele de bază, pe care straturi întregi de informațiile vor fi apoi stratificate.

În general, am propria mea teorie, pe care am confirmat-o de mai multe ori în practică: Absolut totul se poate învăța într-un an.. Crede-mă, acesta este adevărul absolut, unii pot chiar avea nevoie de mai puțin timp, dar dacă o persoană nu încetează să renunțe și abordează înțelept învățarea pe tot parcursul anului, atunci este aproape imposibil să nu învețe. Acest lucru nu este doar în programare, în absolut orice domeniu: dacă vrei să cânți la chitară - nicio problemă (nu mi-a luat atât de mult timp și efort), învață tango argentinian, surf - toate acestea sunt suficiente pentru un an. Principalul lucru este să studiezi!

În acest caz, voi lua în considerare limbajul Java, deoarece este încă mai aproape de mine. Din fericire, internetul este plin de oameni care îi ajută pe alții să studieze gratuit, așa că nu va fi dificil să găsești material potrivit pentru tine. , pe care îl puteți vizualiza cu pix și hârtie în pereții apartamentului dvs. confortabil (deocamdată doar în rusă). Pentru cei care sunt obișnuiți să citească materialul prin care parcurg, Internetul oferă din nou oportunități grozave și acesta este doar unul dintre tot felul de site-uri cu lecții Java. Există mai mult decât suficiente teorii, dar nu pot spune nimic despre un site de formare precum Coursera.org, unde puteți găsi cursuri de formare în diverse limbi și în diverse domenii, inclusiv programare - din nou, totul este absolut gratuit. Nu există unul sau două astfel de site-uri, trebuie doar să cauți.

Dar oricât de informativă este teoria, programarea este indispensabilă fără practică. Dar chiar și aici, jumătate din munca a fost deja făcută pentru noi și nu trebuie să căutăm diverse sarcini pentru a ne îmbunătăți abilitățile; un serviciu precum JavaRush va ajuta foarte mult în acest sens. În general, acest site oferă atât teorie, cât și practică, începând cu simpla duplicare a codului de pe ecran și terminând cu sarcini complexe, iar în pauze oferă chiar să vă relaxați și vizionați binecunoscutul serial animat. Potrivit autorilor, cei care au atins nivelul 20 în serviciu vor avea suficiente cunoștințe pentru a obține deja un loc de muncă într-o companie IT.

Și, desigur, cineva va întreba, cum rămâne cu cartea? Nu ar trebui să le citiți și, dacă da, atunci ce? La aceasta voi răspunde că nimeni nu a devenit vreodată mai prost citind cărți. Există și o mulțime de cărți, dar voi enumera doar o mică parte dintre ele:

Ajută la practică

După cum am menționat deja, practica este o parte integrantă a oricărei învățări, în special în programare. Aici va trebui să codificați și să codificați, până la memoria musculară a degetelor. Acest lucru, desigur, este puțin exagerat, dar la început va trebui să apăsați foarte mult tastele pentru a vă aminti semnificațiile diferitelor structuri, astfel încât pe viitor să le puteți utiliza aproape automat.

Mulți programatori începători au o mulțime de întrebări la început, mai ales atunci când trebuie să finalizeze o sarcină independentă. Este în regulă. Dar în astfel de situații, trebuie să înțelegi că aproape orice întrebare pe care o ai poate primi răspuns pe Internet. Este puțin probabil să fiți prima persoană care o întâlnește, așa că nu vă grăbiți să puneți imediat întrebări pe diverse forumuri pentru programatori (despre care voi scrie puțin mai târziu). Stați un minut, formulați corect problema în cap și simțiți-vă liber să o căutați într-un motor de căutare. Cu siguranță majoritatea vor căuta în rusă, dar nu uitați că limba programatorilor este engleza, așa că dacă nu ați găsit răspunsul în mare și puternic, merită să căutați într-o limbă pe care toată lumea părea că a studiat-o la școală, dar niciodata invatat. Dar chiar dacă în acest caz se dovedește că nu există niciun răspuns la întrebarea dvs., cele mai bune forumuri de internet intră în luptă:

  • Cyberforum este, după părerea mea, cel mai popular forum în limba rusă pentru specialiștii IT, aici găsiți răspunsuri la întrebări, și nu numai în domeniul programării;
  • Forumul programatorilor - un forum mare în limba rusă;
  • Searchengines este un forum binecunoscut, dar este specializat mai mult în programare web;
  • Stack overflow - și acesta, nu mă tem de aceste cuvinte, este deja cel mai popular forum IT din întreaga lume, vei găsi răspunsuri la aproape toate întrebările tale aici;
  • Dev shed este, de asemenea, un forum mare în limba engleză;
  • Quora este un forum care nu este special specializat în programare, dar există o mare probabilitate să primești un răspuns de la un adevărat profesionist.

Forumurile nu sunt, desigur, singura modalitate de a obține răspunsuri la întrebările tale. În practica lor, programatorii de pretutindeni lucrează cu oficial documentație limba în care scriu. Descrie modul în care funcționează anumite clase și interfețe, uneori documentația este singura sursă care poate ajuta la rezolvarea problemelor, pentru că abia la etapa inițială toată lumea are întrebări similare și poți găsi cu ușurință soluții gata făcute, dar cu cât ajungi mai departe în jungle , cu atât este din ce în ce mai greu să găsești răspunsuri, așa că trebuie să te bazezi pe capul tău, sper, deja inteligent.

Compilarea codului

Am scris deja destul de mult, bineînțeles, este greu să acoperiți un subiect atât de amplu într-un articol, dar cred că primii pași au fost deja făcuți și ar trebui să vă trezească gândurile potrivite. Cred că acesta este doar primul articol din seria „Cum să devii programator” și, în consecință, „de ce?” dacă te afli la răscruce și nu știi încă ce cale să alegi. Data viitoare voi atinge lucruri mai interesante din punct de vedere material, pentru că nu este un secret pentru nimeni că programatorii nu sunt oameni săraci și vom vedea unde și cât de mult vor fi plătiți data viitoare.

În cele din urmă, pentru cei care își doresc cu adevărat să devină programator, vă doresc să luați taurul de coarne, să vă adunați toată voința într-un pumn și să faceți ce vă place. S-a spus de mii de ori înainte, dar voi repet, principalul lucru este dorința și munca. Atunci totul se va rezolva pentru tine. Amintiți-vă cel mai important lucru: percepe învățarea limbajelor de programare și diverse tehnologii nu ca un scop, ci ca pe un MIJLOC. Imaginează-ți doar ce oportunități ți se deschid. Poate vei deveni unul dintre cei care schimbă lumea în timp real. Deci mult succes si multumesc pentru atentie!

Bonus video

Etichete:

  • cum să devii programator
  • invata programarea
  • invata java
Adaugă etichete

Cele mai bune articole pe această temă