OUSTERHOUT'S DICHOTOMY

  

Copyright © Philip M. Parker, INSEAD. Terms of Use.

OUSTERHOUT'S DICHOTOMY

Specialty Definition: OUSTERHOUT'S DICHOTOMY

DomainDefinition

Computing

Ousterhout's dichotomy John Ousterhout's division of high-level languages into "system programming languages" and "scripting languages". This distinction underlies the design of his language Tcl. System programming languages (or "applications languages") are strongly typed, allow arbitrarily complex data structures, and programs in them are compiled, and are meant to operate largely independently of other programs. Prototypical system programming languages are C and Modula-2. By contrast, scripting languages (or "glue languages") are weakly typed or untyped, have little or no provision for complex data structures, and programs in them ("scripts") are interpreted. Scripts need to interact either with other programs (often as glue) or with a set of functions provided by the interpreter, as with the file system functions provided in a UNIX shell and with Tcl's GUI functions. Prototypical scripting languages are AppleScript, C Shell, MSDOS batch files, and Tcl. Many believe that this is a highly arbitrary dichotomy, and refer to it as "Ousterhout's fallacy" or "Ousterhout's false dichotomy". While strong-versus-weak typing, data structure complexity, and independent versus stand-alone might be said to be unrelated features, the usual critique of Ousterhout's dichotomy is of its distinction of compilation versus interpretation, since neither semantics nor syntax depend significantly on whether code is compiled into machine-language, interpreted, tokenized, or byte-compiled at the start of each run, or any mixture of these. Many languages fall between being interpreted or compiled (e.g. Lisp, Forth, UCSD Pascal, Perl, and Java). This makes compilation versus interpretation a dubious parameter in a taxonomy of programming languages. (http://www.somi.sk/~milan/tcl/scripting.html). (2001-03-06). Source: The Free On-line Dictionary of Computing.

Source: compiled by the editor from various references; see credits.

Top     

Specialty Definition: Ousterhout's dichotomy

(From Wikipedia, the free Encyclopedia)

Ousterhout's dichotomy is John Ousterhout's division of high-level languages into "system programming languages" and "scripting languages". This distinction underlies the design of his language Tcl.

System programming languages (or "applications languages") are strongly typed, allow arbitrarily complex data structures, and programs in them are compiled, and are meant to operate largely independently of other programs. Prototypical system programming languages are C and Modula-2.

By contrast, scripting languages (or "glue languages") are weakly typed or untyped, have little or no provision for complex data structures, and programs in them ("scripts") are interpreted. Scripts need to interact either with other programs (often as glue) or with a set of functions provided by the interpreter, as with the file system functions provided in a Unix shell and with Tcl's GUI functions. Prototypical scripting languages are AppleScript, C Shell, MSDOS batch files, and Tcl.

Many believe that this is a highly arbitrary dichotomy, and refer to it as "Ousterhout's fallacy" or "Ousterhout's false dichotomy". While strong-versus-weak typing, data structure complexity, and independent versus stand-alone might be said to be unrelated features, the usual critique of Ousterhout's dichotomy is of its distinction of compilation versus interpretation, since neither semantics nor syntax depend significantly on whether code is compiled into machine language, interpreted, tokenized, or byte-compiled at the start of each run, or any mixture of these. Many languages fall between being interpreted or compiled (e.g. Lisp, Forth, UCSD Pascal, Perl, and Java). This makes compilation versus interpretation a dubious parameter in a taxonomy of programming languages. This article is based on material from FOLDOC, used with permission. Update as needed.

Source: adapted by the editor from Wikipedia, the free encyclopedia under a copyleft GNU Free Documentation License (GFDL) from the article "Ousterhout's dichotomy."

Top     

Crosswords: OUSTERHOUT'S DICHOTOMY

Specialty definitions using "OUSTERHOUT'S DICHOTOMY": applications languageJohn OusterhoutOusterhout's fallacy, Ousterhout's false dichotomyscripting language, system programming language. (references)

Top     

Alternative Orthography: OUSTERHOUT'S DICHOTOMY


Hexadecimal (or equivalents, 770AD-1900s) (references)

4F 55 53 54 45 52 48 4F 55 54 27 53      44 49 43 48 4F 54 4F 4D 59

Leonardo da Vinci (1452-1519; backwards) (references)

    

Binary Code (1918-1938, probably earlier) (references)

01001111 01010101 01010011 01010100 01000101 01010010 01001000 01001111 01010101 01010100 00100111 01010011 00100000 01000100 01001001 01000011 01001000 01001111 01010100 01001111 01001101 01011001

HTML Code (1990) (references)

&#79 &#85 &#83 &#84 &#69 &#82 &#72 &#79 &#85 &#84 &#39 &#83 &#32 &#68 &#73 &#67 &#72 &#79 &#84 &#79 &#77 &#89

ISO 10646 (1991-1993) (references)

004F 0055 0053 0054 0045 0052 0048 004F 0055 0054 0027 0053      0044 0049 0043 0048 004F 0054 004F 004D 0059

Encryption (beginner's substitution cypher): (references)

495553543952424955549532384337424954494759

Top     



INDEX

1. Crosswords
2. Orthography
3. Bibliography


  

Copyright © Philip M. Parker, INSEAD. Terms of Use.