Programski jezici Uvod Razvoj i vrste programskih jezika

  • Slides: 42
Download presentation
Programski jezici Uvod Razvoj i vrste programskih jezika

Programski jezici Uvod Razvoj i vrste programskih jezika

Nastava n Sedmični fond časova: 2 + 2 n Predavanja: 2 časa (ukupno 30

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

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

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

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

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

Razvoj i vrste programskih jezika Pojam jezika n Definicija programskih jezika n Klasifikacija programskih

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

Pojam jezika

Definicija programskih jezika

Definicija programskih jezika

Klasifikacija programskih jezika po stepenu zavisnosti od računara

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

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

Asembleri n Asemblerske naredbe – simbolički zapisane mašinske naredbe

Makroprocesori

Makroprocesori

Kompilatori i interpretatori

Kompilatori i interpretatori

Hibridni sistemi

Hibridni sistemi

Hronologija razvoja viših programskih jezika

Hronologija razvoja viših programskih jezika

Hronologija razvoja viših programskih jezika (nastavak)

Hronologija razvoja viših programskih jezika (nastavak)

FORTRAN n n n n n FORmula TRANslation Prva verzija 1957. godine FORTRAN IV

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

FORTRAN - primer

COBOL COmmon Business Oriented Language n Prva verzija 1959. godine n Podržan od vodećih

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

COBOL - primer

ALGOL ALGOrithmic Language n Algol 60, 1960. godine n Nije doživio značajnu primenu u

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

ALGOL - primer

BASIC Beginers All-purpose Symbolic Instruction Code n 1961. godina n Zamišljen kao jednostavnija varijanta

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

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

PASCAL - primer

ADA Nastaje osamdesetih godina n Podrška američkog ministarstva odbrane n Projektovan sa idejom da

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

ADA - primjer

Programski jezik C Nastaje 1970. godine n Jezik za razvoj UNIX-a n ANSI C

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

C - primer

SMALLTALK Prvi potpuno objektno-orijentisan jezik Smalltalk-80 n Koreni objektnih jezika u jeziku Simula 67

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

SMALLTALK - primer

Microsoft Visual Studio

Microsoft Visual Studio

Jezici u oblasti veštačke inteligencije LISP - LISt Processing n Prva verzija 1958. godine

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

LISP - primer

Podela programskih jezika prema oblasti primene Jezici za naučne aplikacije n Jezici za poslovne

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

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

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

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 ? ? ?

Pitanja - ponavljanje n n n Šta je programski jezik? Kako se vrši klasifikacija

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?