From Wikipedia, the free encyclopedia
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:
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.
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.
Seamless Wikipedia browsing. On steroids.