Compiled language

(Redirected from CompiledLanguages)

A compiled language is a programming language for which source code is typically compiled; not interpreted.

The term is vague since, in principle, any language can be compiled or interpreted and in practice some languages are both (in different environments).[1] In some environments, source code is first compiled (to an intermediate form; often bytecode) and then interpreted.

Advantages and disadvantages

edit

Programs compiled to native code tend to run faster than if interpreted due to translation overhead. Environments with a bytcode intermediate form tend toward intermediate speed. Just-in-time compilation allows for native execution speed with a one-time startup processing time cost.

Low-level programming languages, such as assembly and C, are typically compiled, especially when efficiency is the main concern, rather than cross-platform support. For such languages, there are more one-to-one correspondences between the source code and the resulting machine code, making it easier for programmers to control the use of hardware.

It is possible to write compilers even for commonly interpreted languages. For example, Common Lisp can be compiled to Java bytecode (then interpreted by the Java virtual machine), C code (then compiled to native machine code), or directly to native code.

Environments that support multiple compilation output languages provide developers control to choose either execution speed or cross-platform compatibility.

See also

edit
  • ANTLR – Parser generator program
  • Flex – UNIX program for lexical analysis
  • GNU bison – Yacc-compatible parser generator program
  • Lex – Lexical analyzer generator
  • List of compiled languages
  • Interpreter (computing) – Program that executes source code without a separate compilation step
  • Scripting language – Programming language designed for scripting
  • Yacc – Parser generator

References

edit
  1. ^ Ullah, Asmat. "Features and Characteristics of Compiled Languages". www.sqa.org.uk.
edit