programming language

Difference between version 22 and 23 - Previous - Next
A '''programming language''' is a language for directing the operation of a computer.



** See Also **

   [Tcl and other languages]:   



** Description **

Programming languages are categorized in various ways:

   The role they play in a system:   '''[scripting language]''' or '''system language'''
      data primitives:   [object orientation%|%objects], [value%|%values]

   design features:   '''[dynamic language%|%dynamic]''', '''[stack frame%|%stack-based]'''
   
   targeted use:   '''[query language%|%data query]''', '''[lisp%|%list processing]''', '''[string processing]''', '''[pattern matching]''', '''[http://en.wikipedia.org/wiki/Modeling_language%|%modeling]'''

   mode of execution:   '''[interpreter%|%interpreted]''', '''compiled'''

   field:   '''[markup language%|%markup]''', '''[fortran%|%formula translation]''', '''[Logic programming%|%logic]'''

   level of abstraction:   '''[assembly language]'''

   mutability:   '''Imperative language''':  Data is mutable.  '''Dynamic Language''':  The program is mutable.  '''Functional language''':  Nothing is mutable.

   scope:   '''[domain-specific language%|%domain-specific]''', '''general-purpose'''

   style:   '''[declarative programming%|%declarative]''', '''[imperative programming%|%imperative]'''

   technique:   '''control flow''', '''[flow-based programming%|%data flow]''', '''rules-based''', [Meta Programming]

   paradigm:   '''[Functional Programming%|%functional programming]''', '''[object orientation%|%object-oriented]'''

Almost none of these categories are mutually-exclusive, but are more like
dimensions that fix the "coordinates" of a language.  [Tcl] is one of the few
languages that can legitimately claim to be almost all of these things, as a
[http://wiki.tcl.tk/_/random%|%random stroll] through this wiki will evidence.



** Languages **

Language [connoisseurs] have provided various languages with a presence on this
wiki:

   [Ada]:   

   [Applescript]:   

   [Arc]:   

   [APL]:   

   [Assembly Language]:   the least common denominator

   [awk]:   

   [bash]:   

   [BASIC]:   

   [Beatnik]:   

   [Brainfuck]:   

   [C]:   

   [C#]:   

   [Cobol]:   

   [C++]:   

   [D]:   

   [Delphi]:   

   [Dylan]:   

   [ECMAscript] ([Javascript]):   

   [Eiffel]:   

   [Euphoria]:   

   [elisp]:   

   [Erlang]:   

   [execline]:   

   [Factor Programming Language%|%Factor]:   A concatenative programming language.

   [Forth]:   

   [F3]:   

   [Flare]:   A failed attempt at a [Lisp]-like language in [XML]

   [Forth]:   

   [Fortran]:   

   [Funge]:   

   [g]:   

   [Groovy]:   an agile dynamic language for the [JVM] combining lots of great features from languages like [Python], [Ruby] and [Smalltalk] and making them available to the [Java] developers using a Java-like [syntax]

   [Guile]:   An embeddable [Scheme] implementation, intended by the [FSF] to be the universal [script%|%scripting] engine

   [Haskell]:   [polymorphism%|%polymorphicly]-typed, lazy, purely [functional programming%|%functional] language

   [Hecl]:   [scripting] language implemented in [Java]

   [Icon Programming Language]:   A block-structured, pascal-influenced, descendant of [Snobol].

[Io Programming Language]: A language similar to Tcl in that it is homoiconic - code and data are interchangeable.

   [J]:   a descendant of [APL] particularly strong in the mathematical, statistical, and logical analysis of data

   [Java]:   [class]-based, [object orientation%|%object-oriented], with a [JVM%|%virtual machine] featuring automatic memory management, developed and championed by [COMPANY: Sun Microsystems, Inc.%|%Sun]

   [javascript]:   a prototype-based [scripting language] designed specifically to be embedded into the Netscape web browser

   Joy:   See [Playing Joy]

   [ksh]:   

   [L]:   

   [LIL]:   

   [LISP]:   

   [Logo]:   

   [Lua]:   

   [Malbolge]:   

   [MEL]:   A scripting and command language included in [http://www.autodesk.com/products/maya/overview%|%Maya]

   [Mercury]:   A GPL logic functional programming, with the semantics of modern functional programming, the expressiveness of logic languages, a strong type system, a module system, a mode system, algebraic data types, parametic polymorphism, support for higher order programming and a determinism system.

   [Metafont]:   Font compiler written by [Donald E. Knuth], so that he could create fonts for his [TeX] program.

   [m4]:   

   [ML]:   A family of statically-typed (with type-inference), strict, impure [functional programming] languages.

   [Mozart]:   

   [Nim Programming Language%|%Nim] (formerly Nimrod):   Statically-typed, imperative.

   [Objective C]:   

   [Oberon]:   An [object orientation%|%object-oriented] evolutionary descendant of Modula-2.

   [Pascal], by [Niklaus Wirth]:   Initially developed for teaching programming at ETH Zürich.

   [Perl]:   

   [Phantom]:   Interpreted language designed for large-scale interactive distributed applications; based on a safe extended subset of Modula-3; includes a Tk binding.

   [PHP]:   A [scripting language] mainly designed for [web] development.

   [PL/I]:   

   [Postscript]:   

   [PowerPro]:   

   [Processing]:   

   [Prolog]:   

   [Python]:   

   [R]:   

   [Ratfor]:   

   [Rebol]:   

   [Rexx]:   

   [Ruby]:   

   [Sather]:   

   [Scheme]:   

   [Self Programming Language%|%Self]:   [Prototype Pattern in Tcl%|%Prototype]-based [dynamic language%|%dynamic] [object orientation%|%object-oriented].

   [SLIDE: Scene Language for Interactive Dynamic Environments]:   

   [Smalltalk]:   

   [SML]:   

   [SQL]:   

   [snobol]:   

   [Tcl]:   The most valuable of them all.

   [Thyrd]:   

   [TKS%|%TkScript]:   Unrelated to [Tk]

   [TOS]:   

   [TRAC]:   

   [Visual Basic]:   

<<categories>> Glossary | Language