Programski jezik

     

 

Proces pisanja programa često zovemo i kodiranje. Prilikom izrade programa ili kodiranja koriste se programski jezici. Programski jezik obuhvaća skup naredbi i pravila njihova pisanja.

Skup svih znakova i riječi programskog jezika naziva se leksička struktura.
Pravila slaganja dozvoljenih riječi je sintaksa dok značenje ispravno napisanih naredbi određuje semantika (semantička struktura).

Programski jezik možemo usporediti s bilo kojim govornim jezikom.
Svaki jezik ima dozvoljen skup znakova (abecedu), riječi, pravila njihovog slaganja i značenje!

Programski jezici razvijaju se paralelno sa razvojem računala i dijele se na

  • strojne i
  • simboličke jezike

Strojni jezik

Strojni jezik nastao je u ranim 50-im godinama prošlog stoljeća. To je jezik u kojem su sve naredbe zapisane u binarnom obliku. Jedan od njegovih nedostataka je u tome što je naporan za programera koji mora pamtiti nizove 0 i 1.

Pokušajte zamisliti koliko je teško i dugotrajno pronalaženje pogrešaka u nizu nula i jedinica!

Sljedeći nedostatak je u tome što strojni jezik nije univerzalan, već ovisi o centralnoj jedinici za koju se piše.

Zbog toga što je samo pisanje programa bilo dugotrajno i teško, programeri su u to vrijeme tražili optimalni algoritam. Jer, bolji algoritam značio je i manje kôda. Manje kôda povlači za sobom i manju vjerojatnost pogreške!

Simbolički jezici

Kako je ljudima ipak jednostavnije pratiti i pamtiti riječi, logično je da su programeri koji su programirali u strojnom jeziku težili za razvijanjem programskih jezika u kojima bi nizove nula i jedinica zamijenila slova ili riječi. Takvi se jezici nazivaju simbolički.

Postoje simbolički jezici niže i više razine.

Asemblerski jezik (Asembler) je jezik niže razine. Nastao je polovicom 50-ih godina prošlog stoljeća. U njemu se pojedine naredbe označavaju skraćenicama koje podsjećaju na svoju namjenu (LD ili MOV - učitavanje, MUL – množenje, ADD - zbrajanje…). Iako je razumljiviji čovjeku od strojnog jezika, asemblerski jezik pripada skupini jezika orijentiranih računalu. Svaka asemblerska naredba predstavlja jednu naredbu u strojnom jeziku.

Kod programskih jezika više razine (nastalih oko 1960. godine) naredbe su kratke riječi, najčešće vezane uz englesko govorno područje. One se lako pamte i bliže su ljudskom načinu razmišljanja.

Za razliku od jezika niže razine, većina naredbi viših programskih jezika zamjenjuje čitav niz strojnih naredbi.

Sada nije teško zaključiti da korištenjem viših programskih jezika izrađujemo kraće i razumljivije programe. Najpopularniji viši programski jezici su BASIC, FORTRAN, Pascal, C…

To su jezici opće namjene. Osim njih postoje jezici koji su prilagođeni određenoj vrsti problema (PHP, JavaScript)

Primjer 1:

Program za računanje opsega i površine pravokutnog trokuta u C-u:


#include<stdio.h>
#include<conio.h>
#include<math.h>

main()
{
 float a,b,c,p,o;
 printf("Upisite duljinu katete a: ");
 scanf("%f",&a);
 printf("Upisite duljinu katete b: ");
 scanf("%f", &b);
 c=sqrt(pow(a,2)+pow(b,2));
 p=a*b/2;
 o=a+b+c;
 printf("Povrsina danog trokuta je %.2f, a opseg %.2f",p,o);
 getch();
}

Danas se programi pišu u nekom od simboličkih programskih jezika. Problem leži u činjenici da računala razumiju samo strojni jezik. Zbog toga je program napisan u simboličkom jeziku potrebno prevesti u strojni. Za taj posao zaduženi su posebni programi prevoditelji o kojima ćemo više govoriti u sljedećoj lekciji.