programming language

tA 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, stack-based
targeted use
data query, list processing, string processing, pattern matching, modeling
mode of execution
interpreted, compiled
field
markup, formula translation, 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, general-purpose
style
declarative, imperative
technique
control flow, data flow, rules-based, Meta Programming
paradigm
functional programming, 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 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
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 scripting engine
Haskell
polymorphicly-typed, lazy, purely 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-oriented, with a virtual machine featuring automatic memory management, developed and championed by 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 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 (formerly Nimrod)
Statically-typed, imperative.
Objective C
Oberon
an 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
prototype-based dynamic object-oriented
SLIDE: Scene Language for Interactive Dynamic Environments
Smalltalk
SML
SQL
snobol
Tcl
for completeness ;)
Thyrd
TkScript
unrelated to Tk
TOS
TRAC
Visual Basic