pregled razvoja programskih jezika Programski jezik predstavlja skup

  • Slides: 18
Download presentation
* pregled razvoja programskih jezika *

* pregled razvoja programskih jezika *

� Programski jezik predstavlja skup sredstava I pravila predstavljanja algoritma u obliku pogodnim za

� Programski jezik predstavlja skup sredstava I pravila predstavljanja algoritma u obliku pogodnim za izvrsavanje na racunaru � Program je zapis (realizacija) algoritma na programskom jeziku � Postupak pravljenja programa naziva se programiranje

� Razlikujemo tri nivoa programiranja i to na: 1. masinskom jeziku 2. asembleru 3.

� Razlikujemo tri nivoa programiranja i to na: 1. masinskom jeziku 2. asembleru 3. jezicima visokog nivoa

� Drugacije se naziva jezikom niskog nivoa � Oni predstavljaju niz komanda koje sadrze

� Drugacije se naziva jezikom niskog nivoa � Oni predstavljaju niz komanda koje sadrze kodove operacija koje racunar treba da izvrsi i adrese operanada koje ucestvuju u tim operacijama � Sastoji se iz niza binarnih cifara (nula i jedinica) � Prisutni su kod najstarijih elektronskih racunara � Koriste se za specijalizovane racunarske uredjaje

� Koriste se matematicke oznake umesto kodova i adresa operanada (pr. Add za sabiranje)

� Koriste se matematicke oznake umesto kodova i adresa operanada (pr. Add za sabiranje) � Ta metoda je uprostilo proces programiranja � Program zapisan na asembleru se mora prethodno transformisati na masinski jezik sto se radi pomocu programa koji se takodje zove asembler � Proces prevodjenja u masinski jezik naziva se asembliranje

� Naredbe su bliske engleskom jeziku i struktuirane su tako da odgovaraju nacinu razmisljanja

� Naredbe su bliske engleskom jeziku i struktuirane su tako da odgovaraju nacinu razmisljanja programera � Posao programera je da ispise program na programskom jeziku a ostatak posla se ostavlja translatoru koji formira odgovarajuci program na masinskom jeziku � Svaki programski jezik ima vise razlicitih translatora

SINTAKSA I SEMANTIKA PROGRAMSKIH JEZIKA �U svim jezicima programiranja definisani su nacini organizacije podataka

SINTAKSA I SEMANTIKA PROGRAMSKIH JEZIKA �U svim jezicima programiranja definisani su nacini organizacije podataka i akcija nad njima � Za kreiranje osnovnih konstrukcija programskih jezika koriste se odredjeni elementi

� Simboli – osnovni znakovi. Skup svih simbola cini alfabet jezika, i on ukljucuje

� Simboli – osnovni znakovi. Skup svih simbola cini alfabet jezika, i on ukljucuje latinska slova, sifre, znake aritmetickih operacija… � Lekseme – nizovi simbola alfabeta. Imaju odredjeno znacenje i predstavljaju nedeljivu celinu. Skup je leksika jezika. � Izrazi – nizovi leksema zapisani prema pravilima. � Naredbe – zadaju potpun opis neke akcije koja treba da se izvrsi.

� Sintaksa jezika – skup pravila za gradjenje pravilnih konstrukcija jezika od njegovih elemenata(leksema)

� Sintaksa jezika – skup pravila za gradjenje pravilnih konstrukcija jezika od njegovih elemenata(leksema) � Znacenje sintaksno ispravnih konstrukcija jezika definise sementika � Za opis sintakse jezika koriste se sintaksni dijagrami , oni precizno i pregledno opisuju sintaksne konstrukcije programskog jezika � Akcije koje se izvrsavaju naredbama programa izvrsavaju se nad podacima � Program koji je napisan na jeziku visokog nivoa naziva se izvorni program (pr. Pascal)

KLASIFIKACIJA PROGRAMSKIH JEZIKA � Tipicna klasifikacija zasnovana je na sledecim faktorima: - stepenu bliskosti

KLASIFIKACIJA PROGRAMSKIH JEZIKA � Tipicna klasifikacija zasnovana je na sledecim faktorima: - stepenu bliskosti jezika sa arhitekturom racunara -nacinu prevodjenja -oblasti primene -nacinu resavanja problema

� Jezici niskog nivoa (masinski zavisni) � Jezici visokog nivoa (masinski nezavisni) -Primeri za

� Jezici niskog nivoa (masinski zavisni) � Jezici visokog nivoa (masinski nezavisni) -Primeri za jezike visokog nivoa: Fortran, Pascal, ADA, Basic, C, C++, C#, Python

� Kompajlerski (translator se ne nalazi u operativnoj memoriji, brzi, zauzimanju manje prostora) �

� Kompajlerski (translator se ne nalazi u operativnoj memoriji, brzi, zauzimanju manje prostora) � Interpretatorski(translator se nalazi u operativnoj memoriji, sporiji je, zauzima vise prostora, dobar je za ucenje programiranja)

� Compile-time errors – greske koje kompajler otkrije u toku translacije koje je programer

� Compile-time errors – greske koje kompajler otkrije u toku translacije koje je programer napravio u toku izrazavanja u odredjenom jeziku, prikazuje listu � Logicke (semanticke) greske – kompajler ih nece otkriti, nastale su kao rezultat nekorektnog algoritma

specijalizovani -FORTRAN -COBOL -REFAL, LISP -MODULA, ADA univerzalni -BASIC -PASCAL -C -C++ -JAVA, C#

specijalizovani -FORTRAN -COBOL -REFAL, LISP -MODULA, ADA univerzalni -BASIC -PASCAL -C -C++ -JAVA, C# -ADA -PHP, JAVASCRIPT -PYTHON

PROGRAMSKI JEZICI � MASINSKI ZAVISNI MASINSKI JEZICI SIMBOLICKI JEZICI MASINSKI ORIJENTISANI MAKRO JEZICI MASINSKI

PROGRAMSKI JEZICI � MASINSKI ZAVISNI MASINSKI JEZICI SIMBOLICKI JEZICI MASINSKI ORIJENTISANI MAKRO JEZICI MASINSKI NEZAVISNI PROCEDURALNO ORIJENTISANI PROBLEMSKI ORIJENTISANI