tA
programming language is a language used for communicating instructions to a computer.
See Also edit
- Tcl and other languages
Description edit
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 edit
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