Nijedan programski jezik nije objektivno superioran u odnosu na druge. Štoviše, dobar programer bi trebao tečno govoriti nekoliko jezika i barem površno navigirati još nekoliko jezika. Ali učenje JavaScripta, HTML-a i Rubyja odjednom je loša ideja. Čak i veoma loše. Morate početi s jednom stvari.
Zašto uopće učiti programiranje
Čak i ako ne dođe do ničega ozbiljnog (punopravan prihod od razvoja aplikacija ili web dizajna, na primjer, ili pokretanja vlastitog projekta), učenje programiranja je način kreiranja dizajna za ne baš pametne, ali vrlo poslušne mašine - definitivno košta. Prvo, natjerat će mozak da radi, a to je uvijek dobro. Čak i predsjednik Sjedinjenih Država govori o prednostima učenja kodiranja.
Drugo, svima onima koji su po zanimanju nekako povezani sa tehnologijom. Obrazloženje za odabir programskog jezika će dati bilo koji programer web stranice kupcu, bilo kojem administratoruresurs kompanije - copywriter. Barem opšte poznavanje razvojnog okruženja u kojem kolege rade omogućit će vam da brzo pronađete zajednički jezik u timu i uspješnije implementirate različite projekte.
Gdje početi učiti programiranje
Odabir programskog jezika, posebno prvog, nije lak zadatak. Ali biće jako teško ako ne znate engleski barem na osnovnom (školskom) nivou. Naravno, neki instrumenti su rusifikovani, drugi su entuzijasti prevedeni na ruski, ali činjenica ostaje.
Da, iu budućnosti će biti mnogo lakše naći posao sa znanjem stranog jezika. Ovdje je korisno učiti engleski svima:
- zaposlenici koji mogu dobiti posao u korporaciji sa svjetskom reputacijom;
- slobodnjaci koji će moći da rade na berzama na engleskom jeziku, gde obično ima više narudžbi i veće plate.
Kriterijumi za odabir programskog jezika
Biće potrebno stotine sati prakse prije nego što postanete kompetentni u svom prvom programskom jeziku, tako da bezumno učenje bilo čega nije vrijedno toga. Izbor programskog jezika zavisi od razvojnog okruženja u kojem želite da radite, ličnih preferencija, perspektiva i još mnogo toga.
Prvo morate odlučiti o ciljevima. Na primjer, na kojoj platformi (u kom okruženju) želite raditi: web, mobilni uređaji, igre i 3D grafika ili velike korporacije.
U web razvoju, morate birati između nekoliko područja odgovornosti: front-end, back-end, full-stack. Front-end programeri su odgovorni za brzinu učitavanja sajta i ispravan rad koda, back-end programeri su odgovorni za pisanje serverskog koda, a stručnjaci za full stack mogu sami ispuniti sve zahtjeve korisnika. Full-stack programeri su danas najtraženiji na tržištu rada.
Tri stuba front-end programera su JavaScript, HTML i CSS. Osim toga, morate biti svjesni najnovijih internet trendova i biti u mogućnosti da ih primijenite u svom svakodnevnom radu. PHP je osnovno znanje za back-end specijaliste. Ovo nije jedini alat, već osnova cjelokupnog back-end razvoja. Kao drugi jezik, morate naučiti Ruby ili Python. Iskustvo sa bazama podataka, osnovama JavaScript-a i SQL-a će takođe dobro doći. Pored samih programskih jezika, potrebno je proučiti sve priložene dodatke.
Razvoj mobilnih aplikacija koristi JavaScript za Android i Objective-C za iOS. Korisno je posjetiti službene resurse za programere, a u slučaju rada sa iOS-om i upoznati se sa sučeljem i funkcionalnošću Xcode-a, besplatnog okruženja za kreiranje aplikacija. Igre i 3D animacija trebaju C++.
Oni koji ubuduće žele da se zaposle u nekoj od visokotehnoloških korporacija i više ne brinu o dobrobiti sutrašnjice, dobro obavljajući svoje dužnosti, neka krenu od izbora upravo ove korporacije. Windows radi sa C, Google i Facebook rade sa Pythonom, a Apple radi sa Objective-C.
Izbor programskog jezika bi trebao biti zasnovan na sljedećim faktorima:
- Potražnja na tržišturad.
- Lakoća učenja.
- Dugoročni.
- Koji projekti se mogu razvijati na ovom jeziku (izbor jezika i programsko okruženje).
Ako je posljednja tačka - platforme i pogodni programski jezici ukratko navedeni gore - sve je manje-više jasno, šta je s ostalim tačkama? Indeed.com, vodeća svjetska stranica za traženje posla, s vremena na vrijeme objavljuje statistiku poslova (omjer ponuda i onih koji traže posao). Bilo bi dobro izabrati programski jezik na osnovu ovih podataka, ali ne treba se voditi ni samo suvom statistikom.
Dakle, postoji 2.7 stručnjaka za jednu poziciju programera za Python, Java, Objective-C ili PHP. Ako pogledate JavaScript podatke, možete vidjeti da je ovo definitivno tržište prodavača - ima samo 0,6 programera po poziciji. Osim toga, JavaScript se razvija mnogo brže od bilo kojeg drugog jezika, što nudi odlične dugoročne izglede.
Razlog za odabir C++, C, Objective-C, PHP ili bilo kog drugog programskog jezika je takođe zasnovan na lakoći učenja. Početnik, posebno onaj koji uči jezik iz knjiga ili kurseva, teško da će se nositi sa složenim C++ ili Javom. Relativno je lako naučiti Python, JavaScript ili Ruby. Ruby i Python su čitljivi i imaju neke od najaktivnijih zajednica.
Za one bez iskustva
Ako vam se čini da je programiranje veoma težak zadatak, trebali biste početi s nečim lakšim, kao što je HTML ili CSS. HTML nije jezikprogramiranje u punom smislu, nego je to markup jezik za web stranice. CSS je moderniji HTML "pomoćnik" koji vam omogućava da stranice učinite ugodnijim za oko, igrate se fontovima, dodajete elemente dizajna u dizajn web stranice, itd.
Svako ko je ikada pisao slobodne članke verovatno je naišao na HTML, a oni koji su probali blogovanje možda su upoznati sa CSS-om. Da, i svaki kurs iz osnova programiranja počinje sa ova dva elementa, tako da poznavanje osnova neće biti suvišno. Možete naučiti iz knjiga:
- B. Lourson, R. Sharp "Učenje HTML-a 5".
- K. Schmitt “CSS. Programiranje recepata.”
Ranije ste, uz nekoliko pametnih knjiga o CSS-u i HTML-u, već mogli konkurisati za neku poziciju, sada je to odskočna daska sa koje možete krenuti dalje.
Programeri web aplikacija
Odabir PHP ili JavaScript programskog jezika je za web programere. Da biste internet resurse učinili ljepšim, zanimljivijim i funkcionalnijim, potreban vam je JavaScript. Sa njim možete raditi dosta različitih stvari u korisničkom interfejsu.
Najbolje opravdanje za odabir PHP programskog jezika je web razvoj. Ako govorimo o strani servera, poslužiće PHP, Python, Ruby i isti JavaScript. Odabir C programskog jezika je također dobra ideja. Microsoft radi u C, Python je kao Lego, a Ruby je kao glina.
Za web dizajnerei slagači
Dizajneri su kreativni ljudi koji sebe smatraju daleko od egzaktnih nauka. Ali pisanje koda je kao slikanje slike, tako da sumnje oko toga da li se uopće isplati učiti programiranje treba odmah odbaciti. Postoji mišljenje da je bolje biti prvoklasni dizajner nego drugorazredni programer, ali dizajner treba da poznaje JavaScript barem da bi implementirao svoje ideje. Relativno jednostavan Python ili Ruby će također poslužiti.
Android iOS programeri
Android aplikacije se obično razvijaju u Javi. Možete raditi na bilo kojem operativnom sistemu - prevalencija "Android" pametnih telefona učinila je razvoj aplikacija na njima veoma popularnim. Razvojno okruženje se može instalirati i na Windows i na iOS.
Što se tiče Applea, razvoj je mnogo zahtjevniji za alate. Morate naučiti Objective-C, razvojni komplet i upute za programere od Apple-a. Možete raditi samo sa "apple" uređajima - Mac sa verzijom operativnog sistema 10.7 ili novijom.
Ako dijete želi naučiti šifrirati
Ovakva želja mlađe generacije je za svaku pohvalu. Ovo djeci otvara nove mogućnosti i jednostavno nevjerovatne načine izražavanja. Dijete je sasvim sposobno samostalno kreirati kratki crtani film ili jednostavnu igru. Programiranje nije ništa teže za djecu od stranih jezika, a takođe otvara više mogućnosti već u adolescenciji.
Možete početi sScratch. Ova usluga je namijenjena djeci od 8 godina i omogućit će vam kreiranje crtanih filmova, igrica, animacija. Medij se distribuira besplatno. Najvjerovatnije djetetu neće ni trebati pomoć roditelja, dosta je jednostavno razumjeti uslugu.
Šta trebate znati osim programskog jezika
Pored programskog jezika i engleskog, morate znati još nešto. Sve ovisi o odabranom smjeru. Morate naučiti okvire, algoritme, baze podataka i strukture podataka, spremišta kodova, razumjeti kako tehnologija funkcionira, proučavati fiziku i biologiju da biste kreirali pljačke i znati mnogo više. U početku je bolje ne žuriti u bazen glavom, učiti postepeno, čitati članke na specijalizovanim resursima i postepeno razumjeti nove pojmove.
Uopšteno govoreći, glavna vještina svakog programera je da može koristiti Google. Bez ovoga ništa neće raditi. Možete se obratiti forumima na kojima se okupljaju programeri koji rade na određenom jeziku, traže neka gotova rješenja ili proučavaju resurse na engleskom.
Na zatvaranju
Postoji jedna tajna koja će vam pomoći da postanete najbolji ne samo na polju programiranja, već općenito bilo gdje. Samo treba nešto da uradiš. Dobar način je pronaći problem koji treba riješiti. Možda trebate napraviti web stranicu sa vizit kartama za svoje poslovanje, pronaći pogodan alat za kontrolu finansija ili automatizirati distribuciju tvitova svojim pretplatnicima? Dalje, treba se uvjeriti da je cilj dostižan, jer bez iskustva i tima, malo je vjerovatno da će napraviti klon Call of Duty. Sada je vrijemeodaberite skup tehnologija koje će riješiti problem.
Uostalom, nikada se ne možete nadati da ćete postati pravi profesionalac za mjesec ili čak godinu dana. Nekima je programiranje vrlo lako, drugi proučavaju tone informacija i prave desetke aplikacija dok konačno ne shvate kako ova ili ona naredba funkcionira. Oba ova puta su ispravna. Samo trebate nešto učiniti.
I nije bitno koji programski jezik odabrati. Ionako još morate naučiti neke od njih. Štaviše, mnogi alati i tehnike su slični na različitim jezicima. Biće lakše preći na nešto drugo, kasnije završiti učenje problematičnih tema nego što je bilo oduzeti prvi jezik. I svakako prija.