Izdvajamo definicije i ključne delove, ono što je nužno zapamtiti i razumeti.

Programski jezik je veštački jezik koji nam omogućava zadavanje instrukcija računaru.

Instrukcija (niz naredbi) koju zadajemo računaru pomoću programskog jezika je računarski program.

Računarski program je opis algoritma-procesa u nekom programskom jeziku.

Fon Nojmanov koncept računara je u osnovi konstrukcije imperativnih programskih jezika.

Klasifikacije programskih jezika:

  • Po usmerenosti
    • mašinski jezik
    • jezici orijentisani ka mašini
    • jezici orijentisani ka problemu
  • Po  generaciji
    • 1,2,3,4,5GL
  • Po načinu pisanja
    • Tekstualni (C, Basic, Java...)
    • Grafički (UML, Piet)
  • Po vrsti
    • Programski jezici – opisuju algoritme („pravi“ programski jezici)
    • Opisni jezici - opisuju podatke, strukture (HTML, XML, JSON...)

 

Programski jezik je sredstvo koje koristi neko lice da izrazi proces pomoću kojeg računar rešava nekakav problem.  U zavisnosti od toga na kojoj od ovih reči je akcenat, programskim jezikom je podržana dominantna programska paradigma.

lice - logička paradigma

računar - proceduralna (imperativna) paradigma

proces - funkcionalna paradigma

problem - objektno-orijentisana paradigma

 

Paradigme:

  • Imperativne, u kojima se opisuju instrukcije kojima mašina menja stanje
    • Proceduralna (Asembler, BASIC, C)
    • Strukturna (C, Pascal, C#, Java, PHP, JavaScript ... )
    • Objektna i objektno orijentisana (C#, Java, PHP, C++, ObjectiveC, Swift ...)
  • Deklarativne, u kojima se opisuju osobine željenog rezultata-stanja ali ne i način kako da se to izračuna (SQL)
    • Logička (Prolog)
    • Funkcionalna (Lisp, Haskell, u nekoj meri Python)

Multiparadigmatski jezik – programski jezik koji podržava koncepte više paradigmi. Jedna je osnovna, od ostalih uzima koliko mu treba.

Paradigme ukratko:

  • Imperativno programiranje: niz naredbi – uradi ovo, pa onda ono itd.
  • Proceduralno programiranje: grupisanje instrukcija u procedure. instrukcije skokova.
  • Strukturno programiranje: izražavanje kroz fino ugnježdene kontrolne strukture (petlje, uslovi i sl.), bez instrukcija skokova.
  • Objektno orijentisano programiranje: programiranje u kontekstu “društva” objekata, gde svaki objekat ima svoje osobine i ponašanja. ko radi šta kome.
  • Logičko programiranje: imamo kolekciju činjenica i pravila zaključivanja. Program odgovara na pitanja.
  • Funkcionalno programiranje: komponujemo čiste funkcije, liči na matematičko izražavanje problema.
  • Postoje i druge paradigme. Ove su najviše u upotrebi.