Ousterhout's dichotomy

Get Babylon's Translation Software! Free Download Now!
Babylon 8 - Your all-in-one solution
Award winning translation software trusted by millions. Translate from any language to any language.
View Demo



Wikipedia English The Free EncyclopediaDownload this dictionary
Ousterhout's dichotomy
Ousterhout's dichotomy is John Ousterhout's claim that high-level languages tend to fall into two groups, each with distinct properties and uses: "system programming languages" and "scripting languages". This distinction underlies the design of his language Tcl. System programming languages (or "applications languages") usually have the following properties:They are statically typedThey support the creation of complex data structuresPrograms in them are compiled System programming languages tend to be used for components and applications with large amounts of internal functionality such as operating systems, database servers, and Web browsers. These applications typically employ complex algorithms and data structures and require high performance. Popular system programming languages include CC++, and Java.
See more at Wikipedia.org...

This article uses material from Wikipedia® and is licensed under the GNU Free Documentation License

FOLDOC DictionaryDownload this dictionary
Ousterhout's dichotomy
<languageJohn 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 AppleScriptC 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. LispForthUCSD PascalPerl, and Java). This makes compilation versus interpretation a dubious parameter in a taxonomy of programming languages.
(2002-05-28)


(c) Copyright 1993 by Denis Howe

Define Ousterhout's dichotomy

Translate Ousterhout's dichotomy