Programski jezik

Iz Wikipedije, proste enciklopedije

Skoči na: navigacija, iskanje

Prográmski jêzik je stroju berljiv umetni jezik, ki je bil razvit, da izraža izračune oz. komputacije, katere lahko izvaja stroj oziroma računalnik. Računalniška znanost je veda, katera raziskuje in se ukvarja s teorijo programskih jezikov.

Računalniške programske jezike kategoriziramo v pet generacij. Prva generacija je strojni jezik, ki ga razume centralna procesna enota, druga generacija je zbirni programski jezik, katerega sintaktična pravila so opredeljena s mnemoniki in operandi oziroma parametri, tretja generacija so visokonivojski programski jeziki (angl. high-level programming languages - HLL), četrta zelo visokonivojski programski jeziki (angl. very high-level programming languages - VHLL) in peta generacija (angl. domain-specific languages - DSL), ki opredeljuje programske jezike, ki služijo reševanju specifičnih problemov ozkega področja.

V računalniški stroki pravimo, da so programski jeziki razdeljeni v generacije glede na abstrakcijski nivo. Jeziki nižjih nivojev so bližje zapisu, ki ga razumejo stroji, medtem ko so jeziki višjih novijev razumljivejši človeku in so sintaktično bolj podobni naravnim jezikom.

Visokonivojski programski jezik je skupek sintaktičnih in semantičnih pravil, podatkovnih struktur in vmesnikov, ki programerju služijo kot orodje za reševanje problemov oziroma implementacijo računalniškega programa, v človeku bolj prijazni, razumljivi strukturi in pomenu. Programski jeziki od druge do pete generacije se uporabljajo zato, ker sta človekova in računalnikova »govorica« tako različni, da je pisati programje v jeziku računalnika (strojni kodi) nepregledno in nasploh mukotrpno.

Računalniški programski jeziki pa se ne razlikujejo samo glede na svoj abstrakcijski nivo, temveč tudi po svojih sintaktičnih in semantičnih pravilih. Sintaksa opredeljuje gramatiko programskega jezika, medtem ko semantika predstavlja njen abstraktni pomen. Praviloma se sintaktične napravilnosti ugotavljajo mnogo hitreje in enostavneje kot semantične. Del programske opreme prevajalnika, ki je odgovoren za ugotavljanje omenjenih nepravilnosti, se imenuje razčlenjevalnik (angl. parser), kateri izvaja analize sintakse pred prevodom izvorne kode v strojno kodo programske opreme.

Sintaksa in semantika programskih jezikov skupno tvorita in predstavljata programerju temeljni stil računalniškega programiranja, ki ga imenujemo programska paradigma. Najpogostejše so imperativna oziroma proceduralna, objektno usmerjena, strukturirana, logična, funkcijska paradigma itd.

Glede na to, ali se preverja podatkovne tipe ob prevodu ali ob izvajanju algoritma programske opreme, poznamo statično in dinamično tipizirane programske jezike.

Prvi visokonivojski programski jezik je bil Plankalkül, ki ga je razvil Nemški računalniški pionir Konrad Zuse med letoma 1943 do 1945. Leta 1950 so se še razvili in uveljavili programski jeziki LISP (LISt Processor), FORTRAN (FORmula TRANslator) in COBOL (COmmon Business Oriented Language).

Java je primer visokonivojskega programskega jezika:

Primer računalniškega programa v programskem jeziku Java:

 import java.applet.Applet;
 import java.awt.Graphics;

 public class Pozdrav extends Applet {
   public void paint(Graphics g) {
     g.drawString("Pozdravljen svet!", 50, 25);
   }
 }

Primer računalniškega programa v zbirnem programskem jeziku:

format ELF executable
entry Zacni

segment readable executable

Zacni:

	MOV EAX,4
	MOV EBX,1
	MOV ECX,SPOROCILO
	MOV EDX,VELIKOST
	INT 0x80

	MOV EAX,1
	XOR EBX,EBX
	INT 0x80

segment readable writeable

SPOROCILO DB 'Pozdravljen svet!',0xA
VELIKOST = $-SPOROCILO

[uredi] Glej tudi


Glavni programski jeziki (več)

Industrijski: ABAP | Ada | C | C++ | C# | COBOL | Delphi | Fortran | java | JavaScript | Lisp | Objective-C | Perl | PHP | PL/SQL | Python | SAS | sh | SQL | Visual Basic | zbirnik

Akademski: Eiffel | Haskell | Logo | ML | paskal | Prolog | Scheme | Smalltalk

Zgodovinski: ALGOL | APL | AWK | BASIC | Clipper | PL/I | Simula