Kas yra aukšto lygio programavimas?

Aukšto lygio programavimas apima kompiuterio programos rašymą tokia kalba, kuri neleidžia programuotojui tiesiogiai bendrauti su konkretaus programuojamo kompiuterio aparatine įranga. Ši abstrakcija leidžia programuotojui daugiau dėmesio skirti programos dizainui, srautui ir funkcionalumui, o mažiau – pagrindinių sistemos išteklių skirstymui, kad šie tikslai būtų pasiekti. Aukšto lygio programavimo kalba gali valdyti atmintį arba įvestis ir išvestis taip, kad programuotojui tereikia suprasti koncepciją, o ne tam tikros sistemos techninės įrangos specifiką. Priešingai nei aukšto lygio programavimas, yra žemo lygio programavimas, kai parašytas kompiuterio kodas ir kompiuterio atliekami veiksmai yra mažai atskirti, jei iš viso yra.

Aukšto lygio programavimo kalbų kūrimas buvo atsakas į žmogui skaitomų šaltinio kodo failų, kuriuos būtų galima lengvai suprasti ir modifikuoti, poreikį. Naudojant natūralios kalbos sprendimus, aukšto lygio šaltinio kodas tampa daug lengviau skaitomas nei asamblėjos ar kitos mašininės kalbos. Didėjant kompiuterių programų dydžiui, praktiškumas parašyti visas programas žemo lygio kalbomis tapo mažiau įmanomas.

Mainais už programavimą žmogui suprantama kalba ir nereikalaujančių žemo lygio aparatinės įrangos žinių, yra sąvoka, žinoma kaip abstrakcijos bausmė. Tai apibūdina padidėjusį apdorojimo galios, atminties naudojimo ir kitų tipų papildomų išlaidų, reikalingų galutinei programai vykdyti, reikalavimus. Tai ypač pasakytina apie interpretuojamas kalbas, kurios turi paleisti vertėją, kad paleistų programą, o tai iš esmės reikalauja, kad dvi programos veiktų vienu metu.

Kompiliuotos kalbos yra aukšto lygio programavimo kalbos, kuriose skaitomi šaltinio failai paverčiami mašininiu kodu, kurį kompiuteris gali nuskaityti. Nors sukompiliuota kalba patiria mažiau abstrakcijos nuobaudų nei interpretuota kalba, ji vis tiek remiasi iš anksto sudarytomis bibliotekomis ir automatizuotomis kompiliatoriaus funkcijomis. Šie elementai gali pakenkti sudėtingos programos, kurios našumas yra gyvybiškai svarbus, optimizavimui.

Aukšto lygio programavimo kalbų naudojimas taip pat palengvino vartotojui patogų programavimą. Tai palengvina paprastas standartizuotų elementų įtraukimas į vartotojo sąsają, kurią suteikia dauguma aukšto lygio kalbų. Užuot kūrus individualų kodą langų sistemai arba sąsajos mygtukui kiekvieną kartą, kai jo prireikia, pažįstamus elementus galima lengvai įdėti į sąsają su tik keliomis kodo eilutėmis. Tai leidžia naudoti programas, kurias galutiniai vartotojai gali lengviau išmokti arba iš karto susipažinti.

Sąvokos „aukšto lygio programavimas“ vartojimas priklauso nuo programuotojo patirties. Yra keletas tarpinių kalbų, kurios kažkada buvo laikomos žemo lygio kalbomis, bet dabar ne. Be to, kai kurios aukšto lygio kalbos dalijasi aspektais su žemo lygio kalbomis, todėl riba tarp jų sutrinka.