Generacije programskih jezika

     

 

Usporedo s razvojem računala razvijali su se i programski jezici.
Programski jezik je jezik za pisanje programa koji računalo zna i može izvršiti. Programski jezik čini skup naredbi koja uključuju i pravila njihovog pisanja.

Programski jezik koji je usko vezan uz sklopovlje računala i jedini jezik koji računalo razumije nazivamo strojni jezik ili jezik I. generacije.

Strojni jezik predstavlja najnižu razinu definiranja programa. Građen je od niza naredbi zapisanih u obliku jedinica i nula. Takav zapis nazivamo još i binarnim zapisom.

Zamislite da ste programer te se od vas očekuje da pamtite beskonačne nizove jedinica i nula kako bi mogli upravljati računalom. Vaš posao bio bi gotovo nemoguće obavljati.

Iz tog razloga nastali su simbolički jezici kod kojih se pojedine strojne naredbe označavaju skraćenicama koje podsjećaju na svoju namjenu. Tako je na primjer MUL skraćenica za množenje, ADD skraćenica za zbrajanje i slično.

Takvi programski jezici nazivaju se asemblerski jezici ili jezici II. generacije. Oni su najbliži strojnom jeziku  i obzirom da njegovim naredbama djelujemo izravno na pojedine dijelove računala koriste se i danas za programiranje sklopovlja.

Viši programski jezici ili jezici III. generacije su oni jezici koji ne predstavljaju izravan prikaz binarnog oblika naredbi.  Njihove naredbe su kratke riječi, najčešće izvedene iz engleskog jezika, lako se pamte i puno su bliže ljudskom načinu razmišljanja.

Većina naredbi viših programskih jezika zamjenjuje čitav niz strojnih naredbi. Koristeći više programske jezike programi postaju kraći i razumljiviji. Programi pisani u ovakvim jezicima mogu se prenositi i izvršavati na različitim računalima.

Programski jezici IV. generacije  još uvijek se razvijaju i nisu standardizirani. Cilj im je približiti programiranje ljudskom načinu razmišljanja – slobodnije i neproceduralno, bez krutih pravila. Obično su ograničeni na usko područje primjene (npr. SQL).

Da bi računalo razumjelo programe pisane u višim programskim jezicima potrebno ih je prevesti u strojni jezik. Prevođenje obavlja računalo pomoću posebnih programa prevodilaca.

Programer kreira izvorni kôd (source code) te ga prevodi u strojnu verziju (izvršna verzija) da bi na koncu kupac dobio isključivo strojnu odnosno izvršnu verziju programa.

Prevodioce načelno možemo podijeliti na :

  • INTERPRETER - svaku pojedinu naredbu izvornog programa prevodi u strojni jezik i odmah ju izvodi (ne kreira izvršnu verziju programa).

     
  • KOMPAJLER - prevodi izvorni kod u strojni jezik samo jedanput  za vrijeme postupka prevođenja i kreira izvršnu verziju programa koja se tada može neovisno izvoditi.

Sada kad smo se upoznali s generacijama programskih jezika i prevodiocima možemo krenuti dalje i naučiti osnove.