A '''programming language''' is a language used for communicating instructions to 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''' 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]''' scope: '''[domain-specific language%|%domain-specific]''', '''general-purpose''' style: '''[declarative programming%|%declarative]''', '''[imperative programming%|%imperative]''' technique: '''[flow-based programming%|%flow-based]''', '''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 ** Because of its polymorphic meta-nature, the [Tcl] community is populated by language [connoisseurs] who have given various languages 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 langage. [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]: [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]: [Nimrod Programing Language%|%Nim] (formerly Nimrod): Statically-typed, impeerative. [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]: for completeness ;) [Thyrd]: [TKS%|%TkScript]: unrelated to [Tk] [TOS]: [TRAC]: [Visual Basic]: <> Glossary | Language