Programski jezici Po stepenu zavisnosti programskog jezika od

  • Slides: 21
Download presentation
Programski jezici Po stepenu zavisnosti programskog jezika od računara programske jezike delimo na: n

Programski jezici Po stepenu zavisnosti programskog jezika od računara programske jezike delimo na: n mašinski zavisne (mašinski i simbolički jezik) n mašinski nezavisne (jezici višeg nivoa)

- Mašinski zavisni jezici n Mašinski jezici n Izgrađeni su nad binarnom azbukom (0,

- Mašinski zavisni jezici n Mašinski jezici n Izgrađeni su nad binarnom azbukom (0, 1) n Nije potrebno prevođenje n Vezan je za konkretan računar (svaka familija procesora ima svoj mašinski jezik)

- Mašinski zavisni jezici n Simbolički jezici n Uvode mnemotehničke skraćenice za operacije i

- Mašinski zavisni jezici n Simbolički jezici n Uvode mnemotehničke skraćenice za operacije i simboličke oznake podataka n Jednoj naredbi mašinskog jezika odgovara jedna naredba simboličkog

n Program koji prevodi simbolički u mašinski jezik zove se asembler. n Za programiranje

n Program koji prevodi simbolički u mašinski jezik zove se asembler. n Za programiranje u mašinski zavisnim jezicima potrebno je dobro poznavanje načina rada i arhitekture određenog računara.

n Program koji prevodi simbolički u mašinski jezik zove se asembler. n Obično se

n Program koji prevodi simbolički u mašinski jezik zove se asembler. n Obično se koriste za programiranje računara za interakciju računara sa I/O uređajima : n n štampačima skenerima uređajima za čuvanje podataka, . . . Njime su pisani programi poznati kao drajveri.

- Jezici višeg nivoa n n Bliži su prirodnom jeziku, čitljiviji i lakši za

- Jezici višeg nivoa n n Bliži su prirodnom jeziku, čitljiviji i lakši za pisanje programa. Imaju visok stepen nezavisnosti od arhitekture računara

- Jezici višeg nivoa n n n Bliži su prirodnom jeziku, čitljiviji i lakši

- Jezici višeg nivoa n n n Bliži su prirodnom jeziku, čitljiviji i lakši za pisanje programa. Imaju visok stepen nezavisnosti od arhitekture računara Na osnovu načina prevođenja i izvršavanja dele se na : n Kompajlerske (Algol, Fortran, Cobol, PL/I, . . . ) n Interpreterske (Lisp, Prolog, Basic, . . . )

n n U početku se razlikovala primena u: n Oblasti poslovanja – karakterisao je

n n U početku se razlikovala primena u: n Oblasti poslovanja – karakterisao je veliki broj I/O podataka i relativno jednostavan opis obrade podataka (Cobol) n Nauci i tehnici – karakterisao je mali broj I/O podataka, ali veoma složen opis obrade, pa su razvijani jezici za tu namenu (Fortran, Algol. . . ) Vremenom se gubi ova podela i savremeni programski jezici mogu se koristiti ravnopravno u ovim oblastima.

PREMA NAČINU REŠAVANJA PROBLEMA n Proceduralne – dajemo računaru kompletan skup instrukcija kojim se

PREMA NAČINU REŠAVANJA PROBLEMA n Proceduralne – dajemo računaru kompletan skup instrukcija kojim se rešava problem, tj. dajemo mu algoritam za rešavanje zadatka (pa se zovu i algoritamski). Tu spadaju: Pascal, Cobol, C, Basic, Fortran, mašinski, . . . n Deklarativne – opisujemo šta znamo o problemu i šta želimo da dobijemo rešavajući ga, a sistem (interpreter) sam dolazi do postupka za rešavanje problema. Primeri deklarativnih jezika su Prolog i SQL.

Na osnovu načina alokacije memorije: n Programske jezike sa statičkom alokacijom memorije (C++, C#,

Na osnovu načina alokacije memorije: n Programske jezike sa statičkom alokacijom memorije (C++, C#, Java, Pascal, . . . ). n Programske jezike sa dinamičkom alokacijom memorije (Ruby, Lisp, Java. Script i Python).

n Najčešća podela programskih jezika: n Objektno orijentisani jezici n Proceduralni jezici n Funkcijski

n Najčešća podela programskih jezika: n Objektno orijentisani jezici n Proceduralni jezici n Funkcijski jezici n Logički jezici

n U funkcijskom programiranju funkcije se primenjuju na argumente i vrednosti. n Vraćene vrednosti

n U funkcijskom programiranju funkcije se primenjuju na argumente i vrednosti. n Vraćene vrednosti se koriste kao argumenti za druge funkcije sa izbegavanjem pripisivanja naredbi. n Primer je Lisp kod koga je primarna struktura sa kojom radi lista.

n Proceduralni jezici su se menjali i razvijali tokom vremena. n Fortran i Cobol

n Proceduralni jezici su se menjali i razvijali tokom vremena. n Fortran i Cobol spadaju u prve jezike višeg nivoa. n Oko 1960. god došlo je do velike softverske krize jer je naredba GO TO dovela do toga da se programi teško prate i imaju previše grešaka.

n Proceduralni jezici su se menjali i razvijali tokom vremena. n Dolazi do razvoja

n Proceduralni jezici su se menjali i razvijali tokom vremena. n Dolazi do razvoja strukturiranih programskih jezika (Algol, Pascal, . . . ) i “zabrane” korišćenja naredbe GO TO. n Sledeća faza je razvijanje modularnih programskih jezika koji funkcionišu tako što razbijaju program na manje celine (module) gde svaki modul obavlja određenu funkciju.

n Objektno orijentisani jezici su jezici poslednje generacije. n Objekti su jedinice informacija koje

n Objektno orijentisani jezici su jezici poslednje generacije. n Objekti su jedinice informacija koje sadrže podatke kao i metode za procesiranje i rad sa podacima. n Da bismo koristili gotov objekat ne moramo da znamo kako je on pravljen niti šta je u njemu, već samo kako i šta on radi. n U OO jezike se ubrajaju : Java, C++, Python. . .

Logički programski jezici n Pripadaju klasi deklarativnih (neproceduralnih) programskih jezika. n Zasnovani su na

Logički programski jezici n Pripadaju klasi deklarativnih (neproceduralnih) programskih jezika. n Zasnovani su na predikatima (logičkim izrazima). Logički jezici: Prolog (PROgramming in LOGic) n Datalog n

n Razvoj programskih jezika je veoma brz. n Posebno je uslovljen razvojem hardvera i

n Razvoj programskih jezika je veoma brz. n Posebno je uslovljen razvojem hardvera i komunikacija. n Sve navedene podele nisu striktne, jer razvojem neki programski jezik može da preuzme dobra rešenja iz drugih jezika, a koja su se pokazala korisnim.

www. tiobe. com TIOBE index

www. tiobe. com TIOBE index

www. tiobe. com TIOBE index

www. tiobe. com TIOBE index

www. tiobe. com TIOBE index

www. tiobe. com TIOBE index

www. tiobe. com TIOBE index

www. tiobe. com TIOBE index