programski jezici
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Programski jeziciProgramski jezici
UvodUvod
Razvoj i vrste programskih Razvoj i vrste programskih jezikajezika
NastavaNastava Sedmični fond časova: 2 + 2Sedmični fond časova: 2 + 2
PredavanjaPredavanja:: 2 2 časa (ukupno 30 časova)časa (ukupno 30 časova) Vanr. prof. dr Dragan Janković, dipl.inž.el.Vanr. prof. dr Dragan Janković, dipl.inž.el. Viši asistent Mr. Viši asistent Mr. SnjeSnježana Milinkovićžana Milinković, dipl.inž.el., dipl.inž.el.
Auditorne i laboratorijske vežbe: 2 časa Auditorne i laboratorijske vežbe: 2 časa (ukupno 30 časova)(ukupno 30 časova) Viši asistent Mr. Snježana Milinković, dipl.inž.el.Viši asistent Mr. Snježana Milinković, dipl.inž.el. Asistent Ognjen Bjelica, Asistent Ognjen Bjelica, dipl.inž.el.dipl.inž.el.
OcenjivanjeOcenjivanje Prisustvo nastavi – 5%Prisustvo nastavi – 5% Laboratorijske vežbe – 20%Laboratorijske vežbe – 20%
Uspešno odbranjene laboratorijske vežbe Uspešno odbranjene laboratorijske vežbe su uslov za polaganje ispitasu uslov za polaganje ispita
Zadaci – 45%Zadaci – 45% Uslov za iUslov za izlazak na teoretski deo ispita je zlazak na teoretski deo ispita je
minimalno 50% ostvarenih bodova na minimalno 50% ostvarenih bodova na zadacimazadacima
Teorija – 30%Teorija – 30% Konačna ocena: suma bodova iz svih Konačna ocena: suma bodova iz svih
aktivnosti (min. 50% za prolaznu ocenu aktivnosti (min. 50% za prolaznu ocenu a od toga min. 50% na zadacima)a od toga min. 50% na zadacima)
Polaganje ispitaPolaganje ispita
Dva kolokvijumaDva kolokvijuma ZadaciZadaci TeorijaTeorija
Integralni ispitIntegralni ispit ZadaciZadaci TeorijaTeorija
LiteraturaLiteratura
Teorija: Teorija: Programski jeziciProgramski jezici, , Milena Milena StankovićStanković
Materijali u elektronskoj formi Materijali u elektronskoj formi PredavanjaPredavanja
http://www.etf.unssa.rs.ba/~snjeza VežbeVežbe
http://www.etf.unssa.rs.ba/~ognjen Auditorne vežbeAuditorne vežbe Laboratorijske vežbeLaboratorijske vežbe Ispitni zadaciIspitni zadaci
Sadržaj predmetaSadržaj predmeta Razvoj i vrste programskih jezikaRazvoj i vrste programskih jezika Sintaksa programskih jezikaSintaksa programskih jezika Tipovi podatakaTipovi podataka Osnovne upravljačke struktureOsnovne upravljačke strukture Strukturni tipovi podatakaStrukturni tipovi podataka Dinamičke strukture podatakaDinamičke strukture podataka PotprogramiPotprogrami Objektno orijentisani jeziciObjektno orijentisani jezici Internet i Web tehnologijeInternet i Web tehnologije
Razvoj i vrste Razvoj i vrste programskih programskih
jezikajezika
Razvoj i vrste Razvoj i vrste programskih jezikaprogramskih jezika
Pojam jezikaPojam jezika Definicija programskih jezikaDefinicija programskih jezika Klasifikacija programskih jezika po Klasifikacija programskih jezika po
stepenu zavisnosti od računarastepenu zavisnosti od računara Hronologija razvoja viših Hronologija razvoja viših
programskih jezikaprogramskih jezika Podela programskih jezika prema Podela programskih jezika prema
oblasti primeneoblasti primene Kriterijumi ocene programskih jezikaKriterijumi ocene programskih jezika Karakteristike programskih jezikaKarakteristike programskih jezika
Pojam jezikaPojam jezika
Definicija programskih Definicija programskih jezikajezika
Klasifikacija programskih Klasifikacija programskih jezika po stepenu zavisnosti jezika po stepenu zavisnosti
od računaraod računara
Hronologija razvoja na Hronologija razvoja na osnovu prethodne osnovu prethodne
klasifikacijeklasifikacije Mašinski kodMašinski kod Heksadecimalni zapis mašinskog kodaHeksadecimalni zapis mašinskog koda Asemblerski jeziciAsemblerski jezici Makroasemblerski jeziciMakroasemblerski jezici Viši programski jezici (algoritamski ili Viši programski jezici (algoritamski ili
proceduralni, strukturni jezici)proceduralni, strukturni jezici) Problemu orijentisani programski Problemu orijentisani programski
jezicijezici
AsembleriAsembleri
Asemblerske naredbe – simbolički Asemblerske naredbe – simbolički zapisane mašinske naredbezapisane mašinske naredbe
MakroprocesoriMakroprocesori
Kompilatori i Kompilatori i interpretatoriinterpretatori
Hibridni sistemiHibridni sistemi
Hronologija razvoja viših Hronologija razvoja viših programskih jezikaprogramskih jezika
Hronologija razvoja viših Hronologija razvoja viših programskih jezika programskih jezika
(nastavak)(nastavak)
FORTRANFORTRAN
FORmula TRANslationFORmula TRANslation Prva verzija 1957. godinePrva verzija 1957. godine FORTRAN IV 1962. godineFORTRAN IV 1962. godine FORTRAN 77 1977. godineFORTRAN 77 1977. godine FORTRAN 90 1990. godineFORTRAN 90 1990. godine FORTRAN 95 1995. godineFORTRAN 95 1995. godine FORTRAN 2003 2003. godineFORTRAN 2003 2003. godine FORTRAN 2008 2008. godineFORTRAN 2008 2008. godine Najpogodniji jezik za razvoj naučno-Najpogodniji jezik za razvoj naučno-
tehničkih aplikacijatehničkih aplikacija
FORTRAN - primerFORTRAN - primer
COBOLCOBOL
COmmon Business Oriented COmmon Business Oriented LanguageLanguage
Prva verzija 1959. godinePrva verzija 1959. godine Podržan od vodećih kompanija (IBM, Podržan od vodećih kompanija (IBM,
Honeywell, Flow-Matic)Honeywell, Flow-Matic) Pogodan za razvoj poslovnih Pogodan za razvoj poslovnih
aplikacijaaplikacija
COBOL - primerCOBOL - primer
ALGOLALGOL
ALGOrithmic LanguageALGOrithmic Language Algol60, 1960. godineAlgol60, 1960. godine Nije doživio značajnu primenu u Nije doživio značajnu primenu u
praksipraksi Najznačajniji je za razvoj teorije Najznačajniji je za razvoj teorije
programskih jezikaprogramskih jezika Koncepti Algola prepoznatljivi su u Koncepti Algola prepoznatljivi su u
najsavremenijim programskim najsavremenijim programskim jezicimajezicima
ALGOL - primerALGOL - primer
BASICBASIC
Beginers All-purpose Symbolic Beginers All-purpose Symbolic Instruction CodeInstruction Code
1961. godina1961. godina Zamišljen kao jednostavnija Zamišljen kao jednostavnija
varijanta FORTRAN-avarijanta FORTRAN-a Velika popularnost sa pojavom PC Velika popularnost sa pojavom PC
računara osamdesetih godinaračunara osamdesetih godina Danas veoma popularni VB, VB.NETDanas veoma popularni VB, VB.NET
PASCALPASCAL
Početak sedamdesetih godinaPočetak sedamdesetih godina Zamišljen kao jednostavan jezik za Zamišljen kao jednostavan jezik za
obuku kadrova i učenje metodologije obuku kadrova i učenje metodologije programiranjaprogramiranja
Korijeni u jeziku Algol60Korijeni u jeziku Algol60 Jako značajan za prihvatanje ideje Jako značajan za prihvatanje ideje
strukturnog programiranjastrukturnog programiranja
PASCAL - primerPASCAL - primer
ADAADA Nastaje osamdesetih godinaNastaje osamdesetih godina Podrška američkog ministarstva odbranePodrška američkog ministarstva odbrane Projektovan sa idejom da preuzme primatProjektovan sa idejom da preuzme primat Nije doživio predviđenu praktičnu Nije doživio predviđenu praktičnu
primjenuprimjenu Jako značajan za teoriju programskih Jako značajan za teoriju programskih
jezikajezika Model jezika na osnovu koga se danas Model jezika na osnovu koga se danas
postavljaju svi značajniji koncepti postavljaju svi značajniji koncepti programskih jezikaprogramskih jezika
Najbolje zadovoljava potrebe nastave iz Najbolje zadovoljava potrebe nastave iz programskih jezikaprogramskih jezika
ADA - primjerADA - primjer
Programski jezik CProgramski jezik C
Nastaje 1970. godineNastaje 1970. godine Jezik za razvoj UNIX-aJezik za razvoj UNIX-a ANSI CANSI C Sprega sa hardveromSprega sa hardverom Pogodan za razvoj komponenti Pogodan za razvoj komponenti
sistemskog softvera i u drugim sistemskog softvera i u drugim primenama gde je potrebna sprega sa primenama gde je potrebna sprega sa resursima sistemaresursima sistema
Objektna nadgradnja C++, Objektna nadgradnja C++, C#C#
C - primerC - primer
SMALLTALKSMALLTALK
Prvi potpuno objektno-orijentisan jezik Prvi potpuno objektno-orijentisan jezik Smalltalk-80Smalltalk-80
Koreni objektnih jezika u jeziku Simula Koreni objektnih jezika u jeziku Simula 6767
Današnji savremeni jezici su skoro svi Današnji savremeni jezici su skoro svi objektno-orijentisaniobjektno-orijentisani
Kombinacija objektnog i vizuelnog Kombinacija objektnog i vizuelnog programiranjaprogramiranja
Event Driven ProgrammingEvent Driven Programming Visual Basic, Visual C++, Java, C#Visual Basic, Visual C++, Java, C#
SMALLTALK - primerSMALLTALK - primer
Microsoft Visual StudioMicrosoft Visual Studio
Jezici u oblasti veštačke Jezici u oblasti veštačke inteligencijeinteligencije
LISP - LISt ProcessingLISP - LISt Processing Prva verzija 1958. godinePrva verzija 1958. godine
PROLOG – PROgramming LOGicPROLOG – PROgramming LOGic Nastaje sedamdesetih godinaNastaje sedamdesetih godina
LISP - primerLISP - primer
Podela programskih jezika Podela programskih jezika prema oblasti primeneprema oblasti primene
Jezici za naučne aplikacijeJezici za naučne aplikacije Jezici za poslovne aplikacijeJezici za poslovne aplikacije Jezici veštačke inteligencijeJezici veštačke inteligencije Jezici za razvoj sistemskog softveraJezici za razvoj sistemskog softvera Jezici za računarske komunikacijeJezici za računarske komunikacije Jezici specijalne nameneJezici specijalne namene
Kriterijumi ocene Kriterijumi ocene programskih jezikaprogramskih jezika
ČitljivostČitljivost JednostavnostJednostavnost OrtogonalnostOrtogonalnost Upravljačke struktureUpravljačke strukture Strukture podatakaStrukture podataka SintaksaSintaksa
Jednostavnost pisanja programaJednostavnost pisanja programa Jednostavnost i ortogonalnostJednostavnost i ortogonalnost Podrška apstrakciji podatakaPodrška apstrakciji podataka IzražajnostIzražajnost
Kriterijumi ocene Kriterijumi ocene programskih jezikaprogramskih jezika
Pouzdanost jezikaPouzdanost jezika Tipovi podatakaTipovi podataka Obrada izuzetakaObrada izuzetaka Pseudonimi (aliasing)Pseudonimi (aliasing)
Efikasnost jezikaEfikasnost jezika Efikasnost programa napisanog na Efikasnost programa napisanog na
određenom programskom jezikuodređenom programskom jeziku Efikasnost kompilatoraEfikasnost kompilatora Efikasnost razvojnog okruženja (svi Efikasnost razvojnog okruženja (svi
potrebni alati za brzi razvoj aplikacija)potrebni alati za brzi razvoj aplikacija)
Karakteristike Karakteristike programskih jezikaprogramskih jezika
Formalno definisana sintaksa Formalno definisana sintaksa programskog jezikaprogramskog jezika
Jaki tipovi podatakaJaki tipovi podataka Strukturni tipovi podatakaStrukturni tipovi podataka Upravljačke struktureUpravljačke strukture PotprogramiPotprogrami ModuliModuli Mehanizmi za konkurentno programiranjeMehanizmi za konkurentno programiranje Mehanizmi niskog nivoaMehanizmi niskog nivoa Mehanizmi za obradu grešakaMehanizmi za obradu grešaka Standardni skup U/I proceduraStandardni skup U/I procedura
PitanjaPitanja
??????
Pitanja - ponavljanjePitanja - ponavljanje Šta je programski jezik?Šta je programski jezik? Kako se vrši klasifikacija programskih jezika po stepenu Kako se vrši klasifikacija programskih jezika po stepenu
zavisnosti od računara?zavisnosti od računara? Nabrojati klase mašinski zavisnih jezika.Nabrojati klase mašinski zavisnih jezika. Nabrojati klase mašinski nezavisnih jezika.Nabrojati klase mašinski nezavisnih jezika. Šta je kompilator?Šta je kompilator? Šta je interpretator?Šta je interpretator? Šta je asembler?Šta je asembler? Šta je makroprocesor?Šta je makroprocesor? Koji programski jezik je najpogodniji za razvoj naučno-Koji programski jezik je najpogodniji za razvoj naučno-
tehničkih aplikacija?tehničkih aplikacija? Koji programski jezik se smatra najvažnijim za prihvatanje Koji programski jezik se smatra najvažnijim za prihvatanje
ideje strukturnog programiranja?ideje strukturnog programiranja? Koji programski jezik se smatra prvim potpuno objektno Koji programski jezik se smatra prvim potpuno objektno
orijentisanim jezikom?orijentisanim jezikom? U kojim oblastima je pogodno koristiti programski jezik C?U kojim oblastima je pogodno koristiti programski jezik C?