FACTOID # 122: If you're Dutch or Swedish, you're among the world's most likely to end up living in a retirement home. If you're Japanese, you'll probably end up living with your children.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Interpreted language

In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. Any language may, in theory, be compiled or interpreted; therefore, this designation refers to languages' implementations rather than designs. In fact, many languages have both compilers and interpreters, including Lisp, C, BASIC, and Python. Wikibooks has more about this subject: Computer programming Computer programming (often simply programming) is the craft of implementing one or more interrelated abstract algorithms using a particular programming language to produce a concrete computer program. ... An interpreter is a computer program that executes other programs. ... Lisp is a reflective, multi-paradigm programming language with a long history. ... The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ... BASIC (Beginners All-purpose Symbolic Instruction Code) is a family of high-level programming languages. ... Python is an interpreted programming language created by Guido van Rossum in 1990. ...


This term has no meaning in computer science, which strictly distinguishes between languages and implementations. However, people often use it as a useful shortcut to signify languages that are traditionally interpreted, or for which no compilers are written.

Contents


Historical background

In the early days of computing, language design was heavily influenced by the decision to use compilation or interpretation as a mode of execution. For example, some compiled languages require that programs must explicitly state the data-type of a variable at the time it is declared or first used. On the other hand, some languages take advantage of the dynamic aspects of interpretation to make such declarations unnecessary. For example, Smalltalk—which was designed to be interpreted at run-time—allows generic Objects to dynamically interact with each other. In computer science and mathematics, a variable is a symbol denoting a quantity or symbolic representation. ... Smalltalk is a dynamically typed object oriented programming language designed at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s. ...


Initially, interpreted languages were compiled line-by-line; that is, each line was compiled as it was about to be executed, and if a loop or subroutine caused certain lines to be executed multiple times, they would be recompiled every time. This has become much less common. Most so-called interpreted languages use an intermediate representation, which combines both compilation and interpretation. In this case, a compiler may output some form of bytecode, which is then executed by a bytecode interpreter. Examples include Python, Java, and Perl. Similarly, Ruby uses an abstract syntax tree as intermediate representation. The intermediate representation can be compiled once and for all, like Java, each time before execution like Perl or Ruby, or each time a change in the source is detected before execution like Python. In computing, an intermediate representation is a data structure that is constructed from input data to a program, and from which part or all of the output data of the program is constructed in turn. ... Byte-code is a sort of intermediate code that is more abstract than machine code. ... Python is an interpreted programming language created by Guido van Rossum in 1990. ... Java is an object-oriented programming language developed initially by James Gosling and colleagues at Sun Microsystems. ... Programming Republic of Perl logo Perl, also Practical Extraction and Report Language (a backronym, see below), is a programming language released by Larry Wall on December 18, 1987 that borrows features from C, sed, awk, shell scripting (sh), and (to a lesser extent) from many other programming languages. ... Ruby is an object-oriented programming language. ... Lloyd smells. ...


Language features suiting interpreters well

Interpreted languages still give programs certain extra flexibility over compiled languages. Features that are easier to implement in interpreters than in compilers include (but are not limited to):

  • platform independence (Java's byte code, for example)
  • reflective usage of the evaluator (e.g. a first-order eval function)
  • dynamic typing
  • ease of debugging (It is easier to get source code information in interpreted language)
  • small program size (Since interpreted languages have flexibility to choose instruction code)
  • object polymorphism
  • dynamic scoping

In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. ... In some programming languages, eval is a function which evaluates a string as though it were an expression and returns a result; in others, it executes multiple lines of code as though they had been included instead of the line including the eval. ... On computer science, a datatype (often simply type) is a name or label for a set of values and some operations which can be performed on that set of values. ... Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware thus making it behave as expected. ... Polymorphism also refers to polymorphic code, computer code that mutates for each new time it is executed. ... This article or section should be merged with scope (programming) Dynamic variable scoping is when you scope a variable in a programming language by replacing the existing variable of that name with a new variable temporarily, for instance for the duration of a function call. ...

List of frequently interpreted languages

  • BASIC (although the original version, Dartmouth BASIC, was compiled, as are most modern BASICs)
  • Ch (embeddable C/C++ interpreter)
  • CINT (C/C++ interpreter)
  • Euphoria
  • Forth (traditionally threaded interpreted)
  • Java (compiled to bytecode which is then interpreted)
  • JavaScript
  • Lisp
  • Logo (interpretation makes interactivity easier)
  • Maple
  • Mindscript
  • MUMPS (traditionally interpreted, modern versions compiled)
  • Perl (compiled to bytecode which is then interpreted)
  • PHP
  • Python (compiled to bytecode which is then interpreted)
  • Ruby
  • Tcl

BASIC (Beginners All-purpose Symbolic Instruction Code) is a family of high-level programming languages. ... Ch, pronounced as C H, is an embedded C/C++ interpreter. ... CINT is a command line C/C++ interpreter that is included in the object oriented histogramming package ROOT. Although intended for use with the other faculties of ROOT, CINT can also be used as a standalone addition to another program that requires such an interpreter. ... Euphoria is an interpreted programming language conceived and created by Robert Craig of Rapid Deployment Software. ... Forth is a procedural, stack-oriented, reflective programming language and programming environment. ... Java is an object-oriented programming language developed initially by James Gosling and colleagues at Sun Microsystems. ... JavaScript is an object-based scripting programming language based on the concept of prototypes. ... Lisp is a reflective, multi-paradigm programming language with a long history. ... The Logo programming language is an imperative programming language. ... Maple 9. ... Mindscript is an Open Source visualization and software development environment. ... Programming Republic of Perl logo Perl, also Practical Extraction and Report Language (a backronym, see below), is a programming language released by Larry Wall on December 18, 1987 that borrows features from C, sed, awk, shell scripting (sh), and (to a lesser extent) from many other programming languages. ... PHP is an open-source, reflective programming language used mainly for developing server-side applications and dynamic web content, and more recently, other software. ... Python is an interpreted programming language created by Guido van Rossum in 1990. ... Ruby is a reflective, object-oriented programming language. ... Tcl (originally from Tool Command Language, but nonetheless conventionally rendered as Tcl rather than TCL; and pronounced like tickle) is a scripting language created by John Ousterhout that is generally thought to be easy to learn, but powerful in competent hands. ...

See also


  Results from FactBites:
 
Interpreted language - Wikipedia, the free encyclopedia (413 words)
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter.
For example, some compiled languages require that programs must explicitly state the data-type of a variable at the time it is declared or first used.
Initially, interpreted languages were compiled line-by-line; that is, each line was compiled as it was about to be executed, and if a loop or subroutine caused certain lines to be executed multiple times, they would be recompiled every time.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.