Kompiliavimas
Kompiliavimas arba kompiliacija - tai tada, kai kokia tai programa, parašyta kokia nors žmonėms suprantama programavimo kalba, yra išverčiama į mašininį kodą, kuris jau suprantamas realiam procesoriui. O jau paskui tasai išverstas mašininis kodas gali būti vykdomas.
Kompiliavimas yra vienas iš dviejų esminių programų vykdymo būdų, kai kitas yra interpretavimas, kada programa yra vykdoma tiesiogiai, kaip parašyta.
Kadangi kompiliavimas reiškia, kad programa turi būti paverčiama į mašininį kodą, kuris savo logika gali gerokai skirtis nuo tos logikos, kuri yra programoje, tai atsiranda kai kurie reikalavimai programavimo kalboms. Kaip pvz., dėl šių priežasčių programa negali paprastu būdu skaityti savo pačios teksto, nes po kompiliacijos jo tiesiog nelieka. Yra ir kitų, visokių smulkesnių problemėlių. Dėl visų tų priežasčių atsiranda reikalavimai ir programavimo kalboms, kurios tiktų kompiliacijai. Tai atitinkamai ir būna išskiriamos kompiliuojamos kalbos, kurios tai kompiliacijai tinkamos. Kaip priešingybė tokioms kalboms - interpretuojamos kalbos, kurios kompiliacijai tinka prastai arba išvis netinka.
Aišku, yra ir tarpinių variantų - pvz., Java kalbos atveju kompiliavimas būna į kodą, kuris skirtas virtualiai Java mašinai, o šioji jau tą kodą interpretuoja.
Dar žr.
- Kroskompiliacija - čia toksai specifinis atvejis, kai ant vienos kompiuterio architektūros kompiliuojama kitai architektūrai