Delitev programskih jezikov

 

Programske jezike lahko delimo na razne načine. Eden od načinov je generacijska delitev. Tako lahko programske jezike uvrstimo v prvo generacijo, če je to strojni jezik, v drugo generacijo zbirne jezike. Vse ostale generacije predstavljajo višje programske jezike. Tretjo bi še lahko opredelili s postopkovnimi programskimi jeziki, četrto z deklarativnimi, vendar tu meja med generacijami ni več striktno določena. Vse preveč se generacijsko delitev izkorišča v ekonomsko-propagandno-reklamne namene s poudarkom na boljši prodaji nekega produkta, pa tudi sami programski jeziki so s svojim razvojem pričeli brisati meje med generacijami.

Tako ponavadi programske jezike delimo na:

Nižji programski jeziki:

kaj hitro je bilo jasno, da je programiranje s pomočjo opisov ukazov precej enostavneje, kot pa z uporabo binarnih ukazov. Te opise ukazov, kjer je vsak ukaz dobil poljubno ime, so poimenovali mnemoniki, programiranje s pomočjo mnemonikov pa zbiranje (asembliranje, assembling). Primer programa v zbirniku in strojni kodi:

razen tega, da je bilo programiranje lažje, pa vse ostale slabosti, ki smo jih spoznali v zvezi s strojnim jezikom ostajajo (vse je sicer rahlo lažje naredi, pa vendar...). Drug problem, ki se pojavi z novim jezikom pa je v tem, da sam stroj tega jezike ne pozna več. Pred uporabo ga je potrebno pretvoriti v strojni jezik. To pretvorbo, pri kateri se opis ukaza (operacije) nadomesti z njeno binarno kodo, imenujemo zbiranje.

Koncentriranje oz. povečevanje funkcionalnosti ukazov pa je po drugi strani privedlo do nove kategorije programskih jezikov, t.i. višjih programskih jezikov.

Višji programski jeziki

Prehod v višje programske jezike je povzročilo povečevanje kompleksnosti ukazov z združevanjem manj kompleksnih ukazov in pojavom novega mehanizma izvajanja skupine ukazov : podprogramov. Pri podprogramih koda posameznih ukazov v fazi pretvorbe programa ne nadomesti 'klica' podprograma in s tem razpihuje končne kode, temveč se izvrši na mestu, kjer je definirana. Se pravi, da v rezultativni kodi nastopa le enkrat in jo po potrebi pač večkrat izvedemo (kličemo).

Pri prehodu na višji programski jezik je potrebno rešiti še dva problema , ki zadevata nižje programske jezike in ju lahko kratko strnemo v dve točki:

Visokonivojski programski jeziki programerju omogočajo pisanje v notaciji, ki je človeku bližja, in se mu hkrati ni potrebno ukvarjati s specifičnimi lastnostmi strojnega jezika (zmanjševanje semantičnega prepada).

Tudi višje programske jezike glede na njihove značilnosti lahko delimo na več skupin. Omejimo se na pomembnejše:

Programske jezike bi lahko razdelili tudi glede na njihov namen : za uporabo s podatkovnimi bazami, za uporabo na področju umetne inteligence, ...