Opti*ki mediji
Download
Report
Transcript Opti*ki mediji
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
Sanda, 2012.
6
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
prevoditelj
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 (strojni oblik).
Sanda, 2012.
12
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
određene vrste
pogrešaka i interaktivno
ispravljanje.
• relativno sporiji rad,
• nužnost isporuke
izvornoga kôda programa
korisniku,
• 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 ”razumije” i može ga izvršiti.
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