All Topics  
Interpreted language

 

   Email Print
   Bookmark   Link






 

Interpreted language



 
 
In computer programming
Computer programming

Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language....
 an interpreted language is a programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 whose implementation often takes the form of an interpreter
Interpreter (computing)

In computer science, an interpreter normally means a computer program that execution , i.e. performs, instructions written in a programming language....
. Theoretically, any language may be compiled
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
 or interpreted, so this designation is applied purely because of common implementation practice and not some underlying property of a language.

Many languages have been implemented using both compilers and interpreters, including Lisp
Lisp programming language

Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older....
, Pascal
Pascal (programming language)

Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure....
, C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
, BASIC, and Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
. While Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 is translated to a form that is intended to be interpreted, just-in-time compilation
Just-in-time compilation

In computing, just-in-time compilation , also known as dynamic translation, is a technique for improving the runtime performance of a computer program....
 is often used to generate machine code.






Discussion
Ask a question about 'Interpreted language'
Start a new discussion about 'Interpreted language'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computer programming
Computer programming

Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language....
 an interpreted language is a programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 whose implementation often takes the form of an interpreter
Interpreter (computing)

In computer science, an interpreter normally means a computer program that execution , i.e. performs, instructions written in a programming language....
. Theoretically, any language may be compiled
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
 or interpreted, so this designation is applied purely because of common implementation practice and not some underlying property of a language.

Many languages have been implemented using both compilers and interpreters, including Lisp
Lisp programming language

Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older....
, Pascal
Pascal (programming language)

Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure....
, C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
, BASIC, and Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
. While Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 is translated to a form that is intended to be interpreted, just-in-time compilation
Just-in-time compilation

In computing, just-in-time compilation , also known as dynamic translation, is a technique for improving the runtime performance of a computer program....
 is often used to generate machine code. The Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 .NET languages compile to CIL
Common Intermediate Language

Common Intermediate Language is the lowest-level human-readable programming language in the Common Language Infrastructure and in the .NET Framework....
 from which is often then compiled into native machine code; however there is a virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
 capable of interpreting CIL.

Historical background of Interpreted/Compiled

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
Variable

A variable is a symbol that stands for a value that may vary; the term usually occurs in opposition to constant, which is a symbol for a non-varying value, i.e....
 at the time it is declared or first used while some interpreted 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.

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
Intermediate representation

In computing, an intermediate representation is a data structure that is constructed from input data to a computer program, and from which part or all of the output data of the program is constructed in turn....
, which combines both compilation and interpretation. In this case, a compiler may output some form of bytecode
Bytecode

Bytecode is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software Interpreter as well as being suitable for further compilation into machine language....
 or threaded code
Threaded code

In computer science, the term threaded code refers to a compiler implementation technique where the generated code has a form that essentially consists entirely of calls to subroutines....
, which is then executed by a bytecode interpreter. Examples include Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
, and Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
. Similarly, Ruby
Ruby (programming language)

Ruby is a dynamic programming language, reflection , general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features....
 uses an abstract syntax tree
Abstract syntax tree

