Program, programiranje, programski jezici

5. Programski jezici

Umjetni jezik osmišljen za komunikaciju s računalom u kojem pišemo programe zove se PROGRAMSKI JEZIK. Svaki programski jezik određen je dopuštenim znakovima, ključnim riječima i pravilima koja nam govore kako ćemo pisati i kombinirati naredbe programa. Danas postoje mnogi različiti programski jezici i svaki od njih ima neke svoje posebnosti. 

Domaći rad:  izraditi umnu mapu sa spomenutim te aktualnim programskim jezicima u svijetu (odabrati 5 najzastupljenijih programskih jezika trenutno u svijetu).  Za svaki od njih kratko navedite uporabu.

Razvoj programskih jezika kroz generacije:

Već u prvom razredu smo naučili da računala razumiju samo jezik nula i jedinica. Takav jezik je nastao u ranim 50-im godinama prošlog stoljeća i naziva se strojnim jezikom. Strojni jezik je razumljiv računalu, ali je složen za programiranje jer se sve naredbe zapisuju nizovima nula i jedinica. Možete samo zamisliti koliko je teško uočiti pogrešku u takvim nizovima nula i jedinica!

S obzirom da nam je prirodnije koristiti se riječima nego nizovima nula i jedinica, programeri koji su razvijali programe u strojnom jeziku, težili su razvijanju programskih jezika koji umjesto nula i jedinica rabe riječi i simbole. Takvi se jezici nazivaju simboličkim programskim jezicima. Simboličke jezike dijelimo na jezike niže i više razine.

instrukcija

U jezicima niže razine (npr. asemblerski jezik) pojedine se naredbe označavaju karticama koje podsjećaju na njihovu namjenu (npr. MUL - množenje, ADD - zbrajanje). Iako su čovjeku razumljiviji od strojnog jezika, ti jezici pripadaju skupini jezika usmjerenih na računalo. Svaka naredba u nižem simboličkom jeziku mijenja jednu naredbu u strojnom jeziku

U programskim jezicima više razine, koji su nastali otprilike 1960. godine, naredbe su kratke riječi koje se lako pamte.  Za razliku od jezika niže razine, većina naredaba viših programskih jezika mijenja niz naredbi strojnog jezika. Glavna karakteristika viših simboličkih jezika je orijentiranost prema programeru - jezik je sličniji govornom jeziku, a za programiranje nije nužno detaljno poznavanje hardvera. 

Primjeri viših programskih jezika s kojima ste možda već susreli u osnovnoj školi su Logo, Basic ili C (rabe se njihove razne inačice). Učeći spomenute jezike, osim usvajanja sintakse programskog jezika, usvaja se i tehnika tzv. strukturnoga programiranja. Radi se o tome da se početni problem podijeli u više manjih problema. Rješavamo jedan po jedan, a zatim ih spajamo u cjelinu kao  Lego kockice. Takav pristup programiranju često se naziv i top-down programiranje jer se osnovni problem razlaže u više manjih cjelina. 

zapis programa

Iako danas programe piše u višim programskim jezicima računalo i dalje razumije samo strojni jezik. Zbog toga postoje programi prevoditelji koji programe napisane u višem programskom jeziku prevode u strojni jezik. Programe prevoditelje dijelimo u dvije skupine: kompajlere i interpretere. 

Kompajleri (engl. compliers) prevode cijeli program, stvaraju izvršnu (.exe) inačicu koju zatim izvršavaju, a interpreteri prevode naredbu po naredbu i svaku naredbu odmah izvršavaju. 

Posljednjih godina u programiranju prevladavaju tzv. objektno orijentirani jezici. Za razliku od proceduralnih jezika u kojima je naglasak na algoritmu u objektnom programiranju glavnu ulogu imaju objekti koji sadržavaju podatke i funkcije (koje se u objektnom programiranju nazivaju metodama).