Programiram gotovo 15 godina..
Kreni s Pythonom, nije bitan prvi jezik koji naučiš, bitno je da pohvataš neke osnovne koncepte/logiku/način razmišljanja koji su potrebni za rad u bilo kojem jeziku.
S Pythonom ćeš kao početnik imati puno manje problema, C++ je beštija od jezika za početnike koju treba ukrotiti.
Ove savjete "ovisi čim se želiš baviti", ignoriraj. Dobronamjerni su, no generalno nisu relevantni.Kad skontaš što je programiranje i kako se to zapravo radi, onda možeš učiti druge jezike koji su bliži onome što stvarno želiš raditi.
Kad skontaš što je programiranje i kako se to zapravo radi, onda možeš učiti druge jezike koji su bliži onome što stvarno želiš raditi.
​
Kad budeš procijenio da si spreman za idući korak, prođi neke materijale o operativnim sustavima i o tome kako kompjuter zapravo radi. Imaš na edx "Computation Structures" u tri dijela. Ne moraš to znati detaljno, samo da odgledaš sva tri dijela i da ugrubo imaš neke ideje kako sve to funkcionira će ti puno pomoći dugoročno.
I na udacity imaš "intro to operating systems", to bi bilo bolje da malo konkretnije savladaš.
Poanta je u tome što taj dio "odispod" nije nikakva magija, i tebi relevantan dio je prilično jednostavan. Naravno, ima nekih edge-caseva, no ako nećeš programirat kompajlere, ne zamaraš se s time.
NAKON TOGA (nemoj kretati s ovim jezicima, prvo se igraj s Python-om), moja preporuka je: https://www.coursera.org/learn/programming-languages jer to te provede kroz gotovo sve bitne koncepte samih jezika. I onda nakon toga, ideš na rust-lang (možeš i C, ali nemoj C++) da povežeš malo konkretnije sve koncepte sa computer architecture. Preporučam Rust naspram C-a, compiler greške su user friendly.
​
Generalni takeaway: ima puno toga, sve je zanimljivo. Dok probijaš trenutni item s "TODO-liste" idi u širinu sa znanjem.
Eh, i još tri stvari.
Prva: Ako nisi nikada koristio linux, nemoj niti pokušavati dok ne dođeš do OS dijela. (vjerojatno bi bilo dobro da odgledaš makar onaj udacity course prije). Kad-tad bi trebao i to savladati, no dok se boriš sa programskim konceptima to će ti biti još jedan problem.
Druga: Koristi PyCharm kao IDE i nauči što prije koristiti debugger. To ti omogućava da izvršavaš kod liniju po liniju i pratiš stanje programa/varijabli, pa skužiš lagano zašto nešto ne radi kako treba.
Treća: Iako sam već spomenuo, ima stvarno jako puno toga. Naići ćeš na puno problema gdje nećeš imati pojma kako dalje, no potrudi se i nemoj odustati. Najviše ćeš se namučiti u početku, no uz malo sreće brzo ćeš se istrenirat na dopamin-rush koji slijedi kad riješiš problem.
Četvrta: gotovo sigurno će greške biti u tvome kodu, postavkama, načinu na koji nešto pokrećeš a ne u interpreteru/kompajleru/operativnom sustavu/hardveru.