Spuneți-mi, este cu adevărat posibil să învăț această limbă fără a avea experiență în programare sau spune-mi să încep cu o limbă mai simplă.
Răspunsul depinde foarte mult de obiectivele pe care le-ați stabilit pentru dvs. Am trecut cu vederea subiectul "deveniți programator la 27 de ani", dar obiectivele sunt încă vagi. Înțeleg că nu este vina dvs.: este imposibil să se articuleze exact ceea ce doriți să obțineți într-o întrebare despre care aveți doar ideea cea mai generală. Prin urmare, acum voi încerca să răspund exact la întrebarea dvs. din aceste poziții - în mod firesc, în măsura exclusivă a percepției mele subiective.
Cel mai important lucru care vă interesează este, desigur, când puteți începe să câștigați bani cu programarea dvs. și, desigur, în ce mărimi.
Scenariul cel mai realist este ceva de genul: poziția programator în orice birou de tip sovietic, cum ar fi există la fabrica de tricotat în încrederea sau de utilitate publică, într-un mic departament de automatizare, cu o echipă de câteva nu este cele mai avansate specialiști. Economia - sarcini de depozit, contabilitate, mici programe auto-scrise. Toate acestea vor trebui sprijinite cât mai bine posibil și, dacă este posibil, dezvoltate. Toolkit - cel mai adesea o grădină zoologică completă: FoxPro, Access, C, VB, Delphi - în general, poate fi orice.
Acesta nu este scenariul cel mai de invidiat, dar pare cel mai rapid dintre cele reale. Dacă funcționează acest lucru, aș învăța mai întâi Access și VB.
Plus faptul că, oferind partea din spate, puteți deja îndrăzneți să rămânem la tehnologii mai avansate, angajate în auto-dezvoltare în timpul orelor de lucru și de la locul de muncă - ajutând astfel atât la birou și îmbunătățirea nivelului său profesional.
Un alt aspect util al acestei strategii - că, în acest soprikosneshsya suficient de devreme cu specificul programării practice și suport: relația cu clientul, cu utilizatorii, probleme tehnice, activitatea rețelei, servere, etc. - lucruri care sunt pe curs cu greu pot să vă spun. .
Puteți lua în considerare și un alt scenariu: când obiectivul este inițial pus în echipa de dezvoltatori profesioniști, cu tehnologie modernă, salarii bune, cafea gratuită în mașina de cafea etc.
În acest caz, trebuie să vă decideți singur: fie va fi Java, fie .Net. Nu există nici un al treilea (de fapt, există o altă zonă de grafica / multimedia / jocuri de noroc - nu va avea nevoie de C / C ++, dar este în situația noastră scenariul puțin probabil).
Deci, atunci când alegi între Java și .Net. O să spun imediat despre .Net, știu practic nimic, cu excepția faptului că este o platformă Microsoft. Pentru mine, totuși, acest lucru este suficient pentru a pune imediat pe el o cruce din motive de dezgust personal. Dar recunosc că nu toată lumea în această chestiune este atât de scrupuloasă, deci depinde de tine.
Cred că mediul .Net ar trebui să fie mai simplu și mai prietenos pentru învățare și dezvoltare.
În orice caz, Java ca primul limbaj de programare nu ar sfătui pe nimeni: este ușor ca copacii să piardă pădurea.
Cel mai ideal, după părerea mea, ar fi să încep cu limbajul C. Aceasta ar pune bazele și înțelegerea modului în care programele funcționează pentru tot restul vieții. Dar într-o situație în care într-adevăr doriți să mâncați, aceasta nu este cea mai potrivită strategie.
Iată cinci cenți
Cel mai ideal, după părerea mea, ar fi să încep cu limbajul C. Aceasta ar pune bazele și înțelegerea modului în care programele funcționează pentru tot restul vieții. Dar într-o situație în care într-adevăr doriți să mâncați, aceasta nu este cea mai potrivită strategie.
Despre baza ipotecă sunt total de acord. Doar am o astfel de întrebare - am nevoie de o înțelegere a acestor principii pentru un programator de aplicații, care reprezintă 90%? Presupun că le cunosc, dar nu sunt sigur că acest lucru mă ajută foarte mult în programarea Java. Dacă sunteți angajat în programarea sistemului sau în lucruri care sunt aproape de programarea sistemului, astfel de cunoștințe sunt, fără îndoială, necesare. Da, și apoi scrie probabil cel mai probabil doar în C. Și puteți scrie un sistem de aplicații pentru contabilizarea mărfurilor fără ele.
Încă o observație. Puneți-vă în poziția unei persoane care nu a fost niciodată angajată în programare. Ce va fi mai ușor pentru el să învețe Java procedurală sau orientată pe obiecte, unde va opera cu obiecte, proprietăți și comportament? Nu știu răspunsul exact la această întrebare. Cu toate acestea, mai aproape de al doilea. orientate obiect limbaje de programare mai aproape de activitatea mentală umană obișnuită, IMHO va fi mai ușor pentru a descrie setul de clase care corespund domeniului programului decât să traducă acești termeni într-o limbă în apropierea mașinii.
Observația despre API-ul mare este adevărată, dar nu este necesar să învățăm totul în același timp. Treptat, după cum este necesar. În cele din urmă, vasta bibliotecă standard Java nu este un dezavantaj, ci o virtute. Un subset care corespunde aproximativ bibliotecii standard a aceluiași C, poate fi studiat nu mai repede.