Programski jezici Uvod Razvoj i vrste programskih jezika
- Slides: 42
Programski jezici Uvod Razvoj i vrste programskih jezika
Nastava n Sedmični fond časova: 2 + 2 n Predavanja: 2 časa (ukupno 30 časova) n n n Vanr. prof. dr Dragan Janković, dipl. inž. el. Viši asistent Mr. Snježana Milinković, dipl. inž. el. Auditorne i laboratorijske vežbe: 2 časa (ukupno 30 časova) n n Viši asistent Mr. Snježana Milinković, dipl. inž. el. Asistent Ognjen Bjelica, dipl. inž. el.
Ocenjivanje Prisustvo nastavi – 5% n Laboratorijske vežbe – 20% n n n Uspešno odbranjene laboratorijske vežbe su uslov za polaganje ispita Zadaci – 45% n Uslov za izlazak na teoretski deo ispita je minimalno 50% ostvarenih bodova na zadacima Teorija – 30% n Konačna ocena: suma bodova iz svih aktivnosti (min. 50% za prolaznu ocenu a od toga min. 50% na zadacima) n
Polaganje ispita n Dva kolokvijuma Zadaci n Teorija n n Integralni ispit Zadaci n Teorija n
Literatura Teorija: Programski jezici, Milena Stanković n Materijali u elektronskoj formi n Predavanja n n n http: //www. etf. unssa. rs. ba/~snjeza Vežbe http: //www. etf. unssa. rs. ba/~ognjen n Auditorne vežbe n Laboratorijske vežbe n Ispitni zadaci n
Sadržaj predmeta n n n n n Razvoj i vrste programskih jezika Sintaksa programskih jezika Tipovi podataka Osnovne upravljačke strukture Strukturni tipovi podataka Dinamičke strukture podataka Potprogrami Objektno orijentisani jezici Internet i Web tehnologije
Razvoj i vrste programskih jezika
Razvoj i vrste programskih jezika Pojam jezika n Definicija programskih jezika n Klasifikacija programskih jezika po stepenu zavisnosti od računara n Hronologija razvoja viših programskih jezika n Podela programskih jezika prema oblasti primene n Kriterijumi ocene programskih jezika n Karakteristike programskih jezika n
Pojam jezika
Definicija programskih jezika
Klasifikacija programskih jezika po stepenu zavisnosti od računara
Hronologija razvoja na osnovu prethodne klasifikacije Mašinski kod n Heksadecimalni zapis mašinskog koda n Asemblerski jezici n Makroasemblerski jezici n Viši programski jezici (algoritamski ili proceduralni, strukturni jezici) n Problemu orijentisani programski jezici n
Asembleri n Asemblerske naredbe – simbolički zapisane mašinske naredbe
Makroprocesori
Kompilatori i interpretatori
Hibridni sistemi
Hronologija razvoja viših programskih jezika
Hronologija razvoja viših programskih jezika (nastavak)
FORTRAN n n n n n FORmula TRANslation Prva verzija 1957. godine FORTRAN IV 1962. godine FORTRAN 77 1977. godine FORTRAN 90 1990. godine FORTRAN 95 1995. godine FORTRAN 2003. godine FORTRAN 2008. godine Najpogodniji jezik za razvoj naučno-tehničkih aplikacija
FORTRAN - primer
COBOL COmmon Business Oriented Language n Prva verzija 1959. godine n Podržan od vodećih kompanija (IBM, Honeywell, Flow-Matic) n Pogodan za razvoj poslovnih aplikacija n
COBOL - primer
ALGOL ALGOrithmic Language n Algol 60, 1960. godine n Nije doživio značajnu primenu u praksi n Najznačajniji je za razvoj teorije programskih jezika n Koncepti Algola prepoznatljivi su u najsavremenijim programskim jezicima n
ALGOL - primer
BASIC Beginers All-purpose Symbolic Instruction Code n 1961. godina n Zamišljen kao jednostavnija varijanta FORTRAN-a n Velika popularnost sa pojavom PC računara osamdesetih godina n Danas veoma popularni VB, VB. NET n
PASCAL Početak sedamdesetih godina n Zamišljen kao jednostavan jezik za obuku kadrova i učenje metodologije programiranja n Korijeni u jeziku Algol 60 n Jako značajan za prihvatanje ideje strukturnog programiranja n
PASCAL - primer
ADA Nastaje osamdesetih godina n Podrška američkog ministarstva odbrane n Projektovan sa idejom da preuzme primat n Nije doživio predviđenu praktičnu primjenu n Jako značajan za teoriju programskih jezika n Model jezika na osnovu koga se danas postavljaju svi značajniji koncepti programskih jezika n Najbolje zadovoljava potrebe nastave iz n
ADA - primjer
Programski jezik C Nastaje 1970. godine n Jezik za razvoj UNIX-a n ANSI C n Sprega sa hardverom n Pogodan za razvoj komponenti sistemskog softvera i u drugim primenama gde je potrebna sprega sa resursima sistema n Objektna nadgradnja C++, C# n
C - primer
SMALLTALK Prvi potpuno objektno-orijentisan jezik Smalltalk-80 n Koreni objektnih jezika u jeziku Simula 67 n Današnji savremeni jezici su skoro svi objektno-orijentisani n Kombinacija objektnog i vizuelnog programiranja n Event Driven Programming n Visual Basic, Visual C++, Java, C# n
SMALLTALK - primer
Microsoft Visual Studio
Jezici u oblasti veštačke inteligencije LISP - LISt Processing n Prva verzija 1958. godine n PROLOG – PROgramming LOGic n Nastaje sedamdesetih godina n
LISP - primer
Podela programskih jezika prema oblasti primene Jezici za naučne aplikacije n Jezici za poslovne aplikacije n Jezici veštačke inteligencije n Jezici za razvoj sistemskog softvera n Jezici za računarske komunikacije n Jezici specijalne namene n
Kriterijumi ocene programskih jezika n Čitljivost Jednostavnost n Ortogonalnost n Upravljačke strukture n Strukture podataka n Sintaksa n n Jednostavnost pisanja programa Jednostavnost i ortogonalnost n Podrška apstrakciji podataka n Izražajnost n
Kriterijumi ocene programskih jezika n Pouzdanost jezika Tipovi podataka n Obrada izuzetaka n Pseudonimi (aliasing) n n Efikasnost jezika Efikasnost programa napisanog na određenom programskom jeziku n Efikasnost kompilatora n Efikasnost razvojnog okruženja (svi potrebni alati za brzi razvoj aplikacija) n
Karakteristike programskih jezika n n n n n Formalno definisana sintaksa programskog jezika Jaki tipovi podataka Strukturni tipovi podataka Upravljačke strukture Potprogrami Moduli Mehanizmi za konkurentno programiranje Mehanizmi niskog nivoa Mehanizmi za obradu grešaka Standardni skup U/I procedura
Pitanja ? ? ?
Pitanja - ponavljanje n n n Šta je programski jezik? Kako se vrši klasifikacija programskih jezika po stepenu zavisnosti od računara? Nabrojati klase mašinski zavisnih jezika. Nabrojati klase mašinski nezavisnih jezika. Šta je kompilator? Šta je interpretator? Šta je asembler? Šta je makroprocesor? Koji programski jezik je najpogodniji za razvoj naučno-tehničkih aplikacija? Koji programski jezik se smatra najvažnijim za prihvatanje ideje strukturnog programiranja? Koji programski jezik se smatra prvim potpuno objektno orijentisanim jezikom? U kojim oblastima je pogodno koristiti programski jezik C?
- Sta je masinski jezik
- Osnovni programski jezik
- брејв програмски језици
- Programski jezici za djecu
- Visi programski jezici
- Programiranje i programski jazici
- Proceduralni programski jezici
- Objektno orijentirani programski jezici
- Tehnicki fakultet mihajlo pupin zrenjanin
- Programski jezici i strukture podataka
- Vladimir filipovic matf
- Podela programskih jezika
- Podela programskih jezika
- Asembleri
- Generacije programskih jezika
- Dizajn programskih jezika matf
- Programski jezik r
- Raslojavanje jezika
- Skriptni jezici i web programiranje
- Violeta moretti
- Slovenska grupa jezika
- Skript jezici
- Skriptni jezici
- Europski jezici
- Asemblerski jezik
- Cv jezici
- Programski jazici
- Djelomični količnik
- Preveduva
- Sql programski jezik
- S struktura
- Dejan akerman
- Programski jezik logo naredbe
- Logo programiranje
- Programski jezik java
- Fail rp primjeri
- Programski jezik c
- Delphi programski jezik
- C# programski jezik
- Fortran programski jezik
- Programski jezik pascal
- Jupiter programski jezik
- Python programski jezik