A programming language
is a language used for communicating instructions to a computer.
See Also edit
- Tcl and other languages
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
- markup, formula translation, logic
- level of abstraction
- assembly language
- Imperative language: Data is mutable. Dynamic Language: The program is mutable. Functional language: Nothing is mutable.
- domain-specific, general-purpose
- declarative, imperative
- flow-based, rules-based, Meta Programming
- 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.
Because of its polymorphic meta-nature, the Tcl
community is populated by language [
who have given various languages a presence on this wiki:
Io Programming Language
- Assembly Language
- the least common denominator
- A concatenative programming langage.
- A failed attempt at a Lisp-like language in XML
- 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
- An embeddable Scheme implementation, intended by the FSF to be the universal scripting engine
- polymorphicly-typed, lazy, purely functional language
- scripting language implemented in Java
- Icon Programming Language
- A block-structured, pascal-influenced, descendant of Snobol.
: A language similar to Tcl in that it is homoiconic - code and data are interchangeable.
- a descendant of APL particularly strong in the mathematical, statistical, and logical analysis of data
- class-based, object-oriented, with a virtual machine featuring automatic memory management, developed and championed by Sun
- a prototype-based scripting language designed specifically to be embedded into the Netscape web browser
- See Playing Joy
- A scripting and command language included in Maya
- 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.
- Font compiler written by Donald E. Knuth, so that he could create fonts for his TeX program.
- a family of statically-typed (with type-inference), strict, impure functional programming languages
- Nim (formerly Nimrod)
- Statically-typed, imperative.
- Objective C
- an object-oriented evolutionary descendant of Modula-2
- Pascal, by Niklaus Wirth
- initially developed for teaching programming at ETH Zürich
- interpreted language designed for large-scale interactive distributed applications; based on a safe extended subset of Modula-3; includes a Tk binding
- a scripting language mainly designed for web development
- prototype-based dynamic object-oriented
- SLIDE: Scene Language for Interactive Dynamic Environments
- for completeness ;)
- unrelated to Tk
- Visual Basic