Programski jezik

Programski jezik je određen skupom simbola i pravilima njihovog slaganja kojim se opisuje postupak računanja. Opis računanja u danom programskom jeziku interpretira, odnosno tumači, stroj koje nazivamo računalo. Poznati sinonimi za postupak računanja su algoritam i program.

Programski simbol je nedjeljiva cjelina koju računalo, odnosno tumač, "razumije" i prevodi u rad stroja. Niz simbola, složeni po pravilima programskog jezika, čine jezične izraze (rečenice) tog programskog jezika koji se zatim zapisuju na podatkovni medij i predaje računalu koje na svaki otkucaj sata čita i tumači jedan simbol programa zapisanog na podatkovnom mediju.

Da bi se jezik smatrao programskim jezikom mora ispunjavati uvjet poznat u svijetu matematike i računarske znanosti kao Turing potpunost, što jamči da dani programski jezik može opisati svaki računalni postupak (program/algoritam).

Osnovna podjela je na niže (strojne jezike) i više (orijentirane ljudima).

Viši jezici pak mogu biti:

Programske paradigme

uredi

U užem smislu paradigma programskog jezika podrazumijeva konceptualizaciju opisa programa, odnosno sintakse, i izvođenja programa, odnosno semantike. Razvoj programskih jezika i cjelokupne kulture računarske znanosti, urodilo je s više stotina jezika. Svaki od tih jezika je osmišljen i prilagođen za određenu svrhu, bilo to intuitivnije i tečnije izražavanje programerske ideje ili pak optimalno izvođenje napisanog programa.

Važno je istaknuti jednu činjenicu, od najjednostavnijeg programskog jezika niske razine apstrakcije do najkompleksnijih modernih jezika visoke razine apstrakcije, njihova izražajnost je u potpunosti jednaka. Temelje dane tvrdnje 1936. godine postavio je britanski matematičar i otac računarske znanosti, Alan Turing, u revolucionarnom konceptu univerzalnog Turingovog stroja i Turingove potpunosti. Svojstvo univerzalnosti stroja ukratko znači da može izvoditi svaki matematički račun, algoritam odnosno program.

Dvije dijametralno suprotne paradigme se smatraju krajnjim točkama na pravcu programskih paradigmi, imperativna i funkcijska. Središnji koncept imperativne programske paradigme jest instrukcija ili naredba. Stroj tumači svaku instrukciju u programu na način da mijenja globalno stanje stroja. Suprotno tome, u funkcijskoj paradigmi, temeljni gradivni blok programa jest funkcija. S obzirom na to da se misli na matematičku funkciju, dijeljeno stanje ne postoji, ali se može simulirat. Tumačenje funkcijskog programa se svodi na zamjenu svake pojave primjene funkcije s njenom definicijom.

Povijest programskih jezika

uredi

Sve je počelo sa strojnim jezicima (asemblerima), koji su se brzo izvršavali, ali sporo pisali, te se danas samo kritični dijelovi operativnih sustava pišu na taj način.

  • 1954. pojavio se Fortran, razvio ga je John Backus u IBM-u.
  • Iza Fortrana prvi se pojavio Algol, u kasnim 1950-im.
  • bili su to jezici nezgrapne sintakse, zato su došli Cobol 1960. i Basic 1964. godine sa svojom sintaksom koja sliči na engleski jezik.
  • dolazi vrijeme za razvoj "pravih" programskih jezika: Pascal Niklausa Wirtha i C Kena Thompsona i Dennisa Ritchie-a.
  • 1974. za potrebe vojske SADa razvijena je Ada.
  • OOP kuca na vrata: 1980. tu je Smalltalk-80, a 1985. pojavila se prva implementacija C++ koji je zamislio Bjarne Stroustrup.
  • 1987. Larry Wall je stvorio Perl.
  • 1990. Guido van Rossum je izbacio konkurenciju Perlu, Python.
  • 1994. pojavio se PHP Rasmusa Lerdorfa, koji je prvenstveno namijenjen kreiranju web aplikacija, (nešto poput JSPa i ASP-a za Javu i VisualBasic, respektivno).
  • 1996. pojavila se Java tvrtke Sun Microsystems.
  • krajem 1999. godine pojavio se D, koji je zanimljiva mješavina programskih jezika C, C++ i Jave.

Pogledajte također

uredi

Poveznice

uredi