Кіріспе

Орындалатын кодқа айналатын бағдарламалау тілі. Компиляцияланатын тіл – бағдарламалау тілі, оның іске асырылуы көбінесе компиляторлар (көз кодты машиналық кодқа аударатын аудармашылар) арқылы жүзеге асырылады, интерпретаторлар (көз кодты қадамдық түрде орындайтын, алдын ала орындалу кезінде аударма жасалмайтын) емес. Бұл термин шамалы беймаз. Принцип бойынша, кез келген тілді компилятормен немесе интерпретатормен іске асыруға болады. Екі тәсілдің үйлесімі де кең таралған: компилятор көз кодты аралық формаға (көбінесе p-код немесе байт-код деп аталады) аударады, содан кейін оны орындайтын интерпретаторға жібереді.

Артықшылықтары мен кемшіліктері

Компиляция кезінде түпкі кодқа компиляцияланған бағдарламалар, аударма процесінің қосымша жүктемесіне байланысты, орындалу кезінде аударылатын бағдарламалардан жылдам болады. Бірақ, жаңа технологиялар, мысалы, уақытында компиляция және аударма процесінің жалпы жақсаруы, бұл айырмашылықты азайта бастады. Байт-кодты пайдаланатын аралас шешімдер орташа тиімділікке көмектеседі. Төменгі деңгейдегі бағдарламалау тілдері әдетте компиляцияланады, әсіресе тиімділік платформалық үйлесімділіктен маңыздырақ болғанда. Мұндай тілдерде бағдарламаланған код пен машиналық кодпен орындалатын аппараттық операциялардың арасында тікелей сәйкестіктер болады, бұл бағдарламашыларға орталық процессордың (CPU) және жадтың қолданылуын егжей-тегжейлі бақылауға мүмкіндік береді. Біраз күш жұмсаса, тіпті дәстүрлі түрде интерпретацияланатын тілдер үшін де компиляторларды жазу мүмкін. Мысалы, Common Lisp Java байт-кодына (кейін Java виртуалды машинасымен интерпретацияланады), C кодына (кейін түпкі машиналық кодқа компиляцияланады) немесе тікелей түпкі кодқа компиляциялануы мүмкін. Көптеген компиляциялау мақсаттарын қолдайтын бағдарламалау тілдері әзірлеушілерге орындалу жылдамдығын, платформалық үйлесімділікті немесе қолдануды таңдауға көбірек мүмкіндік береді.