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
- objects, values
- 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
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
- 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 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
- The most valuable of them all.
- Thyrd
- TkScript
- Unrelated to Tk
- TOS
- TRAC
- Visual Basic