Nedostaci programskih jezika visoke razine

U terminologiji računalnog programiranja, programski jezici se često dijele na jezike "visoke" i "niže razine". Razlika između njih dvoje je stvar hardverske interakcije. Jednostavno rečeno, jezici niske razine nalaze se "niže" u računskom sustavu, bliže stvarnoj interakciji hardvera. Jezici visoke razine su apstrahirani od hardvera. Rezultat ove apstrakcije može rezultirati bržim, čitljivijim kodom, ali nižom brzinom i manjim pristupom resursima sustava.

Apstrakcija

Ono što jezike visoke razine čini različitim od jezika niske razine je razina apstrakcije koju jezik ima od resursa sustava. Svakodnevno rukovanje resursima sustava može postati sporo i bolno. Jezici visoke razine stvoreni su za rješavanje ovog problema rukovanjem sustavom za programera, oslobađajući kako bi izvršila napredniji zadatak, ignorirajući sitne detalje sustava, kao što je memorija upravljanje. Međutim, ovo ima nedostatak u tome što se programer može naći u situaciji u kojoj je potreban pristup sustavu, a jezik visoke razine ne može dati taj pristup. Jezik visoke razine obično nije prikladan za programiranje sustava.

Video dana

Ubrzati

Jezici visoke razine obično su "tumačeni" jezici, a ne "kompilirani" jezici niske razine. "Interpretirano" jednostavno znači da jezik koristi interpreter koji izvršava izvorni kod jedan po redak, umjesto da kompajlira binarnu datoteku. Međutim, tumači su često programi napisani na kompiliranim jezicima. Zbog toga se interpretirani jezik - Python, kao primjer - radi samo na vrhu Python interpretera, koji je napisan u C. To povećava količinu memorije i vremena za interpretirane programe, a oni se često izvode sporije.

Osobitosti sustava

Naizgled snaga koda visoke razine je njegova prenosivost. Kod visoke razine može se izvoditi na bilo kojem sustavu koji ima instaliran odgovarajući interpreter. Međutim, kada se program kompilira za računalo, on u svom sastavljanju uzima u obzir cjelokupno okruženje tog sustava. Interpretirani jezik je već apstrahiran od sustava do te točke da interpretirani program ne zna ništa o sustavu osim onoga što mu tumač može dostaviti.

Granice programiranja

Zbog prirode jezika visoke razine, postoje određeni zadaci za koje oni nisu prikladni ili barem još nisu prikladni. Bez pristupa resursima sustava, teško je razviti brze aplikacije koje su izvorne za OS. Nadalje, čak i razvoj operativnog sustava postaje problematičan. Kako se sve više softvera kreće online, ova činjenica postaje manje zabrinjavajuća, ali za komercijalnu i industrijsku upotrebu interpretirani jezici mogu raditi presporo ili previše udaljeni od interakcije s hardverom.