Programski jezici Osnovne karakteristike Nedostatci govornih jezika n

  • Slides: 19
Download presentation
Programski jezici Osnovne karakteristike

Programski jezici Osnovne karakteristike

Nedostatci govornih jezika n Neke rečenice računaru ne znače ništa n Neke stvari se

Nedostatci govornih jezika n Neke rečenice računaru ne znače ništa n Neke stvari se podrazumijevaju n Česta je dvosmislenost

Šta je programski jezik? n n Programski jezik je sredstvo komuniciranja između korisnika (programera)

Šta je programski jezik? n n Programski jezik je sredstvo komuniciranja između korisnika (programera) i računara. Ti jezici su napravljeni tako da omogućavaju korisniku da preda računaru određene podatke i instrukcije koje imaju zadatak da tom istom računaru omoguće (narede, tj. pošalju zahtev za) izvršavanje planiranih operacija.

n n Postoje dve vrste programskih jezika. To su: n n n jezici niskog

n n Postoje dve vrste programskih jezika. To su: n n n jezici niskog nivoa i niskog jezici visokog nivoa. visokog Jezici niskog nivoa se dijele na mašinski jezik i niže programske jezike tzv. asemblerske jezike.

Jezici niskog nivoa n Mašinski jezik 101100000101 000001000 0010110000000110 n Asembler mov al, 5

Jezici niskog nivoa n Mašinski jezik 101100000101 000001000 0010110000000110 n Asembler mov al, 5 add al, 8 sub al, 6 = 5 + 8 - 6

Mašinski jezik n n n Mašinski jezik je jedini jezik koji računar može da

Mašinski jezik n n n Mašinski jezik je jedini jezik koji računar može da razumije. Za njegovo korišćenje nije potreban nikakav program prevodilac, jer se njegove instrukcije izvršavaju direktno. Ovaj jezik je takođe poznat pod imenom mašinski kod i njegova sintaksa se sastoji od jedinica (1) i nula (0). Kada se niz ovakvih instrukcija preda računaru on ih prepoznaje i konvertuje u električne signale potrebne za njegov rad. Prednost korišćenja ovog jezika je velika brzina rada računara, zbog toga što nije potrebno bilo kakvo prevođenje.

Asemblersi jezik n n n Ovaj jezik je prvi korak ka poboljšanju strukture programiranja.

Asemblersi jezik n n n Ovaj jezik je prvi korak ka poboljšanju strukture programiranja. Koristi se zbog toga što je računar u mogućnosti da manipuliše brojevima i slovima. Neke kombinacije slova mogu da zamene određene instrukcije u mašinskom kodu. Skup ovakvih simbola i brojeva naziva se "Asemblersi jezik" i za njegovo korišćenje potreban je program koji će ga prevesti na mašinski jezik. Ovaj program prevodilac zove se "Asembler". Svrstava se u drugu generaciju programskih jezika.

n Asemblerski i mašinski jezik zahtijevaju dobro poznavanje računarskog hardvera, dok su jezici visokog

n Asemblerski i mašinski jezik zahtijevaju dobro poznavanje računarskog hardvera, dok su jezici visokog nivoa u tom pogledu jednostavniji.

Programski jezici visokog nivoa

Programski jezici visokog nivoa

n n Za korišćenje jezika visokog nivoa potrebno je poznavanje engleskog jezika i logike

n n Za korišćenje jezika visokog nivoa potrebno je poznavanje engleskog jezika i logike problema nezavisno od tipa računara koji se koristi. Jezici višeg nivoa za realizaciju programske konstrukcije koriste riječi engleskog jezika i matematičke simbole kao što su +, -, %, simbole / itd.

Jezici višeg nivoa n Proceduralni jezici (problemski orijentisani) n Objektno orijentisani jezici n Neproceduralni

Jezici višeg nivoa n Proceduralni jezici (problemski orijentisani) n Objektno orijentisani jezici n Neproceduralni jezici (deklarativni ili opisni jezici)

Proceduralni jezici n BASIC (Beginner’s All-purpose Symbolic Instruction Code) n COBOL n FORTRAN (FORmula

Proceduralni jezici n BASIC (Beginner’s All-purpose Symbolic Instruction Code) n COBOL n FORTRAN (FORmula TRANslation) n Pascal – za edukativnu namjenu n C – pogodan za pisanje OS-a

n n n Basic je programski jezik namijenjen početnicima. PASCAL je bio zamišljen prvenstveno

n n n Basic je programski jezik namijenjen početnicima. PASCAL je bio zamišljen prvenstveno kao jezik za edukativnu namjenu i učenje programiranja, jer podstiče pisanje jasnih, preciznih i čitljivih programa. FORTRAN je programski jezik za naučno-tehničke proračune. COBOL služi za poslovne aplikacije. Programski jezik C se koristi između ostalog i za razvoj sistemskog softvera.

Objektno orijentisani jezici n C++ n Delphi (Object Pascal) n Visual Basic n Java.

Objektno orijentisani jezici n C++ n Delphi (Object Pascal) n Visual Basic n Java. Script

Neproceduralni jezici UPITNI JEZICI: n SQL (Structured Query Language) FUNKCIONALNI JEZICI: n LISP (List

Neproceduralni jezici UPITNI JEZICI: n SQL (Structured Query Language) FUNKCIONALNI JEZICI: n LISP (List Processing Language) n PROLOG (Programing in Logic) n ML

Prevođenje jezika n n Računar "razumije" samo mašinski jezik, i zbog toga je potrebno

Prevođenje jezika n n Računar "razumije" samo mašinski jezik, i zbog toga je potrebno programe napisane u drugim programskim jezicima prevesti u mašinski jezik, kako bi se mogli izvršavati na računaru. Program prevodilac je specijalani program koji vrši prevođenje izvornog programa (napisanog u višem programskom jeziku) u mašinski jezik.

Programi prevodioci n Kompajler n Interpretator– “simultano” prevođenje n Hibridni prevodioci (Java) Kompajlirani programi

Programi prevodioci n Kompajler n Interpretator– “simultano” prevođenje n Hibridni prevodioci (Java) Kompajlirani programi izvršavaju se brže nego interpretirani programi. Međutim, neki od programskih jezika nisu pogodni za kompajliranje, nego samo za interpretiranje.

n Kompajler prevodi cjelokupan program napisan u višem programskom jeziku u mašinski jezik. Taj

n Kompajler prevodi cjelokupan program napisan u višem programskom jeziku u mašinski jezik. Taj dobiveni program u mašinskom jeziku se poslije može izvršavati zasebno neovisno o izvornom programu. (FORTRAN, Pascal, C)

n Interpreter prevodi i izvršava jednu po jednu programsku naredbu, odnosno uzima jednu naredbu

n Interpreter prevodi i izvršava jednu po jednu programsku naredbu, odnosno uzima jednu naredbu izvornog programa, prevede je, izvršava, «zaboravlja» njen prevod, uzima sljedeću naredbu, prevede je, izvršava itd. (BASIC i neproceduralni jezici)