SlideShare a Scribd company logo
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:: 22 č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 30Auditorne 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 zaUspeš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 minimalnozlazak 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 aktivnostiKonač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 formiMaterijali 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 vrsteRazvoj 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 stepenuKlasifikacija 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 oblastiPodela 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 poKlasifikacija programskih jezika po
stepenu zavisnosti od računarastepenu zavisnosti od računara
Hronologija razvoja na osnovuHronologija 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 iliViši programski jezici (algoritamski ili
proceduralni, strukturni jezici)proceduralni, strukturni jezici)
 Problemu orijentisani programski jeziciProblemu orijentisani programski jezici
AsembleriAsembleri
 Asemblerske naredbe – simbolički zapisaneAsemblerske naredbe – simbolički zapisane
mašinske naredbemašinske naredbe
MakroprocesoriMakroprocesori
Kompilatori i interpretatoriKompilatori i interpretatori
Hibridni sistemiHibridni sistemi
Hronologija razvoja višihHronologija razvoja viših
programskih jezikaprogramskih jezika
Hronologija razvoja višihHronologija 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 programskihNajznačajniji je za razvoj teorije programskih
jezikajezika
 Koncepti Algola prepoznatljivi su uKoncepti 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 varijantaZamišljen kao jednostavnija varijanta
FORTRAN-aFORTRAN-a
 Velika popularnost sa pojavom PC računaraVelika 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 obukuZamiš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 strukturnogJako 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 danasModel jezika na osnovu koga se danas
postavljaju svi značajniji koncepti programskihpostavljaju svi značajniji koncepti programskih
jezikajezika
 Najbolje zadovoljava potrebe nastave izNajbolje 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 sistemskogPogodan za razvoj komponenti sistemskog
