Slabosti programskih jezikov na visoki ravni

click fraud protection

V terminologiji računalniškega programiranja so programski jeziki pogosto ločeni na jezike "visoke ravni" in "nizkonivojske". Razlika med obema je stvar interakcije strojne opreme. Preprosto povedano, jeziki nizke ravni se nahajajo "nižje" v računalniškem sistemu, bližje dejanski interakciji s strojno opremo. Jeziki visoke ravni so abstrahirani stran od strojne opreme. Rezultat te abstrakcije lahko povzroči hitrejšo in bolj berljivo kodo, vendar nižje prednosti pri hitrosti in manjši dostop do sistemskih virov.

Abstrakcija

Tisto, kar razlikuje jezike visoke ravni od jezikov nizke ravni, je raven abstrakcije, ki jo ima jezik od sistemskih virov. Vsakodnevno ravnanje s sistemskimi viri lahko postane počasno in boleče. Jeziki na visoki ravni so bili ustvarjeni za reševanje te težave z ravnanjem s sistemom za programerja, ki je osvobodil da opravi naprednejšo nalogo, pri tem pa ne upošteva najmanjših podrobnosti sistema, kot je pomnilnik upravljanje. Vendar ima to pomanjkljivost v tem, da se programer lahko znajde v situaciji, ko je potreben dostop do sistema, jezik na visoki ravni pa tega dostopa ne more omogočiti. Jezik visoke ravni običajno ni primeren za sistemsko programiranje.

Video dneva

Hitrost

Jeziki visoke ravni so običajno "interpretirani" jeziki in ne "prevedeni" nizkonivojski jeziki. "Interpretirano" preprosto pomeni, da jezik uporablja tolmač, ki izvaja izvorno kodo eno vrstico naenkrat, namesto da prevaja binarne datoteke. Vendar so tolmači pogosto programi, napisani v prevedenih jezikih. Zaradi tega se interpretirani jezik – na primer Python – izvaja samo na vrhu tolmača Python, ki je napisan v C. To poveča pomnilnik in časovne stroške za interpretirane programe in se pogosto izvajajo počasneje.

Sistemske posebnosti

Navidezna prednost kode na visoki ravni je njena prenosljivost. Koda visoke ravni se lahko izvaja v katerem koli sistemu, ki ima nameščen ustrezen tolmač. Ko pa je program preveden za računalnik, pri prevajanju upošteva celotno okolje tega sistema. Interpretirani jezik je že abstrahiran iz sistema do te točke, da interpretirani program ne ve ničesar o sistemu, razen tistega, kar mu tolmač lahko zagotovi.

Omejitve programiranja

Zaradi narave jezikov na visoki ravni obstajajo določene naloge, za katere niso primerni ali vsaj še niso primerni. Brez dostopa do sistemskih virov je težko razviti hitre aplikacije, ki so izvorne za OS. Poleg tega celo razvoj operacijskega sistema postane problematičen. Ker se vse več programske opreme premika na splet, to dejstvo postaja manj zaskrbljujoče, toda za komercialno in industrijsko uporabo lahko tolmačeni jeziki delujejo prepočasi ali preveč oddaljeni od interakcije s strojno opremo.