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 inherent complexity of a good implementation, and longer edit-run cycles.
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 such as
Lisp and
Prolog.
Languages
Some languages that are commonly considered to be compiled:
Tools
See also
External links
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like natural languagess, are defined by syntactic and semantic rules which describe their structure and meaning respectively.
..... Click the link for more information.
A
programming language implementation is a system for
executing programs written in a programming language.
There are two general approaches to programming language implementation:
..... Click the link for more information. compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language).
..... Click the link for more information.
Machine code or machine language is a system of instructions and data directly executed by a computer's central processing unit. Machine code is the lowest-level of abstraction for representing a computer program.
..... Click the link for more information.
source code (commonly just source or code) is any sequence of statements and/or declarations written in some human-readable computer programming language.
..... Click the link for more information.
In computer science, an interpreter is a computer program that executes, or performs, instructions written in a computer programming language. Interpretation is one of the two major ways in which a programming language can be implemented, the other being compilation.
..... Click the link for more information.
source code (commonly just source or code) is any sequence of statements and/or declarations written in some human-readable computer programming language.
..... Click the link for more information.
Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. Since it is processed by software, it is usually more abstract than machine code.
..... Click the link for more information.
In computer programming an interpreted language is a programming language whose implementation often takes the form of an interpreter. Theoretically, any language may be compiled or interpreted, so this designation is applied purely because of common implementation practice and not
..... Click the link for more information.
Lisp
Paradigm: multi-paradigm: functional, procedural, reflective
Appeared in: 1958
Designed by: John McCarthy
Developer: Steve Russell, Timothy P. Hart, and Mike Levin
Typing discipline: dynamic, strong
Dialects: Common Lisp, Scheme, Emacs Lisp
..... Click the link for more information.
Prolog
Paradigm: Logic programming
Appeared in: 1972
Designed by: Alain Colmerauer
Major implementations: BProlog, GNU Prolog, Quintus, SICStus, Strawberry, SWI-Prolog, YAP-Prolog
Dialects: ISO Prolog, Edinburgh Prolog
..... Click the link for more information.
Ada
Paradigm: multi-paradigm: concurrent, distributed, generic-programming, imperative, object-oriented
Appeared in: 1983, last revised 2005
Designed by: Jean Ichbiah, extended
by S.
..... Click the link for more information.
Algol (β Per / Beta Persei) is a bright star in the constellation Perseus. It is one of the best known eclipsing binaries, the first such star to be discovered, and also one of the first (non-nova) variable stars to be discovered.
..... Click the link for more information.
Algol (β Per / Beta Persei) is a bright star in the constellation Perseus. It is one of the best known eclipsing binaries, the first such star to be discovered, and also one of the first (non-nova) variable stars to be discovered.
..... Click the link for more information.
ALGOL 68
Paradigm: multi-paradigm: concurrent • imperative
Appeared in: 1968, last revised 1973
Designed by: A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck and C.H.A. Koster, et al.
..... Click the link for more information.
Small can refer to the following:
- Something very gracious
- Something of low size.
- Minuscule, or lower case, is the small form (case) of a letter
- SMALL, an ALGOL-like programming language
..... Click the link for more information. Basic may be:
- BASIC, programming language
- Basic belief, a concept in foundationalist epistemology
- Basic (chemistry), the opposite to acidic, reacting with acids to form salts
- Basic access authentication in HTTP
..... Click the link for more information. C
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language.
..... Click the link for more information.
C++
Paradigm: Multi-paradigm
Appeared in: 1983
Designed by: Bjarne Stroustrup
Typing discipline: Static, unsafe, nominative
Major implementations: G++, Microsoft Visual C++, Borland C++ Builder
Dialects: ISO/IEC C++ 1998, ISO/IEC C++ 2003
..... Click the link for more information.
C#
Paradigm: structured, imperative, object-oriented
Appeared in: 2001 (last revised 2005)
Designed by: Microsoft Corporation
Typing discipline: static, strong, both safe and unsafe, nominative
Major implementations: .NET Framework, Mono, DotGNU
Dialects: 1.
..... Click the link for more information.
Objective-C
Paradigm: reflective, object oriented
Appeared in: 1986
Designed by: Brad Cox and Tom Love
Developer: Apple Inc.
Typing discipline: duck, static, weak
Major implementations: gcc, Apple
Influenced by: Smalltalk, C
..... Click the link for more information.
D
Paradigm: multiparadigm
Appeared in: 1999
Designed by: Walter Bright
Latest release: 1.022 (stable)/ October 1, 2007[1]
Typing discipline: strong, static
Major implementations: DMD , GDC
Influenced by: C, C++, C#, Java, Eiffel
The
..... Click the link for more information.
Cleo is a female given name that is short for Cleopatra and an alternate spelling of Clio.
People who are commonly referred to solely by their given name
Cleo include:
- Cleo Higgins, of the vocal group Cleopatra
- Miss Cleo, a self-proclaimed psychic
..... Click the link for more information. COBOL
Paradigm: multi-paradigm
Appeared in: 1959
Designed by: Grace Hopper, William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves, Jean E.
..... Click the link for more information.
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard X3.226-1994. Developed to standardize the divergent variants of Lisp which predated it, it is not an implementation but rather a language specification.
..... Click the link for more information.
Object Pascal is an object oriented derivative of Pascal mostly known as the primary programming language of Borland Delphi. It is also known as the Delphi programming language when describing the dialect used by Borland Delphi.
..... Click the link for more information.
Eiffel
Paradigm: object-oriented
Appeared in: 1986
Designed by: Bertrand Meyer
Developer: Bertrand Meyer & Eiffel Software
Typing discipline: static typing, strong typing
Major implementations: EiffelStudio, SmartEiffel, Visual Eiffel
..... Click the link for more information.
Sather
Paradigm: object-oriented, functional
Appeared in: 1990
Designed by: Steve Omohundro
Developer: Free Software Foundation, University of Karlsruhe, University of Waikato
Typing discipline: static, strong
..... Click the link for more information.
Ubercode is a high level platform-sharing programming language designed by Ubercode Software and released in 2005 for Microsoft Windows. Ubercode is influenced by the Eiffel and Basic programming languages.
..... Click the link for more information.
Fortran
Paradigm: multi-paradigm: procedural, imperative, structured, object-oriented
Appeared in: 1957
Designed by: John W. Backus
Developer: John W.
..... Click the link for more information.