softvera i u drugim primenama gde je potrebnasoftvera 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 jezikPrvi 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 vizuelnogKombinacija 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 premaPodela 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đenomEfikasnost programa napisanog na određenom
programskom jezikuprogramskom jeziku
 Efikasnost kompilatoraEfikasnost kompilatora
 Efikasnost razvojnog okruženja (svi potrebni alati zaEfikasnost 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 odKako 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 strukturnogKoji programski jezik se smatra najvažnijim za prihvatanje ideje strukturnog
programiranja?programiranja?
 Koji programski jezik se smatra prvim potpuno objektno orijentisanimKoji 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?

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

1 uvod (1)

  • 1. Programski jeziciProgramski jezici UvodUvod Razvoj i vrste programskih jezikaRazvoj i vrste programskih jezika
  • 2. NastavaNastava  Sedmični fond časova: 2 + 2Sedmični fond časova: 2 + 2  PredavanjaPredavanja:: 22 č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 30Auditorne 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.
  • 3. OcenjivanjeOcenjivanje  Prisustvo nastavi – 5%Prisustvo nastavi – 5%  Laboratorijske vežbe – 20%Laboratorijske vežbe – 20%  Uspešno odbranjene laboratorijske vežbe su uslov zaUspeš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 minimalnozlazak 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 aktivnostiKonač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)
  • 4. Polaganje ispitaPolaganje ispita  Dva kolokvijumaDva kolokvijuma  ZadaciZadaci  TeorijaTeorija  Integralni ispitIntegralni ispit  ZadaciZadaci  TeorijaTeorija
  • 5. LiteraturaLiteratura  Teorija:Teorija: Programski jeziciProgramski jezici,, Milena StankovićMilena Stanković  Materijali u elektronskoj formiMaterijali 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
  • 6. 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
  • 7. Razvoj i vrsteRazvoj i vrste programskih jezikaprogramskih jezika
  • 8. Razvoj i vrste programskih jezikaRazvoj i vrste programskih jezika  Pojam jezikaPojam jezika  Definicija programskih jezikaDefinicija programskih jezika  Klasifikacija programskih jezika po stepenuKlasifikacija 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 oblastiPodela programskih jezika prema oblasti primeneprimene  Kriterijumi ocene programskih jezikaKriterijumi ocene programskih jezika  Karakteristike programskih jezikaKarakteristike programskih jezika
  • 11. Klasifikacija programskih jezika poKlasifikacija programskih jezika po stepenu zavisnosti od računarastepenu zavisnosti od računara
  • 12. Hronologija razvoja na osnovuHronologija 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 iliViši programski jezici (algoritamski ili proceduralni, strukturni jezici)proceduralni, strukturni jezici)  Problemu orijentisani programski jeziciProblemu orijentisani programski jezici
  • 13. AsembleriAsembleri  Asemblerske naredbe – simbolički zapisaneAsemblerske naredbe – simbolički zapisane mašinske naredbemašinske naredbe
  • 17. Hronologija razvoja višihHronologija razvoja viših programskih jezikaprogramskih jezika
  • 18. Hronologija razvoja višihHronologija razvoja viših programskih jezika (nastavak)programskih jezika (nastavak)
  • 19. 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
  • 21. 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
  • 23. 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 programskihNajznačajniji je za razvoj teorije programskih jezikajezika  Koncepti Algola prepoznatljivi su uKoncepti Algola prepoznatljivi su u najsavremenijim programskim jezicimanajsavremenijim programskim jezicima
  • 25. BASICBASIC  Beginers All-purpose Symbolic Instruction CodeBeginers All-purpose Symbolic Instruction Code  1961. godina1961. godina  Zamišljen kao jednostavnija varijantaZamišljen kao jednostavnija varijanta FORTRAN-aFORTRAN-a  Velika popularnost sa pojavom PC računaraVelika popularnost sa pojavom PC računara osamdesetih godinaosamdesetih godina  Danas veoma popularni VB, VB.NETDanas veoma popularni VB, VB.NET
  • 26. PASCALPASCAL  Početak sedamdesetih godinaPočetak sedamdesetih godina  Zamišljen kao jednostavan jezik za obukuZamiš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 strukturnogJako značajan za prihvatanje ideje strukturnog programiranjaprogramiranja
  • 28. 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 danasModel jezika na osnovu koga se danas postavljaju svi značajniji koncepti programskihpostavljaju svi značajniji koncepti programskih jezikajezika  Najbolje zadovoljava potrebe nastave izNajbolje zadovoljava potrebe nastave iz programskih jezikaprogramskih jezika
  • 29. ADA - primjerADA - primjer
  • 30. 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 sistemskogPogodan za razvoj komponenti sistemskog softvera i u drugim primenama gde je potrebnasoftvera i u drugim primenama gde je potrebna sprega sa resursima sistemasprega sa resursima sistema  Objektna nadgradnja C++,Objektna nadgradnja C++, C#C#
  • 31. C - primerC - primer
  • 32. SMALLTALKSMALLTALK  Prvi potpuno objektno-orijentisan jezikPrvi 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 vizuelnogKombinacija objektnog i vizuelnog programiranjaprogramiranja  Event Driven ProgrammingEvent Driven Programming  Visual Basic, Visual C++, Java, C#Visual Basic, Visual C++, Java, C#
  • 35. 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
  • 36. LISP - primerLISP - primer
  • 37. Podela programskih jezika premaPodela 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
  • 38. 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
  • 39. 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đenomEfikasnost programa napisanog na određenom programskom jezikuprogramskom jeziku  Efikasnost kompilatoraEfikasnost kompilatora  Efikasnost razvojnog okruženja (svi potrebni alati zaEfikasnost razvojnog okruženja (svi potrebni alati za brzi razvoj aplikacija)brzi razvoj aplikacija)
  • 40. 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
  • 42. Pitanja - ponavljanjePitanja - ponavljanje  Šta je programski jezik?Šta je programski jezik?  Kako se vrši klasifikacija programskih jezika po stepenu zavisnosti odKako 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 strukturnogKoji programski jezik se smatra najvažnijim za prihvatanje ideje strukturnog programiranja?programiranja?  Koji programski jezik se smatra prvim potpuno objektno orijentisanimKoji 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?