programski jezici

42
Programski Programski jezici jezici Uvod Uvod Razvoj i vrste Razvoj i vrste programskih jezika programskih jezika

Upload: naomi-melendez

Post on 02-Jan-2016

82 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Programski jezici

Programski jeziciProgramski jezici

UvodUvod

Razvoj i vrste programskih Razvoj i vrste programskih jezikajezika

Page 2: Programski jezici

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.

Page 3: Programski jezici

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)

Page 4: Programski jezici

Polaganje ispitaPolaganje ispita

Dva kolokvijumaDva kolokvijuma ZadaciZadaci TeorijaTeorija

Integralni ispitIntegralni ispit ZadaciZadaci TeorijaTeorija

Page 5: Programski jezici

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

Page 6: Programski jezici

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

Page 7: Programski jezici

Razvoj i vrste Razvoj i vrste programskih programskih

jezikajezika

Page 8: Programski jezici

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

Page 9: Programski jezici

Pojam jezikaPojam jezika

Page 10: Programski jezici

Definicija programskih Definicija programskih jezikajezika

Page 11: Programski jezici

Klasifikacija programskih Klasifikacija programskih jezika po stepenu zavisnosti jezika po stepenu zavisnosti

od računaraod računara

Page 12: Programski jezici

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

Page 13: Programski jezici

AsembleriAsembleri

Asemblerske naredbe – simbolički Asemblerske naredbe – simbolički zapisane mašinske naredbezapisane mašinske naredbe

Page 14: Programski jezici

MakroprocesoriMakroprocesori

Page 15: Programski jezici

Kompilatori i Kompilatori i interpretatoriinterpretatori

Page 16: Programski jezici

Hibridni sistemiHibridni sistemi

Page 17: Programski jezici

Hronologija razvoja viših Hronologija razvoja viših programskih jezikaprogramskih jezika

Page 18: Programski jezici

Hronologija razvoja viših Hronologija razvoja viših programskih jezika programskih jezika

(nastavak)(nastavak)

Page 19: Programski jezici

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

Page 20: Programski jezici

FORTRAN - primerFORTRAN - primer

Page 21: Programski jezici

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

Page 22: Programski jezici

COBOL - primerCOBOL - primer

Page 23: Programski jezici

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

Page 24: Programski jezici

ALGOL - primerALGOL - primer

Page 25: Programski jezici

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

Page 26: Programski jezici

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

Page 27: Programski jezici

PASCAL - primerPASCAL - primer

Page 28: Programski jezici

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

Page 29: Programski jezici

ADA - primjerADA - primjer

Page 30: Programski jezici

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#

Page 31: Programski jezici

C - primerC - primer

Page 32: Programski jezici

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#

Page 33: Programski jezici

SMALLTALK - primerSMALLTALK - primer

Page 34: Programski jezici

Microsoft Visual StudioMicrosoft Visual Studio

Page 35: Programski jezici

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

Page 36: Programski jezici

LISP - primerLISP - primer

Page 37: Programski jezici

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

Page 38: Programski jezici

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

Page 39: Programski jezici

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)

Page 40: Programski jezici

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

Page 41: Programski jezici

PitanjaPitanja

??????

Page 42: Programski jezici

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?