Кіріспе
Компьютерлік бағдарламаларды орындау жүйесі Компьютерлік бағдарламалауда бағдарламалау тілінің іске асырылуы - компьютерлік бағдарламаларды орындау жүйесі. Бағдарламалау тілдерін іске асырудың екі жалпы әдісі бар: Интерпретация: Бағдарламаны интерпретатор кіріс ретінде оқиды, ол бағдарламада жазылған әрекеттерді орындайды. Компиляция: Бағдарламаны компилятор оқиды, ол оны байт-код немесе машиналық код сияқты басқа тілге аударады. Аударған кодты аппараттық құрылғы тікелей орындауы немесе басқа интерпретаторға немесе басқа компиляторға енгізу ретінде қызмет етуі мүмкін.
In computer programming, a programming language implementation is a system for executing computer programs. There are two general approaches to programming language implementation:
Interpretation: The program is read as input by an interpreter, which performs the actions written in the program. Compilation: The program is read by a compiler, which translates it into some other language, such as bytecode or machine code. The translated code may either be directly executed by hardware or serve as input to another interpreter or another compiler.
Виртуалды машина
Виртуалды машина - байт-кодты интерпретациялайтын интерпретатордың ерекше түрі. Өздерінің тиімділігін арттыру үшін Java және C# сияқты көптеген бағдарламалау тілдері интерпретацияланбастан бұрын байт-кодқа компиляцияланады.
Тек уақытында компилятор
Кейбір виртуалды машиналар байт-кодты орындау тиімділігін арттыру үшін жай уақытында (JIT) компиляторды қамтиды. Егер JIT компиляторы байт-кодты виртуалды машина орындаған кезде байт-кодтың бір бөлігін қайта-қайта пайдаланатынын анықтаса, ол осы бөлігін машина кодына компиляциялайды. JIT компиляторы машина кодын жадында сақтайды, сонда оны виртуалды машина пайдалана алады. JIT компиляторлары ұзағырақ компиляция уақыты мен жылдам орындау уақытының арасында тепе-теңдікті сақтауға тырысады. Егер жоғары деңгейдегі тілдің компиляторы басқа жоғары деңгейдегі тілді шығарса, ол трансипилер деп аталады. Транспилерлер басқа тілдердің (мысалы, C) портативті және жақсы оптимизацияланған іске асырылуын пайдалану арқылы қолданыстағы тілдерді кеңейту немесе компиляторды әзірлеуді оңайлату үшін пайдаланылуы мүмкін.