System programming language

System programming language

System programming languages (otherwise known as applications languages) are programming languages that are statically typed, allow arbitrarily complex data structures, compiled, and meant to operate largely independently of other programs. Prototypical system programming languages are C and Modula-2. This term derives from John Ousterhout's division of high-level languages into "system programming languages" and "scripting languages". This distinction is sometimes referred to as Ousterhout's dichotomy; it underlies the design of his language Tcl.

By contrast, scripting languages (or "glue languages") are dynamically typed or untyped, and programs written in them (known as scripts) are interpreted or sometimes byte-compiled. 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, DOS 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" Fact|date=April 2007. While static-versus-dynamic 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 between compiling versus interpreting, 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 mix of these. Many languages may be either interpreted or compiled, depending on dialect and implementation (e.g. Lisp, Forth, UCSD Pascal, and Java). This makes compiling versus interpreting a dubious parameter in a taxonomy of programming languages.

The term system programming language is also (and perhaps more widely) used to mean "a language for system programming": that is, a language designed for writing system software as distinct from application software. In contrast with application languages, such system programming languages typically offer more direct access to the physical hardware of the machine: an archetypical system programming language in this sense was BCPL. The distinction between languages for system programming and applications programming became blurred with widespread popularity of C.

System Programming Language or SPL is also the name of a specific language on the HP 3000 computer series used for its operating system HP Multi-Programming Executive and other systems software.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • Programming language theory — (commonly known as PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and programming language features. It is a multi disciplinary field, both… …   Wikipedia

  • programming language — Language Lan guage, n. [OE. langage, F. langage, fr. L. lingua the tongue, hence speech, language; akin to E. tongue. See {Tongue}, cf. {Lingual}.] [1913 Webster] 1. Any means of conveying or communicating ideas; specifically, human speech; the… …   The Collaborative International Dictionary of English

  • Mesa (programming language) — Mesa Appeared in 1970s and 80s Developer Xerox PARC Typing discipline strongly typed Influenced by ALGOL Influenced Java, Modula 2, Cedar Mesa was an innovat …   Wikipedia

  • D (programming language) — For other programming languages named D, see D (disambiguation)#Computing. D programming language Paradigm(s) multi paradigm: imperative, object oriented, functional, meta Appeared in 1999 (1999) Designed by …   Wikipedia

  • BLISS (programming language) — BLISS is a system programming language developed at Carnegie Mellon University by W. A. Wulf, D. B. Russell, and A. N. Habermann around 1970. It was perhaps the best known systems programming language right up until C made its debut a few years… …   Wikipedia

  • MUF (programming language) — MUF (short for Multi User Forth ) is a Forth based programming language used on TinyMUCK MUCK servers and their descendants, including Fuzzball MUCK, ProtoMUCK and GlowMUCK. MUF is the system programming language for TinyMUCK systems. Many… …   Wikipedia

  • Curl (programming language) — Curl Paradigm(s) multi paradigm: object oriented, markup Appeared in 1998 Designed by Steve Ward, MIT Developer …   Wikipedia

  • S3 (programming language) — Infobox programming language name = S3 paradigm = Structured, imperative year = designer = developer = International Computers Limited latest release version = latest release date = latest test version = latest test date = typing =… …   Wikipedia

  • System programming — Systems programming (or system programming) is the activity of programming system software. The primary distinguishing characteristic of systems programming when compared to application programming is that application programming aims to produce… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”