You are on page 1of 35

Programski jezici

Programski jezik
 Programski jezik ra unala je jezik koji ra unalo razumije.  Postoji mnogo programskih jezika, a svaki od njih ima podru je primjene, prednosti i nedostatke.

(c) S. utalo i D.Grundler, 2009.

Programski jezici - podjela


 Programski jezici se mogu podijeliti na:  strojne jezike,  simboli ke jezike niske razine,  simboli ke jezike visoke razine.

(c) S. utalo i D.Grundler, 2009.

Strojni jezik
 Strojni jezik (engl. machine language, machine code) je binarni prikaz programa za ra unalo.  To je ujedno i jedini oblik programa koji ra unalo doslovno "razumije.

(c) S. utalo i D.Grundler, 2009.

Strojni jezik
 Strojni je jezik vezan uz gra u ra unala, odnosno ovisan je o sredi njoj jedinici za obradu.  Svaki procesor ima sebi svojstven strojni jezik.  Pisanje programa strojnim jezikom je slo eno i zahtijeva dobro poznavanje gra e ra unala te se njime bave usko specijalizirani stru njaci.

(c) S. utalo i D.Grundler, 2009.

Simboli ki jezici
 Simboli ki su jezici nastali kako bi ljudima olak ali programiranje jer ljudi lak e pamte simbole nego binarne brojeve.  Programi pisani simboli kim jezikom su ovjeku itljiviji i lak i za razumijevanje od binarnog zapisa.

(c) S. utalo i D.Grundler, 2009.

Simboli ki jezik niske razine


 Asembler (engl. assembler) je siboli ki jezik niske razine u kome je svaka binarna naredba strojnog jezika predo ena odgovaraju im simbolom npr.:  ADD  SUB  CMP

(c) S. utalo i D.Grundler, 2009.

Simboli ki jezik niske razine


 Svaka simboli ka naredba obi no je kratica engleskog opisa naredbe pa se lako pamti.  Asembler je ovjeku itljiviji i lak i za razumijevanje od binarnog zapisa ali jo uvijek vrlo te ak za pisanje i ispravljanje.

(c) S. utalo i D.Grundler, 2009.

Simboli ki jezik niske razine


 Program napisan u asembleru mora biti preveden u binarni oblik da bi ga procesor razumio, tj. da bi ga mogao izvr avati.  Simbole u binarni oblik prevodi program prevoditelj.

(c) S. utalo i D.Grundler, 2009.

Simboli ki jezici visoke razine


 Simboli ki jezici visoke razine su svi oni programski jezici kod kojih se ve i ili manji skup naredaba strojnog jezika nadomje ta jednom naredbom vi eg programskog jezika.  Naredbe ovih jezika mnogo su vi e nalik govornom jeziku, lak e su za pam enje i upotrebu.

(c) S. utalo i D.Grundler, 2009.

10

Simboli ki jezici visoke razine


 Simboli ki jezici visoke razine (vi i programski jezici) stvoreni su da bi se:  olak alo programiranje,  isti program mogao izvr avati na razli itim ra unalima (procesorima).

(c) S. utalo i D.Grundler, 2009.

11

Simboli ki jezici visoke razine

(c) S. utalo i D.Grundler, 2009.

12

Simboli ki jezici visoke razine


 U drugoj polovini dvadesetog stolje a nastaju programski jezici FORTRAN, COBOL, BASIC, PASCAL, programski jezik C i mnogi drugi.  Simboli ki jezici visoke razine se mogu podijeliti na jezike op e namjene i jezike prilago ene odre enoj vrsti problema.

(c) S. utalo i D.Grundler, 2009.

13

C
 C jezik (autor Denis M. Ritchie, 1973. godine) je jezik op e namjene, velikih mogu nosti, u na elu neovisan o ra unalu na kojem se izvodi.  Postigao je velik uspjeh jer su njime razvijani razli iti operacijski sustavi i namjenski programi (programi namijenjeni rje avanju odre enih zadataka izravno zanimljivih korisniku).

(c) S. utalo i D.Grundler, 2009.

14

Izvorni program
 Program napisan simboli kim programskim jezikom (u obliku koji nije strojni) zove se izvorni program (engl. source code).  Izvorne programe treba prevesti u strojni oblik.  Prevode ih programi koji se nazivaju jezi ni prevoditelji.

(c) S. utalo i D.Grundler, 2009.

15

Jezi ni prevoditelji
 Jezi ni prevoditelji se me usobno razlikuju slo eno u i djelotvorno u, a na elno se mogu podijeliti u dvije skupine:  interpreteri (interpretatori, engl. interpreter),  kompajleri (kompilatori, engl. compiler).

(c) S. utalo i D.Grundler, 2009.

16

Interpreter
 Interpreter svaku naredbu izvornog programa prevodi u strojni oblik u trenutku izvo enja programa.  Simboli ka naredba se prevodi u jednu ili vi e naredbi strojnog jezika i zatim se izvr i.  Nakon toga se prevede sljede a simboli ka naredba i izvr i, i tako redom.

(c) S. utalo i D.Grundler, 2009.

17

Interpreter
 Prevo enje naredbu po naredbu omogu ava trenutno otkrivanje odre ene vrste pogre aka i interaktivno ispravljanje.  Nedostaci su relativno sporiji rad i nu nost isporuke izvornoga kda programa korisniku.  Izvorni program je mogu e izvr iti samo ako je na ra unalu prisutan i interpreter.

(c) S. utalo i D.Grundler, 2009.

18

Kompajler
 Kompajler prevodi izvorni program tako da analizira i prevede cjelokupni izvorni program odjednom.  Kao rezultat tog rada nastaje izvr ni tj. strojni oblik programa.  Za razliku od interpretera, kod kompajlera su izvorni program i izvr ni program potpuno odvojeni i pri izvo enju neovisni.

