Programski jezici Po stepenu zavisnosti programskog jezika od
- Slides: 21
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, 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 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 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 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 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 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 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 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#, 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 jezici n Logički jezici
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 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 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 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 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 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
- Sta je sintaksa u programiranju
- Semantika programskog jezika
- Vrste programskih jezika
- Programski jezici i strukture podataka
- Tehnicki fakultet mihajlo pupin novi sad
- Prvi programski jezik
- Programski jezici za djecu
- Programiranje i programski jezici
- Masinski jezik
- Objektno orijentirani programski jezici
- Bolesti zavisnosti prezentacija
- Gustina ulja
- Uputstvo za izradu programskog budžeta
- Java skript
- Skriptni jezici
- Jezici u europi
- Asemblerski jezik
- Cv jezici
- Skriptni jezici i web programiranje
- Podjela jezika
- Violeta moretti
- C# programski jezik