Компилируемый язык программирования
Компилируемый язык" - это язык программирования, реализация имплементацияов которого обычно представляет собой компиляторы (трансляторы, генерирующие машинный код из исходного кода), а не интерпретаторы (пошаговые исполнители исходного кода, в которых не происходит предварительной трансляции).
Чтобы избежать расплывчатости понятия, его следует использовать в узком смысле. Дело в том, что, в принципе, любой язык может быть реализован с помощью компилятора или интерпретатора.[1] Также распространена комбинация обоих решений: компилятор может переводить исходный код в некоторую промежуточную форму (часто называемую p-код или байт-код), которая затем передается интерпретатору, выполняющему ее. Как правило, под компилируемыми языками понимают языки, для которых существует компилятор в машинный код.
Преимущества и недостатки
Программы, скомпилированные в родной код во время компиляции, обычно быстрее, чем программы, переведенные во время выполнения, из-за накладных расходов на процесс перевода. Новые технологии, такие как just-in-time compilation, и общие улучшения в процессе трансляции начинают сокращать этот разрыв. Смешанные решения, использующие байткод, стремятся к промежуточной эффективности.
Низкоуровневые языки программирования обычно компилируются, особенно когда главным является эффективность, а не поддержка кроссплатформенность. Для таких языков существует больше соответствий один-к-одному между программируемым кодом и аппаратными операциями, выполняемыми машинным кодом, что облегчает программистам контроль за использованием центрального процессора (CPU) и memory в тонких деталях.
При определенных усилиях всегда можно написать компиляторы даже для традиционно интерпретируемых языковов. Например, Common Lisp может быть скомпилирован в байткод Java (затем интерпретирован виртуальной машиной Java), код C (затем скомпилирован в родной машинный код) или непосредственно в родной код. Языки программирования, поддерживающие несколько целей компиляции, дают разработчикам больше возможностей для выбора скорости выполнения или кроссплатформенной совместимости или использования.
Компилируемые языки
Некоторые языки, которые принято считать компилируемыми:
- Ada
- АЛГОЛ
- BASIC
- C
- C++
- Carbon (язык программирования)
- CLEO
- COBOL
- Cobra
- Crystal
- D
- eC
- Eiffel
- Factor (поздние версии)
- Форт
- Fortran
- Go
- Haskell
- Haxe (на байткод или C++)
- JOVIAL
- Julia (через JIT)
- LabVIEW, G
- Lisp
- Mercury
- ML
- Nim (на C, C++ или Objective-C)
- Pascal
- Objective-C
- PL/I
- RPG
- Rust
- Seed7
- SPITBOL
- Swift
- Vala
- Visual Foxpro
- Visual Prolog
- W
- Zig
Языки компилируемые в байт-код
Языки компилируемые в другой язык программирования (Транспайлер)
Примечания
- ↑ Ullah, Asmat Features and Characteristics of Compiled Languages (англ.). www.sqa.org.uk.
- ↑ Hickey, Rich. "Clojure - это компилируемый язык", Retrieved on 11 September 2020.
Ссылки
- Компилируемые языки в dmoz.
Это «статья-заготовка» о компьютерных языках. Вы можете помочь проекту, дополнив эту статью, как и любую другую в Руниверсалис. |