1 / 42

Programski jezici

Programski jezici. Uvod Razvoj i vrste programskih jezika. Nastava. Sedmični fond časova: 2 + 2 Predavanja : 2 časa (ukupno 30 časova) Vanr. prof. dr Dragan Janković, dipl.inž.el. Viši asistent Mr. Snje žana Milinković , dipl.inž.el.

Download Presentation

Programski jezici

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programski jezici Uvod Razvoj i vrste programskih jezika

  2. Nastava • Sedmični fond časova: 2 + 2 • Predavanja: 2 časa (ukupno 30 časova) • 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) • Viši asistent Mr. Snježana Milinković, dipl.inž.el. • Asistent Ognjen Bjelica, dipl.inž.el.

  3. Ocenjivanje • Prisustvo nastavi – 5% • Laboratorijske vežbe – 20% • Uspešno odbranjene laboratorijske vežbe su uslov za polaganje ispita • Zadaci – 45% • Uslovzaizlazak na teoretski deo ispita je minimalno 50% ostvarenih bodova na zadacima • Teorija – 30% • Konačna ocena: suma bodova iz svih aktivnosti (min. 50% za prolaznu ocenu a od toga min. 50% na zadacima)

  4. Polaganje ispita • Dva kolokvijuma • Zadaci • Teorija • Integralni ispit • Zadaci • Teorija

  5. Literatura • Teorija: Programski jezici, Milena Stanković • Materijali u elektronskoj formi • Predavanja • http://www.etf.unssa.rs.ba/~snjeza • Vežbe • http://www.etf.unssa.rs.ba/~ognjen • Auditorne vežbe • Laboratorijske vežbe • Ispitni zadaci

  6. Sadržaj predmeta • 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

  7. Razvoj i vrste programskih jezika

  8. Razvoj i vrste programskih jezika • Pojam jezika • Definicija programskih jezika • Klasifikacija programskih jezika po stepenu zavisnosti od računara • Hronologija razvoja viših programskih jezika • Podela programskih jezika prema oblasti primene • Kriterijumi ocene programskih jezika • Karakteristike programskih jezika

  9. Pojam jezika

  10. Definicija programskih jezika

  11. Klasifikacija programskih jezika po stepenu zavisnosti od računara

  12. Hronologija razvoja na osnovu prethodne klasifikacije • Mašinski kod • Heksadecimalni zapis mašinskog koda • Asemblerski jezici • Makroasemblerski jezici • Viši programski jezici (algoritamski ili proceduralni, strukturni jezici) • Problemu orijentisani programski jezici

  13. Asembleri • Asemblerske naredbe – simbolički zapisane mašinske naredbe

  14. Makroprocesori

  15. Kompilatori i interpretatori

  16. Hibridni sistemi

  17. Hronologija razvoja viših programskih jezika

  18. Hronologija razvoja viših programskih jezika (nastavak)

  19. FORTRAN • FORmula TRANslation • Prva verzija 1957. godine • FORTRAN IV 1962. godine • FORTRAN 77 1977. godine • FORTRAN 90 1990. godine • FORTRAN 95 1995. godine • FORTRAN 2003 2003. godine • FORTRAN 2008 2008. godine • Najpogodniji jezik za razvoj naučno-tehničkih aplikacija

  20. FORTRAN - primer

  21. COBOL • COmmon Business Oriented Language • Prva verzija 1959. godine • Podržan od vodećih kompanija (IBM, Honeywell, Flow-Matic) • Pogodan za razvoj poslovnih aplikacija

  22. COBOL - primer

  23. ALGOL • ALGOrithmic Language • Algol60, 1960. godine • Nije doživio značajnu primenu u praksi • Najznačajniji je za razvoj teorije programskih jezika • Koncepti Algola prepoznatljivi su u najsavremenijim programskim jezicima

  24. ALGOL - primer

  25. BASIC • Beginers All-purpose Symbolic Instruction Code • 1961. godina • Zamišljen kao jednostavnija varijanta FORTRAN-a • Velika popularnost sa pojavom PC računara osamdesetih godina • Danas veoma popularni VB, VB.NET

  26. PASCAL • Početak sedamdesetih godina • Zamišljen kao jednostavan jezik za obuku kadrova i učenje metodologije programiranja • Korijeni u jeziku Algol60 • Jako značajan za prihvatanje ideje strukturnog programiranja

  27. PASCAL - primer

  28. ADA • Nastaje osamdesetih godina • Podrška američkog ministarstva odbrane • Projektovan sa idejom da preuzme primat • Nije doživio predviđenu praktičnu primjenu • Jako značajan za teoriju programskih jezika • Model jezika na osnovu koga se danas postavljaju svi značajniji koncepti programskih jezika • Najbolje zadovoljava potrebe nastave iz programskih jezika

  29. ADA - primjer

  30. Programski jezik C • Nastaje 1970. godine • Jezik za razvoj UNIX-a • ANSI C • Sprega sa hardverom • Pogodan za razvoj komponenti sistemskog softvera i u drugim primenama gde je potrebna sprega sa resursima sistema • Objektna nadgradnja C++, C#

  31. C - primer

  32. SMALLTALK • Prvi potpuno objektno-orijentisan jezik Smalltalk-80 • Koreni objektnih jezika u jeziku Simula 67 • Današnji savremeni jezici su skoro svi objektno-orijentisani • Kombinacija objektnog i vizuelnog programiranja • Event Driven Programming • Visual Basic, Visual C++, Java, C#

  33. SMALLTALK - primer

  34. Microsoft Visual Studio

  35. Jezici u oblasti veštačke inteligencije • LISP - LISt Processing • Prva verzija 1958. godine • PROLOG – PROgramming LOGic • Nastaje sedamdesetih godina

  36. LISP - primer

  37. Podela programskih jezika prema oblasti primene • Jezici za naučne aplikacije • Jezici za poslovne aplikacije • Jezici veštačke inteligencije • Jezici za razvoj sistemskog softvera • Jezici za računarske komunikacije • Jezici specijalne namene

  38. Kriterijumi ocene programskih jezika • Čitljivost • Jednostavnost • Ortogonalnost • Upravljačke strukture • Strukture podataka • Sintaksa • Jednostavnost pisanja programa • Jednostavnost i ortogonalnost • Podrška apstrakciji podataka • Izražajnost

  39. Kriterijumi ocene programskih jezika • Pouzdanost jezika • Tipovi podataka • Obrada izuzetaka • Pseudonimi (aliasing) • Efikasnost jezika • Efikasnost programa napisanog na određenom programskom jeziku • Efikasnost kompilatora • Efikasnost razvojnog okruženja (svi potrebni alati za brzi razvoj aplikacija)

  40. Karakteristike programskih jezika • 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

  41. Pitanja ???

  42. Pitanja - ponavljanje Š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?

More Related