(c) S. utalo i D.Grundler, 2009.

19

Kompajler
 Izvr ni program se mo e izvr avati bez postojanja izvornog programa.  Korisniku se naj e programa. e predaje samo izvr na ina ica

 Po to je taj oblik za ovjeka ne itljiv i nerazumljiv (produ etak naziva com ili exe) na stanovit se na in tako titi trud programera od neovla tenih prepravaka ili kra e dijelova programa.

(c) S. utalo i D.Grundler, 2009.

20

Ra unalne komponente
 Ra unalo se sastoji od mnogo komponenti.

(c) S. utalo i D.Grundler, 2009.

21

Ra unalne komponente
 Pouzdanost i djelotvornost ra unala ovisi o pouzdanosti i djelotvornosti svake od ugra enih komponenata.

(c) S. utalo i D.Grundler, 2009.

22

Konstruktor ra unala
 Konstruktor ra unala rabi mnogo komponenata koje spaja u cjelinu.  Kada bi se morao baviti unutarnjom gra om, kvalitetom i pouzdano u svake od komponenti projektiranje ra unala bilo bi vrlo ote ano.

(c) S. utalo i D.Grundler, 2009.

23

Proizvo a i komponeneti
 Umjesto konstruktora ra unala, za unutarnju gra u i pouzdanost svake komponente brine se njen proizvo a .  Proizvo a pojedine komponente mo e se tehnolo ki specijalizirati za njezinu proizvodnju te tako proizvoditi komponente visoke kvalitete i pouzdanosti.  Npr. postoje proizvo a i koji su se specijalizirali za proizvodnju tvrdih diskova, tipkovnica, monitora itd.

(c) S. utalo i D.Grundler, 2009.

24

Proizvo a i komponenti
 Komponente su normirane pa se mogu ugraditi u razli ite elektroni ke ure aje to omogu ava proizvodnju velikih serija i sni enje cijena.

(c) S. utalo i D.Grundler, 2009.

25

Konstruktor ra unala
 Konstruktor rabi gotove komponente i ne mora poznavati njihovu unutarnju gra u.  Dovoljno je da zna zada u koju komponenta obavlja i na in njezina spajanja s ostalim dijelovima ra unala.  To mu bitno olak ava posao i omogu uje izradu pouzdanijih i djelotvornijih ra unala.

(c) S. utalo i D.Grundler, 2009.

26

Objekti
 Zamisao uporabe gotovih komponenti pri gradnji slo enih sustava primjenjena je i pri izradi programa  Zadatak se dijeli na manje dijelove koji se mogu neovisno rje avati i provjeravati.  Gotovi dijelovi programa (komponente) nazivaju se objekti (engl. object).

(c) S. utalo i D.Grundler, 2009.

27

Objektno orijentirani program


 Programi koji rabe objekte nazivaju se objektno orijentirani programi (engl. OOP, object oriented programs).  Objekti se mogu pisati i provjeravati odvojeno od cjeline i rabiti u razli itim programima.

(c) S. utalo i D.Grundler, 2009.

28

Prenosivi programski jezici


 Prenosivi (engl. portable) programski jezici ne ovise o sklopovlju i operacijskom sustavu.  To, primjerice, zna i da se isti program mo e, bez izmjena, izvoditi na razli itim ra unalima koja rade pod razli itim operacijskim sustavima.

(c) S. utalo i D.Grundler, 2009.

29

Prenosivi programski jezici


 S pojavom Interneta raste potreba za prenosivosti.  Razvijaju se novi programski jezici od kojih je najpoznatiji Java.  Java je sna an objektno orijentirani programski jezik op e namjene.

(c) S. utalo i D.Grundler, 2009.

30

Java prevoditelji
 Prenosivost je rije ena pomo u dva programa prevoditelja:  Java kompajler (program koji se mora nalaziti na ra unalu na kojem programer pi e i prevodi izvorni program),  Java prividno ra unalo (program koji se mora nalaziti na ra unalu na kojem se program eli izvr iti).

(c) S. utalo i D.Grundler, 2009.

31

Java kompajler
 Programer pi e izvorni program naredbama programskog jezika Java.  Zatim se izvorni program prevodi Java kompajlerom.  Prevo enjem nastaje program Java bytecodes to je me ukorak do kona nog strojnog oblika programa.  Java bytecodes je oblik programa koji se ne mo e izravno izvr iti niti na jednom ra unalu ali se mo e proslijediti u istom obliku svakom ra unalu bez obzira na vrstu i operacijski sustav.

(c) S. utalo i D.Grundler, 2009.

32

Java bytecodes
 Java bytecodes je potpuno prenosiv oblik programa, dakle prihvatljiv svakom ra unalu.  To nije strojni oblik programa ni za jedno stvarno ra unalo ve je "strojni oblik" za Java prividno ili virtualno ra unalo (engl. Java virtual machine, Java engine).

(c) S. utalo i D.Grundler, 2009.

33

Java prividno ra unalo


 Java prividno ra unalo (Java virtualno ra unalo) je ra unalni program prevoditelj koji prevodi Java bytecodes u strojni jezik ra unala na kojem se program izvr ava.  Rezultat java prividnog ra unala je strojni jezik koji ra unlao razumije i mo e ga izvr iti.  Za svaki procesor mora postojati posebno Java prividno ra unalo (program prevoditelj) koji e Java bytecodes pretvoriti u strojni jezik tog procesora.
(c) S. utalo i D.Grundler, 2009.
34

Java program

(c) S. utalo i D.Grundler, 2009.

35

You might also like