Tietokoneohjelmoinnin terminologiassa ohjelmointikielet jaetaan usein "korkean tason" ja "matalan tason" kieliin. Ero näiden kahden välillä johtuu laitteiston vuorovaikutuksesta. Yksinkertaisesti sanottuna matalan tason kielet sijaitsevat "alhaalla" tietokonejärjestelmässä, lähempänä todellista laitteistovuorovaikutusta. Korkean tason kielet poistetaan laitteistosta. Tämän abstraktion tulos voi johtaa nopeampaan, luettavampaan koodiin, mutta pienempiin nopeuseduihin ja heikompaan pääsyyn järjestelmäresursseihin.
Abstraktio
Se, mikä erottaa korkean tason kielet matalan tason kielistä, on kielen abstraktioaste järjestelmäresursseista. Päivittäinen järjestelmäresurssien käsittely voi olla hidasta ja tuskallista. Korkean tason kieliä luotiin käsittelemään tätä ongelmaa käsittelemällä järjestelmää ohjelmoijan puolesta, vapauttamalla Hän suorittaa edistyneemmän tehtävän jättäen huomiotta järjestelmän pienet yksityiskohdat, kuten muistin hallinta. Tässä on kuitenkin se haittapuoli, että ohjelmoija saattaa joutua tilanteeseen, jossa vaaditaan pääsyä järjestelmään, eikä korkean tason kieli voi antaa sitä pääsyä. Korkean tason kieli ei yleensä sovellu järjestelmäohjelmointiin.
Päivän video
Nopeus
Korkean tason kielet ovat tyypillisesti "tulkittuja" kieliä "käännettyjen" matalan tason kielten sijaan. "Tulkittu" tarkoittaa yksinkertaisesti sitä, että kieli käyttää tulkkia, joka suorittaa lähdekoodin rivi kerrallaan binääritiedoston kääntämisen sijaan. Tulkit ovat kuitenkin usein käännetyillä kielillä kirjoitettuja ohjelmia. Tämän vuoksi tulkittu kieli - esimerkkinä Python - toimii vain Python-tulkin päällä, joka on kirjoitettu C-kielellä. Tämä lisää tulkittujen ohjelmien muistia ja aikaa, ja ne suoritetaan usein hitaammin.
Järjestelmän erityispiirteet
Korkean tason koodin näennäinen vahvuus on sen siirrettävyys. Korkean tason koodia voidaan käyttää missä tahansa järjestelmässä, johon on asennettu sopiva tulkki. Kuitenkin, kun ohjelma käännetään tietokoneelle, se ottaa käännöksessään huomioon koko järjestelmän ympäristön. Tulkintakieli on jo abstrahoitu järjestelmästä siihen pisteeseen, että tulkittu ohjelma ei tiedä järjestelmästä mitään paitsi sen, mitä tulkki voi sille toimittaa.
Ohjelmointirajat
Korkean tason kielten luonteesta johtuen on tiettyjä tehtäviä, joihin ne eivät sovellu tai eivät ainakaan vielä sovellu. Ilman pääsyä järjestelmäresursseihin nopeiden, käyttöjärjestelmäpohjaisten sovellusten kehittäminen on vaikeaa. Lisäksi jopa käyttöjärjestelmän kehittäminen tulee ongelmalliseksi. Mitä enemmän ohjelmistoja siirtyy verkkoon, tämä tosiasia on vähemmän huolestuttava, mutta kaupallisessa ja teollisessa käytössä tulkitut kielet voivat toimia liian hitaasti tai liian kaukana laitteiston vuorovaikutuksesta.