You are on page 1of 23

PROGRAMSKI JEZICI

PROGRAMSKI JEZICI
 Programski jezik - jezik koji razumije
računalo.

 Podjela:
 strojni jezici,
 simbolički jezici niske razine,
 simbolički jezici visoke razine.

Sanda, 2012. 2
STROJNI JEZIK
 Jedini oblik programa koji
računalo doslovno
"razumije“.

 Strojni jezik (engl.


machine language,
machine code) je binarni
prikaz programa za
računalo.
Sanda, 2012. 3
STROJNI JEZIK
 Vezan uz građu računala, odnosno ovisan
o središnjoj jedinici za obradu (svaki procesor
ima sebi svojstven strojni jezik).

 Pisanje programa je složeno, zahtijeva


dobro poznavanje građe računala.

 Samo za usko specijalizirane stručnjake.

Sanda, 2012. 4
SIMBOLIČKI JEZICI
 Nastali s ciljem olakšanja programiranja
(čitljiviji i lakši za razumijevanje od
binarnog zapisa).
 Podjela:
 simbolički jezici niske razine,
 simbolički jezici visoke razine.

Sanda, 2012. 5
SIMBOLIČKI JEZIK NISKE RAZINE
 Asembler (engl. assembler) - sibolički jezik
niske razine.

 Svaka binarna naredba strojnog jezika


predočena je odgovarajućim simbolom
(obično kratica engleskog opisa naredbe pa
se lako pamti) npr.:
 ADD
 SUB
 CMP 6
Sanda, 2012.
SIMBOLIČKI JEZIK NISKE RAZINE
 Asembler - čitljiviji i lakši za razumijevanje
ali još uvijek vrlo težak za pisanje i
ispravljanje.
 Program napisan asemblerom treba
prevesti u binarni oblik da bi ga procesor
“razumio” i mogao izvršiti.

 Prevodi - program
prevoditelj.

Sanda, 2012. 7
SIMBOLIČKI JEZICI VISOKE RAZINE
 Programski jezici kod kojih se veći ili
manji skup naredaba strojnog jezika
nadomješta jednom naredbom višeg
simboličkog jezika.
 Naredbe - mnogo više nalik govornom
jeziku, lakše za pamćenje i uporabu.
 Isti program može se izvršavati na
različitim računalima (procesorima).

Sanda, 2012. 8
SIMBOLIČKI JEZICI VISOKE RAZINE

Sanda, 2012. 9
SIMBOLIČKI JEZICI VISOKE RAZINE
 U drugoj polovini dvadesetog stoljeća
nastaju: FORTRAN, COBOL, BASIC,
PASCAL, C i mnogi drugi.
 Mogu se podijeliti:
 jezici opće namjene,
 jezici prilagođeni određenoj vrsti
problema.

Sanda, 2012. 10
C JEZIK
 Jezik opće namjene, velikih mogućnosti, u
načelu neovisan o računalu na kojem se
izvodi.
(autor: Denis M. Ritchie, 1973. godine)

 Postigao je velik uspjeh jer su njime razvijani


različiti operacijski sustavi i namjenski
programi.

Sanda, 2012. 11
IZVORNI PROGRAM – IZVRŠNI PROGRAM

 Izvorni program (engl. source code) -


program napisan simboličkim programskim
jezikom.

 Prevode programi - jezični prevoditelji.


 Kao posljedica nastaje izvršni program 12
Sanda, 2012.
JEZIČNI PREVODITELJI
 Međusobno se razlikuju složenošću i
djelotvornošću.

 Načelno se mogu podijeliti u dvije skupine:


 interpreteri (interpretatori, engl.
interpreter),
 kompajleri (kompilatori, engl. compiler).

Sanda, 2012. 13
INTERPRETER
 Naredbe izvornog programa prevodi u
strojni oblik u trenutku izvođenja
programa.

 Naredba se prevede pa izvrši. Nakon toga


se prevede sljedeća naredba i izvrši i tako
redom.

Sanda, 2012. 14
INTERPRETER

Prednosti: Nedostaci:
 trenutno otkrivanje • relativno sporiji rad,
određene vrste
• nužnost isporuke
pogrešaka i
izvornoga kôda
interaktivno
programa korisniku,
ispravljanje.
• na računalu korisnika
programa mora biti
prisutan i interpreter.

15
KOMPAJLER
 Sve naredbe izvornog programa prevodi i
analizira odjednom. Rezultat rada je
izvršni tj. strojni oblik programa.

 Za razliku od interpretera, kod kompajlera su


izvorni i izvršni program potpuno odvojeni
i pri izvođenju neovisni.

Sanda, 2012. 16
KOMPAJLER

Prednosti:
• korisniku se najčešće predaje samo izvršna
inačica programa,
• na računalu korisnika programa ne mora biti
prisutan kompajler,
• pošto je izvršni program za čovjeka nečitljiv i
nerazumljiv (oblik: com ili exe) ovakav način
rada štiti trud programera od neovlaštenih
prepravaka ili krađe dijelova programa.
Sanda, 2012. 17
PRENOSIVI PROGRAMI
 Prenosivi (engl. portable) programi -
programi koji se bez izmjena mogu izvoditi
na različitim korisničkim računalima
neovisno o sklopovlju i operacijskom
sustavu.

 Potreba za programima takve vrste raste s


pojavom Interneta.

Sanda, 2012. 18
JAVA
 Java - snažan, objektno orijentiran
programski jezik opće namjene.

 Omogućava stvaranje potpuno prenosivih


programa koristeći dva programa
prevoditelja:
 Java kompajler,
 Java prividno računalo.

Sanda, 2012. 19
JAVA KOMPAJLER – JAVA BYTECODES
 Java kompajler - program koji se nalazi na
računalu programera koji piše i prevodi
izvorni program.
 Prevođenjem nastaje oblik programa koji se
ne može izravno izvršiti ni na jednom
stvarnom računalu ali se može proslijediti
svakom računalu bez obzira na vrstu
računala i operacijski sustav (potpuno je
prenosiv).
 Taj se međukorak do konačnog strojnog
oblika naziva Java bytecodes.
Sanda, 2012. 20
JAVA PRIVIDNO RAČUNALO
 Java bytecodes je "strojni oblik programa"
za Java prividno ili virtualno računalo.
 Java prividno računalo je program
prevoditelj, mora se nalaziti na računalu
na kome se program želi izvršiti.
 Za svaku vrstu procesora - posebno Java
prividno računalo (engl. Java virtual
machine, Java engine).
 Rezultat rada Java prividnog računala je
strojni oblik programa koji računalao
Sanda, 2012. 21
JAVA PROGRAM

Sanda, 2012. 22
OBJEKTNO ORIJENTIRANI PROGRAMI
 Zamisao uporabe gotovih komponenti pri
gradnji računalnih sustava primjenjiva je i pri
izradi programa.
 Zadatak se u tu svrhu dijeli na manje
dijelove koji se neovisno rješavaju i
provjeravaju.
 Gotovi dijelovi programa nazivaju se objekti
(engl. object), a programi koji rabe objekte
objektno orijentirani programi (engl.
OOP, object oriented programs).
Sanda, 2012. 23

You might also like