Mis on kompileeritud keel?

Kompileeritud keel on arvutiprogrammeerimiskeel, mille lähtekood tavaliselt kompileeritakse või tõlgitakse masinkoodiks käivitatava programmi loomiseks. Kompilaatorid on utiliidiprogrammid, mis on loodud programmeerimiskeele konkreetse teostuse tõlkimiseks käivitatavaks binaarfailiks, mis on loodud töötama teatud operatsioonisüsteemi all. Seda eraldiseisvat käivitatavat faili saab käivitada mis tahes ühilduval platvormil ilma teise programmi abita ja ilma vajaduseta uuesti kompileerida. Mõned levinumad kompileeritud keeled on Ada, C++ ja Fortran.

Arvutiprogramme saab kirjutada ka tõlgendatud keeles või skriptikeeles. Otsus rakendada projekt koostatud keeles on tavaliselt seotud selle programmide palju suurema täitmiskiirusega. Suurenenud kiirus kompenseerib üldiselt keerukama arendus- ja hooldusprotsessi. Operatsioonisüsteemid ja utiliidid, mis vajavad otsest juurdepääsu riistvarale, nõuavad sageli kompileeritud keele tõhusust.

Tõlgitud keeli peab tõlgiutiliit iga kord programmi käivitamisel analüüsima, tõlkima ja käivitama. Kui tõlk ei asu arvutis, ei saa programmi käivitada. Kompileeritud keeles tehakse see aeganõudev analüüs ja tõlkimine üks kord kompileerimise ajal ning käivitatav fail ei vaja käivitamiseks utiliiti. Kui kiirus või vajadus madala taseme riistvarajuurdepääsu järele ei ole teguriks, võib tõlgendatava programmi rakendamise suhteline lihtsus muuta selle atraktiivseks valikuks.

Skriptikeeli rakendatakse sageli selleks, et anda kasutajatele suurem kontroll kompileeritud keeleprogrammide üle või pakkuda täiendavaid funktsioone. Seda tüüpi keelt tuleb tõlgendada ka käitusajal. Kõige tuntum skriptikeele kasutusala on Interneti-veebilehtedel, kus skripti tõlgina toimib brauser. Sellised keeled on eksisteerinud juba varasest suurarvutite ajast, kuid lihtsate protsesside automatiseerimiseks.

Tarkvaraprojekti arendamisel tuleb sageli teha valikuid arvutiressursside tõhusa kasutamise ja arendusaja kulu vahel. See võib kaasa tuua kompileeritud keele ja tõlgitud või skriptikeele segu konkreetse projekti raames. Programmi aja- ja ressursikriitilised elemendid on tavaliselt kõige paremini kodeeritud kompileeritud keeles. Vähema ressursivajadusega liidesed ja elemendid võivad olla tõlgitud keeles majanduslikult arendatud. Isegi elemendid, mis lõpuks koostatud keeles rakendatakse, võidakse kulutõhusamalt prototüüpida tõlgendatud keeleprogrammina.