Upload
minocka
View
82
Download
6
Embed Size (px)
Citation preview
Programski jeziciProgramski jezici
UvodUvod
Razvoj i vrste programskih jezikaRazvoj i vrste programskih jezika
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 (ukupno 30 Auditorne i laboratorijske vežbe: 2 časa (ukupno 30 časova)č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 su uslov za Uspešno odbranjene laboratorijske vežbe su uslov za polaganje ispitapolaganje ispita
Zadaci – 45%Zadaci – 45% Uslov za iUslov za izlazak na teoretski deo ispita je minimalno zlazak na teoretski deo ispita je minimalno
50% ostvarenih bodova na zadacima50% ostvarenih bodova na zadacima Teorija – 30%Teorija – 30% Konačna ocena: suma bodova iz svih aktivnosti Konačna ocena: suma bodova iz svih aktivnosti
(min. 50% za prolaznu ocenu a od toga min. (min. 50% za prolaznu ocenu a od toga min. 50% na zadacima)50% na zadacima)
Polaganje ispitaPolaganje ispita
Dva kolokvijumaDva kolokvijuma ZadaciZadaci TeorijaTeorija
Integralni ispitIntegralni ispit ZadaciZadaci TeorijaTeorija
LiteraturaLiteratura
Teorija: Teorija: Programski jeziciProgramski jezici, , Milena StankovićMilena Stanković Materijali u elektronskoj formi Materijali u elektronskoj formi PredavanjaPredavanja
http://www.etf.unssa.rs.ba/~snjezahttp://www.etf.unssa.rs.ba/~snjeza
VežbeVežbe http://www.etf.unssa.rs.ba/~ognjenhttp://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 jezikaprogramskih jezika
Razvoj i vrste programskih jezikaRazvoj i vrste programskih jezika
Pojam jezikaPojam jezika Definicija programskih jezikaDefinicija programskih jezika Klasifikacija programskih jezika po stepenu Klasifikacija programskih jezika po stepenu
zavisnosti od računarazavisnosti od računara Hronologija razvoja viših programskih jezikaHronologija razvoja viših programskih jezika Podela programskih jezika prema oblasti Podela programskih jezika prema oblasti
primeneprimene Kriterijumi ocene programskih jezikaKriterijumi ocene programskih jezika Karakteristike programskih jezikaKarakteristike programskih 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 na osnovu Hronologija razvoja na osnovu prethodne klasifikacijeprethodne klasifikacije
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 jeziciProblemu orijentisani programski jezici
AsembleriAsembleri
Asemblerske naredbe – simbolički zapisane Asemblerske naredbe – simbolički zapisane mašinske naredbemašinske naredbe
MakroprocesoriMakroprocesori
Kompilatori i interpretatoriKompilatori i interpretatori
Hibridni sistemiHibridni sistemi
Hronologija razvoja viših Hronologija razvoja viših programskih jezikaprogramskih jezika
Hronologija razvoja viših Hronologija razvoja viših programskih jezika (nastavak)programskih jezika (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-tehničkih aplikacijaNajpogodniji jezik za razvoj naučno-tehničkih aplikacija
FORTRAN - primerFORTRAN - primer
COBOLCOBOL
COmmon Business Oriented LanguageCOmmon Business Oriented Language 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 aplikacijaPogodan za razvoj poslovnih aplikacija
COBOL - primerCOBOL - primer
ALGOLALGOL
ALGOrithmic LanguageALGOrithmic Language Algol60, 1960. godineAlgol60, 1960. godine Nije doživio značajnu primenu u praksiNije doživio značajnu primenu u praksi Najznačajniji je za razvoj teorije programskih Najznačajniji je za razvoj teorije programskih
jezikajezika Koncepti Algola prepoznatljivi su u Koncepti Algola prepoznatljivi su u
najsavremenijim programskim jezicimanajsavremenijim programskim jezicima
ALGOL - primerALGOL - primer
BASICBASIC
Beginers All-purpose Symbolic Instruction CodeBeginers All-purpose Symbolic Instruction Code 1961. godina1961. godina Zamišljen kao jednostavnija varijanta Zamišljen kao jednostavnija varijanta
FORTRAN-aFORTRAN-a Velika popularnost sa pojavom PC računara Velika popularnost sa pojavom PC računara
osamdesetih godinaosamdesetih 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 obuku Zamišljen kao jednostavan jezik za obuku
kadrova i učenje metodologije programiranjakadrova i učenje metodologije programiranja Korijeni u jeziku Algol60Korijeni u jeziku Algol60 Jako značajan za prihvatanje ideje strukturnog Jako značajan za prihvatanje ideje strukturnog
programiranjaprogramiranja
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 primjenuNije doživio predviđenu praktičnu primjenu Jako značajan za teoriju programskih jezikaJako značajan za teoriju programskih jezika Model jezika na osnovu koga se danas Model jezika na osnovu koga se danas
postavljaju svi značajniji koncepti programskih postavljaju svi značajniji koncepti programskih jezikajezika
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 sistemskog Pogodan za razvoj komponenti sistemskog
softvera i u drugim primenama gde je potrebna softvera i u drugim primenama gde je potrebna sprega sa resursima sistemasprega sa resursima 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 67Koreni objektnih jezika u jeziku Simula 67 Današnji savremeni jezici su skoro svi objektno-Današnji savremeni jezici su skoro svi objektno-
orijentisaniorijentisani 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 inteligencijeJezici u oblasti veštačke inteligencije
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 prema Podela programskih jezika prema oblasti primeneoblasti 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 programskih jezikaKriterijumi ocene programskih 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 programskih jezikaKriterijumi ocene programskih jezika
Pouzdanost jezikaPouzdanost jezika Tipovi podatakaTipovi podataka Obrada izuzetakaObrada izuzetaka Pseudonimi (aliasing)Pseudonimi (aliasing)
Efikasnost jezikaEfikasnost jezika Efikasnost programa napisanog na određenom Efikasnost programa napisanog na određenom
programskom jezikuprogramskom jeziku Efikasnost kompilatoraEfikasnost kompilatora Efikasnost razvojnog okruženja (svi potrebni alati za Efikasnost razvojnog okruženja (svi potrebni alati za
brzi razvoj aplikacija)brzi razvoj aplikacija)
Karakteristike programskih jezikaKarakteristike programskih jezika Formalno definisana sintaksa programskog jezikaFormalno definisana sintaksa programskog 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 zavisnosti od Kako se vrši klasifikacija programskih jezika po stepenu zavisnosti od
računara?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-tehničkih aplikacija?Koji programski jezik je najpogodniji za razvoj naučno-tehničkih aplikacija? Koji programski jezik se smatra najvažnijim za prihvatanje ideje strukturnog Koji programski jezik se smatra najvažnijim za prihvatanje ideje strukturnog
programiranja?programiranja? Koji programski jezik se smatra prvim potpuno objektno orijentisanim Koji programski jezik se smatra prvim potpuno objektno orijentisanim
jezikom?jezikom? U kojim oblastima je pogodno koristiti programski jezik C?U kojim oblastima je pogodno koristiti programski jezik C?