Compiled language
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place).
The term is somewhat vague; in principle any language can be implemented with a compiler or with an interpreter. A combination of both solutions is also increasingly common: a compiler can translate the source code into some intermediate form (often called bytecode), which is then passed to an interpreter which executes it.
A program translated by a compiler tends to be much faster than an interpreter executing the same program: even a 10:1 ratio is not uncommon. The mixed solution's efficiency is typically somewhere in between. The downsides of the "compiler" solution are the longer edit-run cycles and the inherent complexity of a good implementation.
A pure compiler implementation is the typical solution for low-level languages, because it comes out as more "natural", and because of efficiency concerns; however with some effort it is always possible to write compilers even for traditionally interpreted languages.
Languages
Some languages that are commonly considered to be compiled:
- Ada
- ALGOL
- BASIC
- C
- CLEO
- COBOL
- Cobra
- Common Lisp
- Delphi
- Eiffel
- Factor
- Forth
- Fortran
- Haskell
- Go
- IBM RPG
- Java
- JOVIAL
- LabVIEW
- Lisp
- Lush
- ML
- Modula-2
- Modula-3
- Open-URQ
- Pascal
- Scheme
- Visual Basic
- Visual Foxpro
- Visual Prolog