Naučiti novi programski jezik

Učenjem novih programskih jezika uvidjet ćete nove načine razmišljanja, pogotovo ako novi jezik koristi paradigme koje do tada niste upoznali. Novi način razmišljanja koji naučite može primijeniti na jezike koje već znate, a možda čak i poželite početi koristiti novi jezik za ozbiljne projekte.

Veliko iskustvo i znanje možete steći sa kvalitetnim jezicima poput Forth, PostScript, Factor, Haskell, Prolog ili Erlang.

Čitanje kvalitetnih knjiga

Veoma mnogo se može naučiti iz knjiga. Iako je praksa važna, čitajući neku od stvarno dobrih i izazovnih knjiga za programiranje može biti odličan trening za vaše razmišljanje. U takve knjige spadaju na primjer: “Art of Computer Programming“, „Structure and Interpretation of Computer Programs (SICP)“, ili pak „A Discipline of Programming“.

Naravno, možete početi i sa manje zahjevnim knjigama, ali svakako treba da izbjegnete knjige poput “for Dummies”, ili one koje vas uče nešto “u roku od 24 sata” ili “za 21 dan”, jer od takvih knjiga ćete dobiti vrlo malo u smislu poboljšanja vještine programiranja.

Pridružite se open source projektu

Prednosti ulaska u open source projekt su da ćete raditi s drugima, što je dobra stvar u slučaju da ste ranije radili samostalne projekte, a takođe ćete morati istraživati i naučiti da razumjete nepoznatu bazu koda, što može predstavljati veliki izazov.

Razne projekte možete pronaći na sajtovima kao što GitHub, SourceForge, gitorious, BitBucket ili Ohloh./p>

Riješavanje programerskih problema

Postoje mnogi programirski problemi čijim riješavanjem stičete dodatno iskustvo i rutinu. Matematički problemi mogu se naći na Project Euler, koji je vjerojatno najpopularniji sajt ovoga tipa.

Probleme u programiranju koje ostali programeri pokušavaju riješiti možete pronaći na codegolf.stackexchange.com.

Ovako nešto vam može pomoći da naučite mnoge posebne značajki jezika, a takođe i da razmišljate kreativnije o kodiranju nego ranije.

Pisanje programa

Počnite pisati program od nule. Dizajnirajte kompletnu arhitekturu i implementirajte ga. Uradite sve to ponovo.

Kodiranje se najbolje uči kodiranjem. Ponavljanje ćete učiti iz vlastitih pogrešaka, a uspješan završetak projekta će imati ogroman poticaj za vas koji je uz to mnogo zabavniji od čitanja knjige.

Čitajte i analizirajte Kod

Analizirajte poznate programe kao što je Linux kernel ili dobar operativni sustav za obrazovne svrhe MINIX3. Na ovaj način možete naučiti jako mnogo idioma novog jezika i neke stvari o softverskoj arhitekturi. Čitanje nepoznatog Koda zna biti zastrašujuće ali pročitajte ponovo, trebalo bi biti puno lakše i interesantnije.

Također, možete mnogo bolje razumijeti neki API koji koristite, ili programski jezik, čitanjem njegove implementacije.

Posjećujte web sajtove i blogove koji se bave programiranjem

Posjećivanjem ovakvih sajtova, blogova ili foruma ne samo da možete da počitate nešto što vas interesira već vas to dovodi u vezu sa drugim programerima a samim tim i sa njihovim znanjem.

Također bi trebali slijediti news.ycombinator.com.

Pišite o kodiranju

Počnite pisati o kodiranju, recimo na blogu, čak i ako on nema neku posjetu. Također možete pisati odgovore na različitim Q&A sajtovima, forumima ili pak možete pisati tutoriale na nekim sajtovima poput DreamInCode. Kada pišete o kodiranj, vi ćete željeti biti sigurni da koristite ispravnu terminologiju i da znate objasniti određene probleme i tehnike. To se onda odražava na vaše znane programiranja koje se poboljšava kao i vaše znanje engleskog jezika, što je veoma važno u programiranju.

Naučite primitivnije programske jezike

Učenjem primitivnijih programskih jezika poput “C” vam itekako može koristi u boljem razumjevaju samih osnova programiranja, kako računalo izvršava program i kako radi operativni sustav.

Prvo se potrudite da sami rješite problem

Dakle, ako imate problem sa kodom koji ste pokušavali riješiti za kratko vrijeme a onda se obratili ostalima za pomoć na sajtu stackoveflow.com, to nije dobar put. Prvo treba da provedete mnogo više vremena pokušavajući sami da riješite problem. Ako nakon dužeg vremena ipak ne rješite problem, onda pokušajte sa StackOverflow.