Programski jezik

Izvor: Wikipedija
Skoči na: orijentacija, traži

Programski jezik je skup simbola i pravila za njihovu kompoziciju 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, grupiranih 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 VE | uredi]

U užem smislu paradigma programskog jezika podrazumijeva konceptualizaciju opisa programa, odnosno sintakse, i izvođenja programa, odnosno semantike. Razvoj programskih jezika i cijelokupne kulture računarske znanosti, urodilo je sa 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 važnu i močnu činjenicu, a to je da od najednostavnijeg programskog jezika niske razine apstrakcije do najkomplesnijih 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 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.

Odnos prirodnog i programskog jezika[uredi VE | uredi]

Ključna razlika između prirodnog (ljudskog) i programskog jezika jest u jednoznačnosti tumačenja. Programski jezici su osmišljeni da jednoznačno opisuju svijet i time jamče determinističko izvođenje (tumačenje) tog opisa na stroju. Međutim, prirodni jezici su nastali u svrhu prenošenja ideja, bez prethodnog inženjerskog osmišljavanja strukture i značenja jezika, višeznačnost je predstavljala prihvatljivu grešku u tumačenju i prenošenju ideja.

Razmotrite rečenicu "2+2". Možemo izgraditi stroj koji će danu rečenicu jedinstveno protumačiti kao "zbroji dva i dva" i rezultirati će s brojem 4. Kakva korist bi bila u tome da stroj protumači ovaj izraz, ovisno o raspoloženju, kao "zbroji dva i tri" ili "oduzmi 2 i 2".

Zgodno je primjetiti kako ljudskim jezikom opisujemo okružujući svijet ideja, a taj opis tumače ljudi. Shodno tome čovjeka se može promatrati kao računalo koje prepoznaje i tumači ljudski jezik. Dodatno, linija odvajanja prirodnog i programskog jezika se čini dovoljno tanka da je prihvatljivo smatrati tu razliku evolucijom jezika.

Povijest programskih jezika[uredi VE | 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 VE | uredi]

Poveznice[uredi VE | uredi]