In computer science, an abstract syntax tree , or just syntax tree, is a directed tree representation of the abstract syntactic structure of source code written in a certain programming language....
 as intermediate representation. The intermediate representation can be compiled once and for all (as in Java), each time before execution (as in Perl or Ruby), or each time a change in the source is detected before execution (as in Python).

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
    Platform (computing)

    In computing, a platform describes some sort of hardware architecture or software framework , that allows Computer software to run. Typical platforms include a computer's Computer architecture, operating system, programming languages and related runtime libraries or graphical user interface....
     independence (Java's byte code, for example)
  • reflective usage of the evaluator (e.g. a first-order eval
    Eval

    In some programming languages, eval is a subroutine 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....
     function)
  • dynamic typing
  • ease of debugging
    Debugging

    Debugging is a methodical process of finding and reducing the number of computer bugs, or defects, in a computer program or a piece of electronic hardware thus making it behave as expected....
     (It is easier to get source code information in interpreted languages)
  • small program size (Since interpreted languages have flexibility to choose instruction code)
  • object polymorphism
  • dynamic scoping
    Scope (programming)

    In computer programming, scope is an enclosing context where values and expressions are associated. Various programming languages have various types of scopes....


List of frequently interpreted languages

  • APL A vector oriented language using an unusual character set.
  • ASP
    Active Server Pages

    Active Server Pages , also known as Classic ASP, was Microsoft's first server-side scripting Active Scripting for dynamic web page. Initially released as an add-on to Internet Information Services via the Windows_NT_4.0#Option_Pack, it was subsequently included as a free component of Windows Server ....
     Web page scripting language
  • BASIC (although the original version, Dartmouth BASIC, was compiled, as are many modern BASICs)
    • thinBasic
      ThinBasic

      thinBasic is a BASIC-like computer Computer programming Programming language Interpreter , specifically written for computer automation. As the project continues, it can be used for a wide range of tasks....
  • COBOL
    COBOL

    COBOL is one of the oldest programming languages still in active use. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
  • ECMAScript
    ECMAScript

    ECMAScript is a scripting language, standardized by Ecma International in the ECMA-262 Specification . The language is widely used on the World Wide Web, and is often confused with JavaScript or JScript, the two major Programming language dialect from which ECMAScript was standardized....
    • ActionScript
      ActionScript

      ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform , but is also used in some database applications , and in basic robotics, as with the Make Controller Kit....
    • DMDScript
    • E4X
      E4X

      ECMAScript for XML is a programming language extension that adds native XML support to ECMAScript . The goal is to provide an alternative to Document Object Model interfaces that uses a simpler syntax for accessing XML documents....
    • JavaScript
      JavaScript

      JavaScript is a scripting language widely used for client-side web development. It was the originating Programming language dialect of the ECMAScript standard....
       (first named Mocha, then LiveScript)
    • JScript
      JScript

      JScript is the Microsoft dialect of the ECMAScript scripting language specification.JavaScript , JScript, and ECMAScript are very similar languages....
  • Equation manipulation and solving systems
    • GNU Octave
      GNU Octave

      Octave is a computer program for performing numerical analysis which is mostly compatible with MATLAB. It is part of the GNU Project. It is free software under the terms of the GNU General Public License....
    • IDL
      IDL

      IDL may mean:...
    • Mathematica
      Mathematica

      Mathematica is a computational software program used widely in scientific, engineering, and mathematical fields and other areas of technical computing....
    • MATLAB
      MATLAB

      MATLAB is a Numerical analysis environment and programming language. Maintained by The MathWorks, MATLAB allows easy matrix manipulation, plotting of function and data, implementation of algorithms, creation of user interfaces, and interfacing with programs in other languages....
  • Euphoria Interpreted or compiled.
  • Forth (traditionally threaded
    Threaded code

    In computer science, the term threaded code refers to a compiler implementation technique where the generated code has a form that essentially consists entirely of calls to subroutines....
     interpreted)
  • Inform
    Inform

    Inform is a programming language and design system for interactive fiction originally created in 1993 by Graham Nelson. Inform can generate programs designed for the Z-machine or Glulx virtual machines....
  • J
    J (programming language)

    The J programming language, developed in the early 1990s by Kenneth Iverson and Roger Hui, is a synthesis of APL programming language and the FP programming language and FL programming language function-level languages created by John Backus....
     An APL variant in which tacit definition provides some of the benefits of compilation.
  • Lava
  • PHP
    PHP

    PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
  • Lisp
    • Scheme
  • Logo
    Logo (programming language)

    Logo is a computer programming language used for functional programming. It is an adaptation and dialect of the Lisp language; some have called it Lisp without the S-expression....
  • MUMPS
    MUMPS

    MUMPS , or alternatively M, is a programming language created in the late 1960s, originally for use in the Health care. It was designed for the production of multi-user database-driven applications....
     (traditionally interpreted, modern versions compiled)
  • R (programming language)
    R (programming language)

    In computing, R is a programming language and software environment for statistics computing and graphics. It is an implementation of the S programming language with lexical scoping semantics inspired by Scheme ....
  • Ruby
    Ruby (programming language)

    Ruby is a dynamic programming language, reflection , general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features....
    • JRuby
      JRuby

      JRuby is a Java implementation of the Ruby , being developed by the JRuby team.JRuby is free software released under a three-way Common Public License/GNU General Public License/GNU Lesser General Public License license....
      ( A Java implementation of Ruby)
  • Smalltalk
    Smalltalk

    Smalltalk is an Object-oriented programming, Type system, reflection computer programming programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human?computer symbiosis." It was designed and created in part for educational use, more so for constructionist learning, at PARC by Al...
     (pure object-orientation, originally from Xerox PARC
    Xerox PARC

    PARC , formerly Xerox PARC, is a research and development company in Palo Alto, California with a distinguished reputation for its contributions to information technology....
    , often supports debugging across machines.)
    • Bistro
    • Dolphin Smalltalk
      Dolphin Smalltalk

      Dolphin Smalltalk, or "Dolphin" for short , is an implementation of the Smalltalk programming language by Object Arts, targeted at the Microsoft Windows platform....
    • F-Script
      F-Script programming language

      F-Script is an object-oriented programming scripting language developed by Philippe Mougin. In a nutshell, F-Script is Smalltalk with support for Array programming....
    • Little Smalltalk
      Little Smalltalk

      Little Smalltalk is a non-standard dialect of the Smalltalk programming language invented by Timothy Budd. It was originally described in the book: "A Little Smalltalk", Timothy Budd, Addison-Wesley, 1987, ISBN 0-201-10698-1....
    • Squeak
      Squeak

      The Squeak programming language is a Smalltalk implementation, derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers....
    • VisualAge
      VisualAge

      VisualAge was the name of a family of computer integrated development environments from IBM, which included support for a few popular computer programming languages....
    • VisualWorks
      VisualWorks

      VisualWorks is one of the leading commercial implementations of the Smalltalk programming language and environment.The lineage of VisualWorks goes back to the first Smalltalk-80 implementation by Xerox PARC....
  • Scripting language
    Scripting language

    A scripting language, script language or extension language, is a programming language that allows some control of a single or many Application software....
    s
  • Spreadsheet
    Spreadsheet

    A spreadsheet is a computer application that simulates a paper worksheet. It displays multiple cells that together make up a grid consisting of rows and columns, each cell containing either alphanumeric text or numeric values....
    s
    • Excel
      Microsoft Excel

      Microsoft Excel is a spreadsheet-application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables and a macro programming language called VBA ....
       stores formulas, interprets them from a tokenized format.
  • S (programming language)
  • Tcl
    Tcl

    Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration"?according to the author?with programmers devising their own languages intended to be embedded into applications, Tcl quickly gained wide acceptance on its own and is generally thought to be easy to learn, but powerful in competent hands....
    • XOTcl
      XOTcl

      XOTcl is an object-oriented extension for the Tcl created by G. Neumann and U. Zdun. It supports metaclasses. Class and Method definitions are completely dynamic....


Languages usually compiled to a virtual machine code

Many interpreted languages are first compiled to some form of virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
 code, which is then either interpreted or compiled at runtime to native code.
  • Java
    Java (programming language)

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
     (frequently translated to bytecode
    Bytecode

    Bytecode is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software Interpreter as well as being suitable for further compilation into machine language....
    , but can also be compiled to a native binary using an AOT compiler
    AOT compiler

    An Ahead-of-Time compiler is a compiler that implements Ahead of Time Compilation. This refers to the act of compiling an intermediate language, such as Java bytecode, .NET Common Intermediate Language , or IBM System/38 or IBM System i "Technology Independent Machine Interface" code, into a system-dependent binary....
    )
    • Groovy
    • Join Java
      Join Java

      Join Java is a programming language that extends the standard Java with the Join Semantics of the Join Calculus. It was written at the University of South Australia within the Reconfigurable Computing Lab by Dr....
    • ColdFusion
      ColdFusion

      ColdFusion is an application server and software language used for Internet application development such as for dynamic web page. In this regard, ColdFusion is a similar product to Microsoft Active Server Pages, JavaServer Pages or PHP....
  • Lua
  • .NET Framework
    .NET Framework

    The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
     languages (translated to CIL
    Common Intermediate Language

    Common Intermediate Language is the lowest-level human-readable programming language in the Common Language Infrastructure and in the .NET Framework....
     code)
    • C#
    • Visual Basic .NET
      Visual Basic .NET

      Visual Basic , formerly called Visual Basic .NET , is an object-oriented programming computer language that can be viewed as an evolution of Microsoft Visual Basic implemented on the .NET Framework....
  • Perl
  • Pike
  • Python
    Python (programming language)

    Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....


  • Visual FoxPro
    Visual FoxPro

    Visual FoxPro is a data-centric object-oriented and Procedural programming programming language produced by Microsoft. It is derived from FoxPro 2 which was developed by Fox Software beginning in 1984....


See also

Compiled language
Compiled language

A compiled language is a programming language whose programming language implementations are typically compilers , and not interpreter s .The term is somewhat vague; in principle any language can be implemented with a compiler or with an interpreter....
Scripting language
Scripting language

A scripting language, script language or extension language, is a programming language that allows some control of a single or many Application software....