Curly-bracket Programming Language
   HOME

TheInfoList



OR:

This is a list of notable programming languages, grouped by type. There is no overarching classification scheme for programming languages. Thus, in many cases, a language is listed under multiple headings (in this regard, see " Multiparadigm languages" below).


Array languages

Array programming (also termed ''vector'' or ''multidimensional'') languages generalize operations on scalars to apply transparently to vectors, matrices, and
higher-dimensional array In computer science, array is a data type that represents a collection of ''elements'' (values or variables), each selected by one or more indices (identifying keys) that can be computed at run time during program execution. Such a collection i ...
s. * A+ * Analytica * APL * BQN * Chapel * Fortran 90 *
FreeMat FreeMat is a free open-source numerical computing environment and programming language, similar to MATLAB and GNU Octave. In addition to supporting many MATLAB functions and some IDL functionality, it features a codeless interface to external C ...
* GAUSS * Interactive Data Language (IDL) * J * Julia * K * MATLAB *
Octave In music, an octave ( la, octavus: eighth) or perfect octave (sometimes called the diapason) is the interval between one musical pitch and another with double its frequency. The octave relationship is a natural phenomenon that has been refer ...
* Q * R * S *
Scilab Scilab is a free and open-source, cross-platform numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulat ...
*
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...
*
SequenceL SequenceL is a general purpose functional programming language and auto-parallelizing (Parallel computing) compiler and tool set, whose primary design objectives are performance on multi-core processor hardware, ease of programming, platform porta ...
* Speakeasy * Wolfram Language * X10 * ZPL


Assembly languages

Assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
s directly correspond to a machine language (see
below Below may refer to: *Earth *Ground (disambiguation) *Soil *Floor *Bottom (disambiguation) Bottom may refer to: Anatomy and sex * Bottom (BDSM), the partner in a BDSM who takes the passive, receiving, or obedient role, to that of the top or ...
), so machine code instructions appear in a form understandable by humans, although there may not be a one-to-one mapping between an individual statement and an individual instruction. Assembly languages let programmers use symbolic addresses, which the assembler converts to absolute or relocatable addresses. Most assemblers also support macros and symbolic constants.


Authoring languages

An
authoring language An authoring system is a program that has pre-programmed elements for the development of interactive multimedia software titles. Authoring systems can be defined as software that allows its user to create multimedia applications for manipulating m ...
is a programming language designed for use by a non-computer expert to easily create tutorials, websites, and other interactive computer programs. * Darwin Information Typing Architecture (DITA) * Lasso * PILOT * TUTOR *
Authorware Adobe Authorware (previously Macromedia Authorware, originally Authorware) was an elearning authoring tool with its own interpreted, flowchart-based, graphical programming language. Authorware was used for creating interactive elearning programs ...


Concatenative programming languages

A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes
function composition In mathematics, function composition is an operation that takes two functions and , and produces a function such that . In this operation, the function is applied to the result of applying the function to . That is, the functions and ...
. Concatenative programming replaces
function application In mathematics, function application is the act of applying a function to an argument from its domain so as to obtain the corresponding value from its range. In this sense, function application can be thought of as the opposite of function abst ...
, which is common in other programming styles, with
function composition In mathematics, function composition is an operation that takes two functions and , and produces a function such that . In this operation, the function is applied to the result of applying the function to . That is, the functions and ...
as the default way to build
subroutine In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Functions may ...
s. * Factor *
Forth Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
* Joy * Kitten * Lviv *
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
* r3 * Staapl * Trith * xs * 8th


Constraint programming languages

A
constraint programming language Constraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constraint programming, users declaratively state th ...
is a
declarative programming language In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
where relationships between variables are expressed as constraints. Execution proceeds by attempting to find values for the variables which satisfy all declared constraints. * Claire * Constraint Handling Rules * CHIP *
ECLiPSe An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
* Kaleidoscope


Command-line interface languages

Command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(CLI) languages are also called batch languages or job control languages. Examples: *
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
(extended command-line shell for
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
s) *
4OS2 4OS2 is the OS/2 analogue of 4NT and 4DOS by JP Software, Inc. JP Software discontinued 4OS2, TCMDOS2 and TCMD16, making version 3.0, 2.0, 2.0 the final version of these. The code for 4OS2 has been released, and is maintained, first by SciTech ...
(extended command-line shell for
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
s) *
bash Bash or BASH may refer to: Arts and entertainment * ''Bash!'' (Rockapella album), 1992 * ''Bash!'' (Dave Bailey album), 1961 * '' Bash: Latter-Day Plays'', a dramatic triptych * ''BASH!'' (role-playing game), a 2005 superhero game * "Bash" ('' ...
(the Bourne-Again shell from GNU, Free Software Foundation (FSF)) * CLIST (
MVS Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated ...
Command List) * CMS EXEC * csh and tcsh (C-like shell from Bill Joy at UC
Berkeley Berkeley most often refers to: *Berkeley, California, a city in the United States **University of California, Berkeley, a public university in Berkeley, California * George Berkeley (1685–1753), Anglo-Irish philosopher Berkeley may also refer ...
) * DIGITAL Command Language (DCL) – standard CLI language for
VMS #REDIRECT VMS {{redirect category shell, {{R from other capitalisation{{R from ambiguous page ...
( DEC, Compaq, HP) * DOS batch language (standard CLI/batch language for the
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
running DOS operating systems, popular before Windows) * EXEC 2 * Expect (a Unix automation and test tool) * fish (a Unix shell) *
Hamilton C shell Hamilton C shell is a clone of the Unix C shell and utilities Early for Microsoft Windows created by Nicole Hamilton at Hamilton Laboratories as a completely original work, not based on any prior code. It was first released on OS/2 on Dece ...
(a C shell for Windows) * ksh (a standard Unix shell, written by David Korn) * Rc (command-line shell for
Plan 9 Plan 9 or Plan Nine may refer to: Music * Plan 9 (band), a psychedelic rock band from Rhode Island * ''Plan 9'', an album by Big Guitars From Memphis with Rick Lindy * "Plan 9", a song on the 1993 album ''Gorgeous'' by electronica band 808 Stat ...
) *
Rexx Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
* sh (the standard Unix shell, written by
Stephen R. Bourne Stephen Richard "Steve" Bourne (born 7 January 1944) is an English computer scientist based in the United States for most of his career. He is well known as the author of the Bourne shell (sh), which is the foundation for the standard command-li ...
) *
TACL TACL (the Tandem Advanced Command Language) is the scripting programming language which acts as the shell in Tandem Computers. History Tandem Computers were originally designed and sold by Tandem Computers, Inc., based in Cupertino, CA. These were ...
(Tandem Advanced Command Language) * Windows batch language (Windows batch file language as understood by
COMMAND.COM COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot (init proc ...
and CMD.EXE) * Windows PowerShell ( .NET-based CLI) *
zsh The Z shell (Zsh) is a Unix shell that can be used as an interactive login shell (computing), shell and as a command line interpreter, command interpreter for shell scripting. Zsh is an extended Bourne shell with many improvements, including som ...
(a Unix shell)


Compiled languages

These are languages typically processed by compilers, though theoretically any language can be compiled or interpreted. * ActionScript *
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, Tur ...
(multi-purpose language) * ALGOL 58 ** JOVIAL ** NELIAC *
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
(very influential language design) **
SMALL Small may refer to: Science and technology * SMALL, an ALGOL-like programming language * Small (anatomy), the lumbar region of the back * ''Small'' (journal), a nano-science publication * <small>, an HTML element that defines smaller text ...
Machine ALGOL Like Language * Ballerina (to
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
for runtime (BVM)) *
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
(including the first version of Dartmouth BASIC) *
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative, and structured programming language. Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still ...
* C (one of the most widely used procedural languages) * C++ (multiparadigm language derived from C) * C# (into CIL, generates a runtime) *
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
(into
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
) *
CHILL In computing, CHILL (an acronym for CCITT High Level Language) is a procedural programming language designed for use in telecommunication switches (the hardware used inside telephone exchanges). The language is still used for legacy systems in ...
* CLIPPER 5.3 (for DOS-based software) * CLEO for Leo computers * Clojure (into
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
) *
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily us ...
* Cobra *
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
* Crystal *
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
* D (from a reengineering of C++) * DASL to Java, JavaScript, JSP, Flex as .war file *
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
(
Borland Borland Software Corporation was a computer technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn. Its main business was the development and sale of software development and software deployment product ...
's Object Pascal development system) *
DIBOL DIBOL or Digital's Business Oriented Language is a general-purpose, procedural, imperative programming language, designed for use in Management Information Systems (MIS) software development. It has a syntax similar to FORTRAN and BASIC, alon ...
(Digital Interactive Business Oriented Language) * Dylan * eC *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
(developed by Bertrand Meyer) **
Sather Sather is an object-oriented programming language. It originated circa 1990 at the International Computer Science Institute (ICSI) at the University of California, Berkeley, developed by an international team led by Steve Omohundro. It supports ...
** Ubercode * Elm * Emacs Lisp *
Emerald Emerald is a gemstone and a variety of the mineral beryl (Be3Al2(SiO3)6) colored green by trace amounts of chromium or sometimes vanadium.Hurlbut, Cornelius S. Jr. and Kammerling, Robert C. (1991) ''Gemology'', John Wiley & Sons, New York, p ...
* Erlang * F# (into CIL, generates runtime) * Factor * Fortran (first compiled by IBM's John Backus) * GAUSS * Genie * Go (Golang) *
Gosu Gosu (고수) is a Korean term used to refer to a highly skilled person. In computer gaming the term is usually used to refer to a person who dominated games like ''StarCraft'', ''Counter-Strike'', Tekken, ''Warcraft III'', ''Diablo II ''D ...
(into
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
) * Groovy (into
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
) * Haskell *
Harbour A harbor (American English), harbour (British English; see spelling differences), or haven is a sheltered body of water where ships, boats, and barges can be docked. The term ''harbor'' is often used interchangeably with ''port'', which is a ...
* HolyC * Inform (usually story files for
Glulx Glulx is a 32-bit portable virtual machine intended for writing and playing interactive fiction. It was designed by Andrew Plotkin to relieve some of the restrictions in the venerable Z-machine format. For example, the Z-machine provides native ...
or Z-code) * Java (usually
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
; to machine code) * JOVIAL * Julia (on the fly to machine code) * Kotlin (Kotlin/Native uses LLVM to produce binaries) * LabVIEW *
Mercury Mercury commonly refers to: * Mercury (planet), the nearest planet to the Sun * Mercury (element), a metallic chemical element with the symbol Hg * Mercury (mythology), a Roman god Mercury or The Mercury may also refer to: Companies * Merc ...
* Mesa *
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
(into intermediate language bytecode) *
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
* Objective-C * P *
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
(most implementations) * PL/I (originally for IBM mainframes) *
Plus Plus may refer to: Mathematics * Addition * +, the mathematical sign Music * ''+'' (Ed Sheeran album), (pronounced "plus"), 2011 * ''Plus'' (Cannonball Adderley Quintet album), 1961 * ''Plus'' (Matt Nathanson EP), 2003 * ''Plus'' (Martin Ga ...
* Python (to intermediate VM
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
) *
RPG RPG may refer to: Military * Rocket-propelled grenade, a shoulder-launched anti-tank weapon **''Ruchnoi Protivotankoviy Granatomyot'' (Russian: ''Ручной Противотанковый Гранатомёт''), hand-held anti-tank grenade laun ...
(Report Program Generator) * Rust * Scala (into
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
) *
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
(e.g. Gambit) *
SequenceL SequenceL is a general purpose functional programming language and auto-parallelizing (Parallel computing) compiler and tool set, whose primary design objectives are performance on multi-core processor hardware, ease of programming, platform porta ...
– purely functional, parallelizing and race-free *
Simula Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of ALGOL 6 ...
(first object-oriented language, a superset of
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
) *
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
platform independent
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
for a Virtual Machine * Swift * ML **
Standard ML Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of the ...
(SML) ***
Alice Alice may refer to: * Alice (name), most often a feminine given name, but also used as a surname Literature * Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll * ''Alice'' series, children's and teen books by ...
**
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
* Turing * Vala (GObject type system) * Visual Basic (use Common Intermediate Language (CIL) JIT to native runtime) * Visual FoxPro *
Visual Prolog Visual Prolog, previously known as PDC Prolog and Turbo Prolog, is a strongly typed object-oriented extension of Prolog. As Turbo Prolog, it was marketed by Borland but it is now developed and marketed by the Danish firm PDC that originally creat ...
* Xojo


Concurrent languages

Message passing languages provide language constructs for
concurrency Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to: Law * Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea'' * Concurring opinion (also called a "concurrence"), a ...
. The predominant paradigm for concurrency in mainstream languages such as Java is shared memory concurrency. Concurrent languages that make use of message passing have generally been inspired by process calculi such as communicating sequential processes (CSP) or the π-calculus. *
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, Tur ...
– multi-purpose language *
Alef Aleph (or alef or alif, transliterated ʾ) is the first letter of the Semitic abjads, including Phoenician , Hebrew , Aramaic , Syriac , Arabic ʾ and North Arabian 𐪑. It also appears as South Arabian 𐩱 and Ge'ez . These letter ...
– concurrent language with threads and message passing, used for systems programming in early versions of Plan 9 from Bell Labs *
Ateji PX Ateji PX is an object-oriented programming language extension for Java. It is intended to facilliate parallel computing on multi-core processors, GPU, Grid and Cloud. Ateji PX can be integrated with the Eclipse IDE, requires minimal learning of ...
– an extension of the Java language for parallelism * Ballerina – a language designed for implementing and orchestrating micro-services. Provides a message based parallel-first concurrency model. * ChucK – domain specific programming language for audio, precise control over concurrency and timing * Cilk – a concurrent C *
Cω (pronounced "see omega"; usually written "Cw" or "Comega" whenever the "ω" symbol is not available) is a free extension to the C# programming language, developed by the WebData team in Microsoft SQL Server in collaboration with Microsoft ...
– C Omega, a research language extending C#, uses asynchronous communication * Clojure – a dialect of
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
for the
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
* Chapel * Co-array Fortran *
Concurrent Pascal Concurrent Pascal is a programming language designed by Per Brinch Hansen for writing concurrent computing programs such as operating systems and real-time computing monitoring systems on shared memory computers. A separate language, ''Sequenti ...
(by Brinch-Hansen) * Curry * E – uses promises, ensures deadlocks cannot occur *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
(through the SCOOP mechanism, Simple Concurrent Object-Oriented Computation) * Elixir (runs on the Erlang VM) *
Emerald Emerald is a gemstone and a variety of the mineral beryl (Be3Al2(SiO3)6) colored green by trace amounts of chromium or sometimes vanadium.Hurlbut, Cornelius S. Jr. and Kammerling, Robert C. (1991) ''Gemology'', John Wiley & Sons, New York, p ...
– uses threads and monitors * Erlang – uses asynchronous message passing with nothing shared * Gambit Scheme – using the Termite library * Go (Golang) * Haskell — supports concurrent, distributed, and parallel programming across multiple machines * Java **
Join Java Join Java is a programming language based on the join-pattern that extends the standard Java programming language with the join semantics of the join-calculus. It was written at the University of South Australia The University of South Aus ...
– concurrent language based on Java ** X10 * Julia * Joule – dataflow language, communicates by message passing * LabVIEW * Limbo – relative of
Alef Aleph (or alef or alif, transliterated ʾ) is the first letter of the Semitic abjads, including Phoenician , Hebrew , Aramaic , Syriac , Arabic ʾ and North Arabian 𐪑. It also appears as South Arabian 𐩱 and Ge'ez . These letter ...
, used for systems programming in Inferno (operating system) *
MultiLisp MultiLisp is a functional programming language, a dialect of the language Lisp, and of its dialect Scheme, extended with constructs for parallel computing execution and shared memory. These extensions involve side effects, rendering MultiLisp nond ...
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
variant extended to support parallelism *
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
* occam – influenced heavily by Communicating Sequential Processes (CSP) **
occam-π In computer science, occam-π (or occam-pi) is the name of a variant of the programming language occam (programming language), occam developed by the Kent Retargetable occam Compiler (KRoC) team at the University of Kent. The name reflects the in ...
– a modern variant of occam, which incorporates ideas from Milner's π-calculus * Orc * Oz – multiparadigm language, supports shared-state and message-passing concurrency, and futures, and Mozart Programming System cross-platform Oz * P * Pict – essentially an executable implementation of Milner's π-calculus * Python — uses thread-based parallelism and process-based parallelism * Rust * Scala – implements Erlang-style actors on the JVM *
SequenceL SequenceL is a general purpose functional programming language and auto-parallelizing (Parallel computing) compiler and tool set, whose primary design objectives are performance on multi-core processor hardware, ease of programming, platform porta ...
– purely functional, automatically parallelizing and race-free * SR – research language * Unified Parallel C * XProc – XML processing language, enabling concurrency


Curly-bracket languages

Curly-bracket or curly-brace programming languages have a syntax that defines statement blocks using the curly bracket or brace characters . This syntax originated with
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative, and structured programming language. Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still ...
(1966), and was popularized by C. Many curly-bracket languages descend from or are strongly influenced by C. Examples of curly-bracket languages include: * ABCL/c+ *
Alef Aleph (or alef or alif, transliterated ʾ) is the first letter of the Semitic abjads, including Phoenician , Hebrew , Aramaic , Syriac , Arabic ʾ and North Arabian 𐪑. It also appears as South Arabian 𐩱 and Ge'ez . These letter ...
* AWK * B * bc *
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative, and structured programming language. Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still ...
* Ballerina * C – developed circa 1970 at Bell Labs * C++ * C# *
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
* ChucK – audio programming language * Cilk – concurrent C for multithreaded parallel programming *
Cyclone In meteorology, a cyclone () is a large air mass that rotates around a strong center of low atmospheric pressure, counterclockwise in the Northern Hemisphere and clockwise in the Southern Hemisphere as viewed from above (opposite to an anti ...
– a safer C variant * D *
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Dar ...
* DASL – based on Java * E * eC * ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript ** JScript ** TypeScript * GLSL * Go (Golang) * HLSL * ICI * Java **
Processing Processing is a free graphical library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming ...
** Groovy **
Join Java Join Java is a programming language based on the join-pattern that extends the standard Java programming language with the join semantics of the join-calculus. It was written at the University of South Australia The University of South Aus ...
** Kotlin ** Tea ** X10 * Limbo *
LPC LPC may refer to: Science and technology * Linear predictive coding, a method used in audio signal processing and speech processing * Leaf protein concentrate, a concentrated form of the proteins found in the leaves of plants * Long period comet, ...
*
MEL Mel, Mels or MEL may refer to: Biology * Mouse erythroleukemia cell line (MEL) * National Herbarium of Victoria, a herbarium with the Index Herbariorum code MEL People * Mel (given name), the abbreviated version of several given names (including ...
*
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
(curly braces optional) * Objective-C * PCASTL * Perl * PHP *
Pico Pico may refer to: Places The Moon * Mons Pico, a lunar mountain in the northern part of the Mare Imbrium basin Portugal * Pico, a civil parish in the municipality of Vila Verde * Pico da Pedra, a civil parish in the municipality of Ribei ...
*
Pike Pike, Pikes or The Pike may refer to: Fish * Blue pike or blue walleye, an extinct color morph of the yellow walleye ''Sander vitreus'' * Ctenoluciidae, the "pike characins", some species of which are commonly known as pikes * ''Esox'', genus of ...
* PowerShell * R * Rust *
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...
* Scala (curly-braces optional) * sed *
Solidity Solidity is an object-oriented programming language for implementing smart contracts on various blockchain platforms, most notably, Ethereum. It was developed by Christian Reitwiessner, Alex Beregszaszi, and several former Ethereum core contri ...
*
SuperCollider A particle accelerator is a machine that uses electromagnetic fields to propel charged particles to very high speeds and energies, and to contain them in well-defined beams. Large accelerators are used for fundamental research in particle ...
* Swift *
UnrealScript Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game ''Unreal (1998 video game), Unreal''. Initially developed for Personal computer, PC first-person shooters, i ...
* Yorick *
YASS Yass may refer to: People * Catherine Yass (born 1963), painter * Yazz, a British pop singer from the 1980s and 1990s * Jeff Yass (born 1956), options trader, managing director and one of the five founders of the Philadelphia-based Susquehanna I ...


Dataflow languages

Dataflow programming languages rely on a (usually visual) representation of the flow of data to specify the program. Frequently used for reacting to discrete events or for processing streams of data. Examples of dataflow languages include: * Analytica * Ballerina *
BMDFM Binary Modular Dataflow Machine (BMDFM) is a software package that enables running an application in parallel on shared memory symmetric multiprocessing (SMP) computers using the multiple processors to speed up the execution of single application ...
*
Hartmann pipeline {{Infobox programming language , name = Pipelines , logo = image:pipjarg1.jpeg , paradigm = Dataflow programming , year = 1986 , developer = IBM , designer = John P. Hartmann ( IBM) , latest_release_version = 1.1.12/0012 , latest_release_date = ...
s * G (used in LabVIEW) *
Lucid LUCID (Langton Ultimate Cosmic ray Intensity Detector) is a cosmic ray detector built by Surrey Satellite Technology Ltd and designed at Simon Langton Grammar School for Boys, in Canterbury, England. Its main purpose is to monitor cosmic rays usi ...
*
Max Max or MAX may refer to: Animals * Max (dog) (1983–2013), at one time purported to be the world's oldest living dog * Max (English Springer Spaniel), the first pet dog to win the PDSA Order of Merit (animal equivalent of OBE) * Max (gorilla) ...
* Oz *
Prograph Prograph is a visual, object-oriented, dataflow, multiparadigm programming language that uses iconic symbols to represent actions to be taken on data. Commercial Prograph software development environments such as Prograph Classic and Prograph CP ...
*
Pure Data Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open-source project with a large d ...
* Reaktor * StreamBase StreamSQL EventFlow *
Swift (parallel scripting language) Swift is an implicitly parallel programming language that allows writing scripts that distribute program execution across distributed computing resources, including clusters, clouds, grids, and supercomputers. Swift implementations are open-s ...
* VEE * VHDL *
VisSim VisSim is a visual block diagram program for simulation of dynamical systems and model-based design of embedded systems, with its own visual language. It is developed by Visual Solutions of Westford, Massachusetts. Visual Solutions was acquired ...
*
Vvvv vvvv ( = "Vau Vier" or "v4") is a general purpose toolkit with a special focus on real-time video synthesis and programming large media environments with physical interfaces, real-time motion graphics, audio and video. vvvv uses a dataflow appro ...
*
WebMethods Flow webMethods was an enterprise software company focused on application integration, business process integration and B2B partner integration. Founded in 1996, the company sold systems for organizations to use web services to connect software app ...


Data-oriented languages

Data-oriented languages provide powerful ways of searching and manipulating the relations that have been described as entity relationship tables which map one set of things into other sets. Examples of data-oriented languages include: *
Clarion Clarion may refer to: Music * Clarion (instrument), a type of trumpet used in the Middle Ages * The register of a clarinet that ranges from B4 to C6 * A trumpet organ stop that usually plays an octave above unison pitch * "Clarion" (song), a 2 ...
*
Clipper A clipper was a type of mid-19th-century merchant sailing vessel, designed for speed. Clippers were generally narrow for their length, small by later 19th century standards, could carry limited bulk freight, and had a large total sail area. "C ...
*
dBase dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system includes the core database engine, a query system, a forms engine, and a programming language ...
a relational database access language * Gremlin *
MUMPS MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gener ...
(an ANSI standard general-purpose language with specializations for database work) *
Caché ObjectScript Caché ObjectScript is a part of the Caché database system sold by InterSystems. The language is a functional superset of the ANSI-standard MUMPS programming language. Since Caché is at its core a MUMPS implementation, it can run ANSI MUMPS ...
(a proprietary superset of MUMPS) *
RDQL An RDF query language is a computer language, specifically a query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. SPARQL has emerged as the standard RDF query language, and in 20 ...
* SPARQL * SQL * Visual FoxPro – a native RDBMS engine, object-oriented, RAD * WebDNA * Wolfram Language


Decision table languages

Decision table Decision tables are a concise visual representation for specifying which actions to perform depending on given conditions. They are algorithms whose output is a set of actions. The information expressed in decision tables could also be represented ...
s can be used as an aid to clarifying the logic before writing a program in any language, but in the 1960s a number of languages were developed where the main logic is expressed directly in the form of a decision table, including: *
Filetab Filetab is a decision table-based computer programming language widely used in business in the 1960s and 1970s. History Filetab has a long history, originally designed in the late 1960s and descended from the DETAB programming. Filetab was devel ...


Declarative languages

Declarative languages express the logic of a computation without describing its control flow in detail.
Declarative programming In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
stands in contrast to imperative programming via imperative programming languages, where control flow is specified by serial orders (imperatives). (Pure)
functional Functional may refer to: * Movements in architecture: ** Functionalism (architecture) ** Form follows function * Functional group, combination of atoms within molecules * Medical conditions without currently visible organic basis: ** Functional sy ...
and logic-based programming languages are also declarative, and constitute the major subcategories of the declarative category. This section lists additional examples not in those subcategories. * Analytica * Ant (combine
declarative programming In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
and imperative programming) * Curry *
Cypher Cypher is an alternative spelling for cipher. Cypher may also refer to: Arts and entertainment * Cypher (French Group), a Goa trance music group * Cypher (band), an Australian instrumental band * Cypher (film), ''Cypher'' (film), a 2002 film * C ...
* Distributed Application Specification Language (DASL) (combine
declarative programming In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
and imperative programming) * ECL * Gremlin * Inform (combine
declarative programming In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
and imperative programming) *
Lustre Lustre or Luster may refer to: Places * Luster, Norway, a municipality in Vestlandet, Norway ** Luster (village), a village in the municipality of Luster * Lustre, Montana, an unincorporated community in the United States Entertainment * '' ...
*
Mercury Mercury commonly refers to: * Mercury (planet), the nearest planet to the Sun * Mercury (element), a metallic chemical element with the symbol Hg * Mercury (mythology), a Roman god Mercury or The Mercury may also refer to: Companies * Merc ...
* MetaPost * Modelica * Prolog *
QML QML (Qt Modeling Language) is a user interface markup language. It is a declarative language (similar to CSS and JSON) for designing user interface–centric applications. Inline JavaScript code handles imperative aspects. It is associated wi ...
* Oz *
RDQL An RDF query language is a computer language, specifically a query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. SPARQL has emerged as the standard RDF query language, and in 20 ...
*
SequenceL SequenceL is a general purpose functional programming language and auto-parallelizing (Parallel computing) compiler and tool set, whose primary design objectives are performance on multi-core processor hardware, ease of programming, platform porta ...
– purely functional, automatically parallelizing and race-free * SPARQL * SQL (Only DQL, not DDL, DCL, and DML) * Wolfram Language * xBase * XSL Transformations


Embeddable languages


In source code

Source embeddable languages embed small pieces of executable code inside a piece of free-form text, often a web page. Client-side embedded languages are limited by the abilities of the browser or intended client. They aim to provide dynamism to web pages without the need to recontact the server. Server-side embedded languages are much more flexible, since almost any language can be built into a server. The aim of having fragments of server-side code embedded in a web page is to generate additional markup dynamically; the code itself disappears when the page is served, to be replaced by its output.


Server side

* PHP * VBScript * SMX – dedicated to web pages *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
– server-side in
NaviServer NaviServer is a high performance web server written in C (programming language), C and Tcl. It can be easily extended in either language to create web sites and services; there are over 35 modules available (including database integration or prot ...
and an essential component in electronics industry systems * WebDNA – dedicated to database-driven websites The above examples are particularly dedicated to this purpose. A large number of other languages, such as Erlang, Scala, Perl,
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
and Ruby can be adapted (for instance, by being made into
Apache The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, Mimbreño, Ndendahe (Bedonkohe or Mogollon and Nednhi or Carrizaleño an ...
modules).


Client side

* ActionScript * JavaScript (aka ECMAScript or JScript) * VBScript (Windows only)


In object code

A wide variety of dynamic or scripting languages can be embedded in compiled executable code. Basically, object code for the language's interpreter needs to be linked into the executable. Source code fragments for the embedded language can then be passed to an evaluation function as strings. Application control languages can be implemented this way, if the source code is input by the user. Languages with small interpreters are preferred. * AngelScript * Ch * EEL * Io * Julia *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
* Python *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby (via mruby) *
Squirrel Squirrels are members of the family Sciuridae, a family that includes small or medium-size rodents. The squirrel family includes tree squirrels, ground squirrels (including chipmunks and prairie dogs, among others), and flying squirrels. Squ ...
*
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...


Educational programming languages

Languages developed primarily for the purpose of teaching and learning of programming. *
Alice Alice may refer to: * Alice (name), most often a feminine given name, but also used as a surname Literature * Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll * ''Alice'' series, children's and teen books by ...
* Blockly * Catrobat * COMAL * Elan *
Emerald Emerald is a gemstone and a variety of the mineral beryl (Be3Al2(SiO3)6) colored green by trace amounts of chromium or sometimes vanadium.Hurlbut, Cornelius S. Jr. and Kammerling, Robert C. (1991) ''Gemology'', John Wiley & Sons, New York, p ...
*
Ezhil Ezhilmaaran known as Ezhil is an Indian film director who works in the Tamil film industry. He has won 2 Tamil Nadu state awards. He made his directorial debut with the 1999 romantic film ''Thulladha Manamum Thullum'' starring Vijay and Si ...
* Logo * KTurtle *
Modula-2 Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
*
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
*
Racket Racket may refer to: * Racket (crime), a systematised element of organized crime ** Protection racket, a scheme whereby a group provides protection to businesses or other groups through violence outside the sanction of the law * Racket (sports equ ...
*
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
* Scratch * Snap! * Turing * Wolfram Language


Esoteric languages

An esoteric programming language is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as a joke. *
Beatnik Beatniks were members of a social movement in the 1950s that subscribed to an anti-materialistic lifestyle. History In 1948, Jack Kerouac introduced the phrase "Beat Generation", generalizing from his social circle to characterize the undergr ...
*
Befunge Befunge is a two-dimensional stack-based, reflective, esoteric programming language. It differs from conventional languages in that programs are arranged on a two-dimensional grid. "Arrow" instructions direct the control flow to the left, righ ...
* Brainfuck *
Chef A chef is a trained professional cook and tradesman who is proficient in all aspects of food preparation, often focusing on a particular cuisine. The word "chef" is derived from the term ''chef de cuisine'' (), the director or head of a kitche ...
*
INTERCAL The Compiler Language With No Pronounceable Acronym (INTERCAL) is an esoteric programming language that was created as a parody by Don Woods and , two Princeton University students, in 1972. It satirizes aspects of the various programming langua ...
*
LOLCODE LOLCODE is an esoteric programming language inspired by lolspeak, the language expressed in examples of the lolcat Internet meme. The language was created in 2007 by Adam Lindsay, a researcher at the Computing Department of Lancaster Universi ...
*
Malbolge Malbolge () is a public domain esoteric programming language invented by Ben Olmstead in 1998, named after the eighth circle of hell in Dante's ''Inferno'', the Malebolge. It was specifically designed to be almost impossible to use, via a counte ...
* Piet *
Rockstar Rock Star or Rockstar may refer to: Films * ''Rock Star'' (2001 film), an American film starring Mark Wahlberg * ''Rockstar'' (2011 film), an Indian Hindi-language film by Imtiaz Ali * ''Rockstar'' (2015 film), an Indian Malayalam-language fi ...
* Shakespeare *
Thue Thue may refer to: * Axel Thue, a Norwegian mathematician * Thue (food) Thue is a delicacy in Tibetan cuisine made with dri cheese (or sometimes parmesan or other hard cheeses), brown sugar (usually porang) and unsalted sweet cream butter. These in ...
*
Whitespace White space or whitespace may refer to: Technology * Whitespace characters, characters in computing that represent horizontal or vertical space * White spaces (radio), allocated but locally unused radio frequencies * TV White Space Database, a mec ...


Extension languages

Extension programming language A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled. A scripting ...
s are languages embedded into another program and used to harness its features in extension scripts. *
AutoLISP AutoLISP is a Dialect (computing), dialect of the programming language Lisp (programming language), Lisp built specifically for use with the full version of AutoCAD and its derivatives, which include ''AutoCAD Map 3D'', ''AutoCAD Architecture'' and ...
(specific to AutoCAD) *
BeanShell BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting c ...
*
CAL Cal or CAL may refer to: Arts and entertainment * ''Cal'' (novel), a 1983 novel by Bernard MacLaverty * "Cal" (short story), a science fiction short story by Isaac Asimov * ''Cal'' (1984 film), an Irish drama starring John Lynch and Helen Mir ...
*
C/AL C/AL (Client/server Application Language) was the programming language used within C/SIDE the Client/Server Integrated Development Environment in Microsoft Dynamics NAV (Formerly known as Navision Attain) and Microsoft Dynamics 365 Business Cen ...
(C/SIDE) * Guile * Emacs Lisp * JavaScript and some dialects, e.g., JScript *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
(embedded in many games) * OpenCL (extension of C and C++ to use the GPU and parallel extensions of the CPU) * OptimJ (extension of Java with language support for writing optimization models and powerful abstractions for bulk data processing) * Perl *
Pike Pike, Pikes or The Pike may refer to: Fish * Blue pike or blue walleye, an extinct color morph of the yellow walleye ''Sander vitreus'' * Ctenoluciidae, the "pike characins", some species of which are commonly known as pikes * ''Esox'', genus of ...
* Python (embedded in Maya, Blender, and other 3-D animation packages) *
Rexx Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
*
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby (Google SketchUp) *
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...
* SQL *
Squirrel Squirrels are members of the family Sciuridae, a family that includes small or medium-size rodents. The squirrel family includes tree squirrels, ground squirrels (including chipmunks and prairie dogs, among others), and flying squirrels. Squ ...
*
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
* Vim script (vim) * Visual Basic for Applications (VBA) * Windows PowerShell


Fourth-generation languages

Fourth-generation programming languages are high-level languages built around database systems. They are generally used in commercial environments. * 1C:Enterprise programming language * ABAP * CorVision *
CSC CSC, Csc or CSc may refer to: Awards * Conspicuous Service Cross (disambiguation) ** Conspicuous Service Cross (Australia) ** Conspicuous Service Cross (New York) ** Conspicuous Service Cross (United Kingdom) Science and industry * Cancer ...
's GraphTalk * CA-IDEAL (Interactive Development Environment for an Application Life) for use with CA-DATACOM/DB *
Easytrieve Easytrieve is a report generator, sold by CA Technologies. Easytrieve Classic and Easytrieve Plus are two available versions of this programming languages primarily designed to generate reports and are used by large corporations operating in mai ...
report generator (now CA-Easytrieve Plus) * FOCUS *
IBM Informix-4GL Informix-4GL is a 4GL programming language developed by Informix during the mid-1980s. At the time of its initial release in 1986, supported platforms included Microsoft Xenix (on IBM PC AT), DEC Ultrix (running on Microvax II, VAX-11/75 ...
*
LINC 4GL LINC ("Logic and Information Network Compiler") is a fourth-generation programming language, used mostly on Unisys computer systems. Background LINC was originally developed as a short-cut (or template) by two programmers to reproduce and automat ...
* MAPPER ( Unisys/Sperry) – now part of BIS * MARK-IV ( Sterling/Informatics) now VISION:BUILDER of CA * NATURAL *
Progress 4GL OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programmin ...
*
PV-Wave PV-WAVE (Precision Visuals - Workstation Analysis and Visualization Environment) is an array oriented fourth-generation programming language used by engineers, scientists, researchers, business analysts and software developers to build and deploy ...
*
LiveCode LiveCode (formerly Revolution and MetaCard) is a cross-platform rapid application development runtime system inspired by HyperCard. It features the ''LiveCode Script'' (formerly MetaTalk) programming language which belongs to the family of xTalk ...
(Not based on a database; still, the goal is to work at a higher level of abstraction than 3GLs.) *
SAS SAS or Sas may refer to: Arts, entertainment, and media * ''SAS'' (novel series), a French book series by Gérard de Villiers * ''Shimmer and Shine'', an American animated children's television series * Southern All Stars, a Japanese rock ba ...
* SQL * Ubercode (VHLL, or Very-High-Level Language) * Uniface *
Visual DataFlex DataFlex is an object-oriented high-level programming language and a fourth generation visual tool 4GL for developing Windows, web and mobile software applications on one framework-based platform. It was introduced and developed by ''Data Access ...
* Visual FoxPro * xBase


Functional languages

Functional programming languages define programs and subroutines as mathematical functions and treat them as first-class. Many so-called functional languages are "impure", containing imperative features. Many functional languages are tied to mathematical calculation tools. Functional languages include:


Pure

*
Agda Agda may refer to: * Agda (programming language), the programming language and theorem prover * Agda (Golgafrinchan), the character in ''The Hitchhiker's Guide to the Galaxy'' by Douglas Adams * Liten Agda, the heroine of a Swedish legend * Agda M ...
* Clean * Coq (Gallina) * Cuneiform * Curry * Elm * Futhark * Haskell *
Hope Hope is an optimistic state of mind that is based on an expectation of positive outcomes with respect to events and circumstances in one's life or the world at large. As a verb, its definitions include: "expect with confidence" and "to cherish ...
*
Idris Idris may refer to: People * Idris (name), a list of people and fictional characters with the given name or surname * Idris (prophet), Islamic prophet in the Qur'an, traditionally identified with Enoch, an ancestor of Noah in the Bible * Idris G ...
* Joy *
Lean Lean, leaning or LEAN may refer to: Business practices * Lean thinking, a business methodology adopted in various fields ** Lean construction, an adaption of lean manufacturing principles to the design and construction process ** Lean governmen ...
*
Mercury Mercury commonly refers to: * Mercury (planet), the nearest planet to the Sun * Mercury (element), a metallic chemical element with the symbol Hg * Mercury (mythology), a Roman god Mercury or The Mercury may also refer to: Companies * Merc ...
* Miranda * PureScript * Ur * KRC *
SAC SAC or Sac may refer to: Organizations Education * Santa Ana College, California, US * San Antonio College, Texas, US * St. Andrew's College, Aurora, Canada * Students' Administrative Council, University of Toronto, Canada * SISD Student Activiti ...
* SASL *
SequenceL SequenceL is a general purpose functional programming language and auto-parallelizing (Parallel computing) compiler and tool set, whose primary design objectives are performance on multi-core processor hardware, ease of programming, platform porta ...


Impure

* APL *
ATS ATS or Ats may refer to: Businesses * ATS Wheels, or ''Auto Technisches Spezialzubehör'', a German wheel manufacturer and sponsor of a Formula One racing team * ATS Automation Tooling Systems, an Ontario, Canada-based factory automation company ...
*
CAL Cal or CAL may refer to: Arts and entertainment * ''Cal'' (novel), a 1983 novel by Bernard MacLaverty * "Cal" (short story), a science fiction short story by Isaac Asimov * ''Cal'' (1984 film), an Irish drama starring John Lynch and Helen Mir ...
* C++ (since C++11) * C# *
VB.NET Visual Basic, originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language, implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visua ...
*
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
* D *
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Dar ...
*
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
* ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript ** JScript ** Source * Erlang ** Elixir ** LFE ** Gleam * F# * Fexl * Flix * G (used in LabVIEW) * Groovy *
Hop A hop is a type of jump. Hop or hops may also refer to: Arts and entertainment * ''Hop'' (film), a 2011 film * Hop! Channel, an Israeli TV channel * ''House of Payne'', or ''HOP'', an American sitcom * Lindy Hop, a swing dance of the 1920s and ...
* J * Java (since version 8) * Julia * Kotlin *
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
** Clojure **
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
** Dylan ** Emacs Lisp ** LFE ** Little b ** Logo **
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
*** Guile ***
Racket Racket may refer to: * Racket (crime), a systematised element of organized crime ** Protection racket, a scheme whereby a group provides protection to businesses or other groups through violence outside the sanction of the law * Racket (sports equ ...
(formerly PLT Scheme) ** Tea *
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
* ML **
Standard ML Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of the ...
(SML) ***
Alice Alice may refer to: * Alice (name), most often a feminine given name, but also used as a surname Literature * Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll * ''Alice'' series, children's and teen books by ...
**
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
*
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
*
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
* Opal *
OPS5 OPS5 is a rule-based or production system computer language, notable as the first such language to be used in a successful expert system, the R1/XCON system used to configure VAX computers. The OPS (said to be short for "Official Production Sy ...
* Perl * PHP * Python * Q (equational programming language) *
Q (programming language from Kx Systems) Q is a programming language for array processing, developed by Arthur Whitney. It is proprietary software, commercialized by Kx Systems. Q serves as the query language for kdb+, a disk based and in-memory, column-based database. Kdb+ is base ...
* R * Raku * REBOL * Red *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby * REFAL * Rust * Scala * Swift * Spreadsheets *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
* Wolfram Language


Hardware description languages

In electronics, a hardware description language (HDL) is a specialized computer language used to describe the structure, design, and operation of electronic circuits, and most commonly, digital logic circuits. The two most widely used and well-supported HDL varieties used in industry are Verilog and VHDL. Hardware description languages include:


HDLs for analog circuit design

* Verilog-AMS (Verilog for Analog and Mixed-Signal) *
VHDL-AMS VHDL-AMS is a derivative of the hardware description language VHDL (IEEE standard 1076-1993). It includes analog and mixed-signal extensions (AMS) in order to define the behavior of analog and mixed-signal systems (IEEE 1076.1-1999). The VHDL-AMS ...
(VHDL with Analog/Mixed-Signal extension)


HDLs for digital circuit design

*
Advanced Boolean Expression Language The Advanced Boolean Expression Language (ABEL) is an obsolete hardware description language (HDL) and an associated set of design tools for programming programmable logic devices (PLDs). It was created in 1983 by Data I/O Corporation, in Redmond, ...
*
Altera Hardware Description Language Altera Hardware Description Language (AHDL) is a proprietary hardware description language (HDL) developed by Altera Corporation. AHDL is used for digital logic design entry for Altera's complex programmable logic devices (CPLDs) and field-prog ...
*
Bluespec Bluespec, Inc. is a semiconductor tool design company co-founded by Professor Arvind (computer scientist), Arvind of MIT in June 2003. Arvind had previously founded Sandburst in 2000, which specialized in producing chips for 10 Gigabit Ethernet, 10 ...
*
Confluence In geography, a confluence (also: ''conflux'') occurs where two or more flowing bodies of water join to form a single channel. A confluence can occur in several configurations: at the point where a tributary joins a larger river (main stem); o ...
*
ELLA Ella may refer to: * Ella (name), most often a feminine given name, but also used as a surname Places United States * Ella, Kentucky, an unincorporated community * Ella, Oregon, an unincorporated community * Ella, Pennsylvania, an unincorporate ...
*
Handel-C Handel-C is a high-level programming language which targets low-level hardware, most commonly used in the programming of FPGAs. It is a rich subset of C, with non-standard extensions to control hardware instantiation with an emphasis on parallelis ...
*
Impulse C Impulse C is a subset of the C programming language combined with a C-compatible function library supporting parallel programming, in particular for programming of applications targeting FPGA devices. It is developed by Impulse Accelerated Tech ...
* JHDL * Lava * Lola * MyHDL * PALASM *
Ruby (hardware description language) Ruby is a hardware description language designed by in 1986 intended to facilitate the notation and development of integrated circuits via relational algebra and functional programming. It should not be confused with RHDL, a hardware descriptio ...
* SystemC * SystemVerilog * Verilog * VHDL (VHSIC HDL)


Imperative languages

Imperative programming languages may be multi-paradigm and appear in other classifications. Here is a list of programming languages that follow the
imperative paradigm In computer science, imperative programming is a programming paradigm of software that uses Statement (computer science), statements that change a program's state (computer science), state. In much the same way that the imperative mood in natural ...
: *
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, Tur ...
* ALGOL 58 ** JOVIAL ** NELIAC *
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
(very influential language design) *
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
* C * C++ * C# *
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
*
CHILL In computing, CHILL (an acronym for CCITT High Level Language) is a procedural programming language designed for use in telecommunication switches (the hardware used inside telephone exchanges). The language is still used for legacy systems in ...
*
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily us ...
* D *
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Dar ...
* ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript ** JScript ** Source * FORTRAN * GAUSS * Go * Groovy * Java * Julia *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
* MATLAB * Machine languages *
Modula-2 Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
, Modula-3 *
MUMPS MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gener ...
*
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
*
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
* Oberon * Object Pascal *
Open Programming Language Open Programming Language (OPL) is a programming language for embedded systems and mobile devices that run the operating systems EPOC and Symbian. It was released by the British company Psion in 1984. Use Originally designed for use on their ...
(OPL) * OpenEdge Advanced Business Language (ABL) *
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
* Perl * PHP * PL/I * PowerShell * PROSE * Python *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby * Rust * Speakeasy * Swift *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
* Wolfram Language


Interactive mode languages

Interactive mode languages act as a kind of shell: expressions or statements can be entered one at a time, and the result of their evaluation is seen immediately. The interactive mode is also termed a read–eval–print loop (REPL). * APL *
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
(some dialects) * Clojure *
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
*
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Dar ...
(with Observatory or Dartium's developer tools) * ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript ** JScript ** Source * Erlang * Elixir (with iex) * F# *
Fril Fril is a programming language for first-order predicate calculus. It includes the semantics of Prolog as a subset, but takes its syntax#Syntax in computer science, syntax from the of Logic Programming Associates and adds support for fuzzy sets, ...
* GAUSS * Groovy * Guile * Haskell (with the GHCi or Hugs interpreter) *
IDL IDL may refer to: Computing * Interface description language, any computer language used to describe a software component's interface ** IDL specification language, the original IDL created by Lamb, Wulf and Nestor at Queen's University, Canada ...
* J * Java (since version 9) * Julia *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
MUMPS MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gener ...
(an ANSI standard general-purpose language) * Maple *
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
( Wolfram language) * MATLAB * ML *
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
* Perl * PHP *
Pike Pike, Pikes or The Pike may refer to: Fish * Blue pike or blue walleye, an extinct color morph of the yellow walleye ''Sander vitreus'' * Ctenoluciidae, the "pike characins", some species of which are commonly known as pikes * ''Esox'', genus of ...
*
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
* Prolog * Python * PROSE * R * REBOL *
Rexx Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
*
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby (with IRB) * Scala *
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
*
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
(anywhere in a Smalltalk environment) *
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...
(with the S-Lang shell, slsh) * Speakeasy * Swift *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
(with the Tcl shell, tclsh) * Unix shell * Windows PowerShell ( .NET-based CLI) * Visual FoxPro


Interpreted languages

Interpreted languages are programming languages in which programs may be executed from source code form, by an interpreter. Theoretically, any language can be compiled or interpreted, so the term ''interpreted language'' generally refers to languages that are usually interpreted rather than compiled. * Ant * APL * AutoHotkey scripting language * AutoIt scripting language *
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
(some dialects) * Programming Language for Business (PL/B, formerly DATABUS, later versions added optional compiling) *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
(via ''Melting Ice Technology'' in EiffelStudio) * Emacs Lisp * FOCAL * GameMaker Language * Groovy * J * Julia (compiled on the fly to machine code, by default, interpreting also available) * JavaScript *
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
(early versions, pre-1962, and some experimental ones; production Lisp systems are compilers, but many of them still provide an interpreter if needed) *
LPC LPC may refer to: Science and technology * Linear predictive coding, a method used in audio signal processing and speech processing * Leaf protein concentrate, a concentrated form of the proteins found in the leaves of plants * Long period comet, ...
*
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
MUMPS MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gener ...
(an ANSI standard general-purpose language) * Maple *
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
* MATLAB *
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
*
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
(early implementations) * PCASTL * Perl * PHP *
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
* PowerShell * PROSE * Python *
Rexx Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
* R * REBOL *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby *
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...
* Speakeasy *
Standard ML Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of the ...
(SML) *
Spin Spin or spinning most often refers to: * Spinning (textiles), the creation of yarn or thread by twisting fibers together, traditionally by hand spinning * Spin, the rotation of an object around a central axis * Spin (propaganda), an intentionally b ...
*
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
* Tea *
TorqueScript Torque Game Engine, or TGE, is an open-source cross-platform 3D computer game engine, developed by GarageGames and actively maintained under the current versions Torque 3D as well as Torque 2D. It was originally developed by Dynamix for the 2001 ...
* thinBasic scripting language * VBScript * Windows PowerShell.NET-based CLI * Wolfram Language * Some scripting languages –
below Below may refer to: *Earth *Ground (disambiguation) *Soil *Floor *Bottom (disambiguation) Bottom may refer to: Anatomy and sex * Bottom (BDSM), the partner in a BDSM who takes the passive, receiving, or obedient role, to that of the top or ...


Iterative languages

Iterative languages are built around or offering
generator Generator may refer to: * Signal generator, electronic devices that generate repeating or non-repeating electronic signals * Electric generator, a device that converts mechanical energy to electrical energy. * Generator (circuit theory), an eleme ...
s. * Aldor * Alphard * C# * CLU * Cobra *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
, through "agents" * Icon *
IPL-v Information Processing Language (IPL) is a programming language created by Allen Newell, Cliff Shaw, and Herbert A. Simon at RAND Corporation and the Carnegie Institute of Technology about 1956. Newell had the job of language specifier-applicatio ...
* Julia *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
* PHP * Python *
Sather Sather is an object-oriented programming language. It originated circa 1990 at the International Computer Science Institute (ICSI) at the University of California, Berkeley, developed by an international team led by Steve Omohundro. It supports ...


Languages by memory management type


Garbage collected languages

Garbage Collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim memory that was allocated by the program but is no longer used. * APL * C# * Clean * Crystal *
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Dar ...
* ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript ** JScript ** Source *
Emerald Emerald is a gemstone and a variety of the mineral beryl (Be3Al2(SiO3)6) colored green by trace amounts of chromium or sometimes vanadium.Hurlbut, Cornelius S. Jr. and Kammerling, Robert C. (1991) ''Gemology'', John Wiley & Sons, New York, p ...
* Erlang * Go * Groovy * Haskell * Java * Julia * Kotlin * LabVIEW *
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
(originator) **
Arc ARC may refer to: Business * Aircraft Radio Corporation, a major avionics manufacturer from the 1920s to the '50s * Airlines Reporting Corporation, an airline-owned company that provides ticket distribution, reporting, and settlement services * ...
** Clojure **
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
** Dylan ** Emacs Lisp ** Guile **
Racket Racket may refer to: * Racket (crime), a systematised element of organized crime ** Protection racket, a scheme whereby a group provides protection to businesses or other groups through violence outside the sanction of the law * Racket (sports equ ...
**
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
** Logo *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
* ML **
Standard ML Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of the ...
(SML) ***
Alice Alice may refer to: * Alice (name), most often a feminine given name, but also used as a surname Literature * Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll * ''Alice'' series, children's and teen books by ...
**
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
* Modula-3 * Perl * PHP * PowerShell * Python *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby *
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
* Speakeasy


Languages with manual memory management

* Beef * C * C++ *
Forth Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
* Fortran *
Modula-2 Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
* Oberon *
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
* Zig


Languages with optional manual memory management

*
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, Tur ...
implementations are not required to offer garbage collection, but the language semantics support it, and many implementations include it. * D provides programmers with full control over its own garbage collector, including the ability to disable it outright. *
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
is usually garbage-collected or reference-counted by default, depending on its configuration, but the programmer may use the switch --mm:none to deallocate memory manually. * Objective-C and Objective-C++ support optional reference counting and garbage collection as alternatives to manual memory management (the garbage collector was declared deprecated by Apple, however). * Rust supports optional reference counting, but manual memory management is preferred. * Vala uses reference counting by default, but the user is free to manage the memory manually if they wish.


Languages with deterministic memory management

*
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, Tur ...
* C * C++ * Fortran *
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
* Rust * Objective-C * Zig


Languages with automatic reference counting (ARC)

* Objective-C * Perl * Swift * Visual Basic * Xojo


List-based languages – LISPs

List-based languages are a type of data-structured language that are based on the list data structure. *
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
**
Arc ARC may refer to: Business * Aircraft Radio Corporation, a major avionics manufacturer from the 1920s to the '50s * Airlines Reporting Corporation, an airline-owned company that provides ticket distribution, reporting, and settlement services * ...
** Clojure **
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
** Dylan ** Emacs Lisp ** Guile **
Racket Racket may refer to: * Racket (crime), a systematised element of organized crime ** Protection racket, a scheme whereby a group provides protection to businesses or other groups through violence outside the sanction of the law * Racket (sports equ ...
**
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
** Logo * Joy * R * Source *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
** Tea * TRAC


Little languages

Little languages serve a specialized problem domain. * awk – used for text file manipulation. * Comet – used to solve complex combinatorial optimization problems in areas such as resource allocation and scheduling * sed – parses and transforms text * SQL – has only a few keywords and not all the constructs needed for a full programming language – many database management systems extend SQL with additional constructs as a
stored procedure A stored procedure (also termed proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data dic ...
language


Logic-based languages

Logic-based languages specify a set of attributes that a solution must-have, rather than a set of steps to obtain a solution. Notable languages following this programming paradigm include: * ALF *
Alma-0 Alma-0 is a multi-paradigm computer programming language. This language is an augmented version of the imperative Modula-2 language with logic-programming features and convenient backtracking ability. It is small, strongly typed, and combines co ...
* CLACL (CLAC-Language) * Curry *
Fril Fril is a programming language for first-order predicate calculus. It includes the semantics of Prolog as a subset, but takes its syntax#Syntax in computer science, syntax from the of Logic Programming Associates and adds support for fuzzy sets, ...
* Flix (a functional programming language with first-class Datalog constraints) *
Janus In ancient Roman religion and myth, Janus ( ; la, Ianvs ) is the god of beginnings, gates, transitions, time, duality, doorways, passages, frames, and endings. He is usually depicted as having two faces. The month of January is named for Janu ...
*
λProlog λProlog, also written lambda Prolog, is a logic programming language featuring polymorphic typing, modular programming, and higher-order programming. These extensions to Prolog are derived from the higher-order hereditary Harrop formulas used ...
(a logic programming language featuring polymorphic typing, modular programming, and higher-order programming) * Oz, and Mozart Programming System cross-platform Oz * Prolog (formulates data and the program evaluation mechanism as a special form of mathematical logic called
Horn logic Horn most often refers to: *Horn (acoustic), a conical or bell shaped aperture used to guide sound ** Horn (instrument), collective name for tube-shaped wind musical instruments *Horn (anatomy), a pointed, bony projection on the head of various ...
and a general proving mechanism called logical resolution) **
Mercury Mercury commonly refers to: * Mercury (planet), the nearest planet to the Sun * Mercury (element), a metallic chemical element with the symbol Hg * Mercury (mythology), a Roman god Mercury or The Mercury may also refer to: Companies * Merc ...
(based on Prolog) **
Visual Prolog Visual Prolog, previously known as PDC Prolog and Turbo Prolog, is a strongly typed object-oriented extension of Prolog. As Turbo Prolog, it was marketed by Borland but it is now developed and marketed by the Danish firm PDC that originally creat ...
(object-oriented Prolog extension) *
ROOP Roop or ROOP may refer to: Arts, entertainment, and media * Roop - Mard Ka Naya Swaroop, Indian television show * The Roop, a Lithuanian pop rock band People With the first name * Roop Durgapal, Indian actress * Roop Kanwar (c. 1969–1987), R ...


Machine languages

Machine languages are directly executable by a computer's CPU. They are typically formulated as bit patterns, usually represented in octal or
hexadecimal In mathematics and computing, the hexadecimal (also base-16 or simply hex) numeral system is a positional numeral system that represents numbers using a radix (base) of 16. Unlike the decimal system representing numbers using 10 symbols, hexa ...
. Each bit pattern causes the circuits in the CPU to execute one of the fundamental operations of the hardware. The activation of specific electrical inputs (e.g., CPU package pins for microprocessors), and logical settings for CPU state values, control the processor's computation. Individual machine languages are specific to a family of processors; machine-language code for one family of processors cannot run directly on processors in another family unless the processors in question have additional hardware to support it (for example, DEC VAX processors included a PDP-11 compatibility mode). They are (essentially) always defined by the CPU developer, not by 3rd parties. The symbolic version, the processor's
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
, is also defined by the developer, in most cases. Some commonly used machine code
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
s are: * ARM ** Original
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
** 16-bit Thumb instructions (subset of registers used) ** 64-bit ( major architecture change, more registers) * DEC: **
18-bit 18 binary digits have (1000000 octal, 40000 hexadecimal) distinct combinations. 18 bits was a common word size for smaller computers in the 1960s, when large computers often used 36 bit words and 6-bit character sets, sometimes implemented a ...
: PDP-1, PDP-4, PDP-7, PDP-9,
PDP-15 The PDP-15 was the fifth and last of the 18-bit minicomputers produced by Digital Equipment Corporation. The PDP-1 was first delivered in December 1959 and the first PDP-15 was delivered in February 1970. More than 400 of these successors to th ...
**
12-bit Possibly the best-known 12-bit CPU is the PDP-8 and its relatives, such as the Intersil 6100 microprocessor produced in various forms from August 1963 to mid-1990. Many analog to digital converters (ADCs) have a 12-bit resolution. Some PIC micr ...
: PDP-5, PDP-8, LINC-8, PDP-12 **
36-bit 36-bit computers were popular in the early mainframe computer era from the 1950s through the early 1970s. Starting in the 1960s, but especially the 1970s, the introduction of 7-bit ASCII and 8-bit EBCDIC led to the move to machines using 8-bit ...
:
PDP-6 The PDP-6, short for Programmed Data Processor model 6, is a computer developed by Digital Equipment Corporation (DEC) during 1963 and first delivered in the summer of 1964. It was an expansion of DEC's existing 18-bit systems to use a 36-bit da ...
, PDP-10, DECSYSTEM-20 ** 16-bit:
PDP-11 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, ...
(influenced VAX and M68000) ** 32-bit: VAX ** 64-bit:
Alpha Alpha (uppercase , lowercase ; grc, ἄλφα, ''álpha'', or ell, άλφα, álfa) is the first letter of the Greek alphabet. In the system of Greek numerals, it has a value of one. Alpha is derived from the Phoenician letter aleph , whic ...
* Intel 8008, 8080 and
8085 The Intel 8085 ("''eighty-eighty-five''") is an 8-bit microprocessor produced by Intel and introduced in March 1976. It is software-binary compatible with the more-famous Intel 8080 with only two minor instructions added to support its added i ...
** Zilog Z80 * x86: ** 16-bit x86, first used in the Intel 8086 ***
Intel 8086 The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allowi ...
and 8088 (the latter was used in the first and early
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
) ***
Intel 80186 The Intel 80186, also known as the iAPX 186, or just 186, is a microprocessor and microcontroller introduced in 1982. It was based on the Intel 8086 and, like it, had a 16-bit external data bus multiplexed with a 20-bit address bus. The 801 ...
*** Intel 80286 (the first x86 processor with
protected mode In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as virtual memory, paging and safe multi-tasking d ...
, used in the
IBM AT The IBM Personal Computer/AT (model 5170, abbreviated as IBM AT or PC/AT) was released in 1984 as the fourth model in the IBM Personal Computer line, following the IBM PC/XT and its IBM Portable PC variant. It was designed around the Intel 8028 ...
) ** IA-32, introduced in the
80386 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsx86-64 – The original specification was created by AMD. There are vendor variants, but they're essentially the same: *** AMD's AMD64 *** Intel's Intel 64 * IBM **
305 Year 305 ( CCCV) was a common year starting on Monday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Constantius and Valerius (or, less frequently, year 1058 '' Ab urbe c ...
**
650 __NOTOC__ Year 650 ( DCL) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. The denomination 650 for this year has been used since the early medieval period, when the Anno Domini calendar era bec ...
**
701 __NOTOC__ Year 701 ( DCCI) was a common year starting on Saturday (link will display the full calendar) of the Julian calendar. The denomination 701 for this year has been used since the early medieval period, when the Anno Domini calendar era ...
** 702, 705 and 7080 **
704 __NOTOC__ Year 704 ( DCCIV) was a leap year starting on Tuesday (link will display the full calendar) of the Julian calendar. The denomination 704 for this year has been used since the early medieval period, when the Anno Domini calendar era b ...
,
709 __NOTOC__ Year 709 ( DCCIX) was a common year starting on Tuesday (link will display the full calendar) of the Julian calendar. The denomination 709 for this year has been used since the early medieval period, when the Anno Domini calendar era ...
, 7040, 7044, 7090, 7094 ** 1400 series, 7010 ** 7030 ** 7070 **
System/360 The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applica ...
and successors, including
z/Architecture z/Architecture, initially and briefly called ESA Modal Extensions (ESAME), is IBM's 64-bit complex instruction set computer (CISC) instruction set architecture, implemented by its mainframe computers. IBM introduced its first z/Architecture-b ...
* MIPS * Motorola 6800 (
8-bit In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
) * Motorola 68000 family (CPUs used in early Apple Macintosh and early Sun computers) *
MOS Technology 65xx The MOS Technology 65xx series is a family of 8-bit microprocessors from MOS Technology, based on the Motorola 6800 (introduced ca. 1975). The 65xx family included the 6502, used in home computers such as the Commodore PET and VIC-20, the Apple II ...
(
8-bit In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
) ** 6502 (CPU for
VIC-20 The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PE ...
,
Apple II The Apple II (stylized as ) is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak; Jerry Manock developed the design of Apple II's foam-m ...
, and Atari 800) ** 6510 (CPU for
Commodore 64 The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
) ** Western Design Center 65816/65802 (CPU for Apple IIGS and (variant)
Super Nintendo Entertainment System The Super Nintendo Entertainment System (SNES), commonly shortened to Super NES or Super Nintendo, is a 16-bit home video game console developed by Nintendo that was released in 1990 in Japan and South Korea, 1991 in North America, 1992 in Eur ...
) * National Semiconductor NS320xx * POWER, first used in the IBM RS/6000 **
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
– used in Power Macintosh and in many game consoles, particularly of the seventh generation. **
Power ISA Power ISA is a reduced instruction set computer (RISC) instruction set architecture (ISA) currently developed by the OpenPOWER Foundation, led by IBM. It was originally developed by IBM and the now-defunct Power.org industry group. Power IS ...
*
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
(now
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
) SPARC * UNIVAC ** 30-bit computers:
490 Year 490 ( CDXC) was a common year starting on Monday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Faustus and Longinus (or, less frequently, year 1243 ''Ab urbe condit ...
, 492, 494,
1230 Year 1230 ( MCCXXX) was a common year starting on Tuesday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * March 9 – Battle of Klokotnitsa: Byzantine forces under Theodore Komnen ...
**
36-bit 36-bit computers were popular in the early mainframe computer era from the 1950s through the early 1970s. Starting in the 1960s, but especially the 1970s, the introduction of 7-bit ASCII and 8-bit EBCDIC led to the move to machines using 8-bit ...
computers ***
1101 Year 1101 (Roman numerals, MCI) was a common year starting on Tuesday (link will display the full calendar) of the Julian calendar. It was the 2nd year of the 1100s decade, and the 1st year of the 12th century. Events By place Byzanti ...
,
1103 Year 1103 ( MCIII) was a common year starting on Thursday (link will display the full calendar) of the Julian calendar. Events By place Levant * Spring – Bohemond I, Norman prince of Antioch, is released from Seljuk imprison ...
,
1105 Year 1105 ( MCV) was a common year starting on Sunday (link will display the full calendar) of the Julian calendar. Events By place Levant * February 28 – Raymond IV (Saint-Gilles) dies at his castle of Mons Peregrinus ("Pilgr ...
*** 1100/2200 series *
MCST MCST (russian: МЦСТ, acronym for Moscow Center of SPARC Technologies) is a Russian microprocessor company that was set up in 1992. Different types of processors made by MCST were used in personal computers, servers and computing systems. MCS ...
Elbrus 2000 The Elbrus 2000, E2K (russian: Эльбрус 2000) is a Russian 512-bit wide Very long instruction word, VLIW microprocessor developed by Moscow Center of SPARC Technologies (MCST) and fabricated by TSMC. It supports two instruction set architec ...


Macro languages


Textual substitution macro languages

Macro Macro (or MACRO) may refer to: Science and technology * Macroscopic, subjects visible to the eye * Macro photography, a type of close-up photography * Image macro, a picture with text superimposed * Monopole, Astrophysics and Cosmic Ray Observat ...
languages transform one source code file into another. A "macro" is essentially a short piece of text that expands into a longer one (not to be confused with hygienic macros), possibly with parameter substitution. They are often used to
preprocess In computer science, a preprocessor (or precompiler) is a program that processes its input data to produce output that is used as input in another program. The output is said to be a preprocessed form of the input data, which is often used by so ...
source code. Preprocessors can also supply facilities like file inclusion. Macro languages may be restricted to acting on specially labeled code regions (pre-fixed with a # in the case of the C preprocessor). Alternatively, they may not, but in this case it is still often undesirable to (for instance) expand a macro embedded in a string literal, so they still need a rudimentary awareness of syntax. That being the case, they are often still applicable to more than one language. Contrast with source-embeddable languages like PHP, which are fully featured. * cpp (the C preprocessor) * m4 (originally from AT&T, bundled with Unix) *
ML/I ML/1 (Macro Language/One) is a powerful general-purpose macro processor. Typical uses of ML/1 include: * editing, modifying, correcting, or reformatting text files * translating source code from one programming language to another * acting as a so ...
(general-purpose macro processor)


Application macro languages

Scripting languages such as
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
and ECMAScript ( ActionScript,
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
, JavaScript, JScript) have been embedded into applications. These are sometimes called "macro languages", although in a somewhat different sense to textual-substitution macros like m4.


Metaprogramming languages

Metaprogramming is the writing of programs that write or manipulate other programs, including themselves, as their data or that do part of the work that is otherwise done at run time during compile time. In many cases, this allows programmers to get more done in the same amount of time as they would take to write all the code manually. * C++ * CWIC *
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
* D * eC * Emacs Lisp * Elixir * F# * Groovy * Haskell * Julia *
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
*
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
Maude system The Maude system is an implementation of rewriting logic. It is similar in its general approach to Joseph Goguen's OBJ3 implementation of equational logic, but based on rewriting logic rather than order-sorted equational logic, and with a heavy ...
*
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
*
META II META II is a domain-specific programming language for writing compilers. It was created in 1963–1964 by Dewey Val Schorre at UCLA. META II uses what Schorre called syntax equations. Its operation is simply explained as: Each ''syntax equation'' ...
(and META I, a subset) * MetaOCaml *
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
*
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
* Perl * Python *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby * Rust *
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
*
SequenceL SequenceL is a general purpose functional programming language and auto-parallelizing (Parallel computing) compiler and tool set, whose primary design objectives are performance on multi-core processor hardware, ease of programming, platform porta ...
*
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
* Source * TREEMETA * Wolfram Language


Multiparadigm languages

Multiparadigm languages support more than one programming paradigm. They allow a
program Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing several related projects * Time management * Program, a part of planning Arts and entertainment Audio * Progra ...
to use more than one programming style. The goal is to allow programmers to use the best tool for a job, admitting that no one paradigm solves all problems in the easiest or most efficient way. * 1C:Enterprise programming language (generic, imperative, object-oriented, prototype-based, functional) *
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, Tur ...
( concurrent, distributed,
generic Generic or generics may refer to: In business * Generic term, a common name used for a range or class of similar things not protected by trademark * Generic brand, a brand for a product that does not have an associated brand or trademark, other ...
( template metaprogramming), imperative, object-oriented (
class-based Class-based programming, or more commonly class-orientation, is a style of object-oriented programming (OOP) in which inheritance (object-oriented programming), inheritance occurs via defining ''class (computer programming), classes'' of object ...
)) * ALF (
functional Functional may refer to: * Movements in architecture: ** Functionalism (architecture) ** Form follows function * Functional group, combination of atoms within molecules * Medical conditions without currently visible organic basis: ** Functional sy ...
, logic) *
Alma-0 Alma-0 is a multi-paradigm computer programming language. This language is an augmented version of the imperative Modula-2 language with logic-programming features and convenient backtracking ability. It is small, strongly typed, and combines co ...
(constraint, imperative, logic) * APL (functional, imperative, object-oriented (class-based)) *
BETA Beta (, ; uppercase , lowercase , or cursive ; grc, βῆτα, bē̂ta or ell, βήτα, víta) is the second letter of the Greek alphabet. In the system of Greek numerals, it has a value of 2. In Modern Greek, it represents the voiced labiod ...
(functional, imperative, object-oriented (class-based)) * C++ (generic, imperative, object-oriented (class-based), functional, metaprogramming) * C# (generic, imperative, object-oriented (class-based), functional, declarative) *
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
(generic, imperative, object-oriented (class-based), functional, declarative) * ChucK (imperative, object-oriented, time-based, concurrent, on-the-fly) * Cobra (generic, imperative, object-oriented (class-based), functional, contractual) *
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
(functional, imperative, object-oriented (class-based),
aspect-oriented In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns. It does so by adding behavior to existing code (an advice) ''without'' modifying th ...
(user may add further paradigms, e.g., logic)) *
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
(functional, imperative, object-oriented (class-based), metaprogramming) * Curry (concurrent, functional, logic) * D (generic, imperative, functional, object-oriented (class-based), metaprogramming) *
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Dar ...
(generic, imperative, functional, object-oriented (class-based)) *
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
Object Pascal (generic, imperative, object-oriented (class-based), metaprogramming) * Dylan (functional, object-oriented (class-based)) * eC (generic, imperative, object-oriented (class-based)) * ECMAScript (functional, imperative, object-oriented (prototype-based)) ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript ** JScript *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
(imperative, object-oriented (class-based), generic, functional (agents), concurrent (SCOOP)) * F# (functional, generic, object-oriented (class-based), language-oriented) *
Fantom FANTOM (Functional Annotation of the Mouse/Mammalian Genome) is an international research consortium first established in 2000 as part of the RIKEN research institute in Japan. The original meeting gathered international scientists from diverse bac ...
(functional, object-oriented (class-based)) * Go, Golang (imperative, procedural), * Groovy (functional, object-oriented (class-based), imperative, procedural) *
Harbour A harbor (American English), harbour (British English; see spelling differences), or haven is a sheltered body of water where ships, boats, and barges can be docked. The term ''harbor'' is often used interchangeably with ''port'', which is a ...
*
Hop A hop is a type of jump. Hop or hops may also refer to: Arts and entertainment * ''Hop'' (film), a 2011 film * Hop! Channel, an Israeli TV channel * ''House of Payne'', or ''HOP'', an American sitcom * Lindy Hop, a swing dance of the 1920s and ...
* J (functional, imperative, object-oriented (class-based)) * Julia (imperative, multiple dispatch ("object-oriented"), functional, metaprogramming) * LabVIEW ( visual,
dataflow In computing, dataflow is a broad concept, which has various meanings depending on the application and context. In the context of software architecture, data flow relates to stream processing or reactive programming. Software architecture Dataf ...
, concurrent, modular, functional, object-oriented, scripting) * Lava (object-oriented (class-based), visual) *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
(functional, imperative, object-oriented ( prototype-based)) *
Mercury Mercury commonly refers to: * Mercury (planet), the nearest planet to the Sun * Mercury (element), a metallic chemical element with the symbol Hg * Mercury (mythology), a Roman god Mercury or The Mercury may also refer to: Companies * Merc ...
(functional, logical, object-oriented) * Metaobject protocols (object-oriented (class-based, prototype-based)) *
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
(functional, object-oriented (class-based), imperative, metaprogramming) * Objective-C (imperative, object-oriented (class-based), reflective) *
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
(functional, imperative, object-oriented (class-based), modular) * Oz (functional (evaluation: eager, lazy), logic, constraint, imperative, object-oriented (class-based), concurrent, distributed), and Mozart Programming System cross-platform Oz * Object Pascal (imperative, object-oriented (class-based)) * Perl (imperative, functional (can't be purely functional), object-oriented, class-oriented, aspect-oriented (through modules)) * PHP (imperative, object-oriented, functional (can't be purely functional)) *
Pike Pike, Pikes or The Pike may refer to: Fish * Blue pike or blue walleye, an extinct color morph of the yellow walleye ''Sander vitreus'' * Ctenoluciidae, the "pike characins", some species of which are commonly known as pikes * ''Esox'', genus of ...
(interpreted, general-purpose, high-level, cross-platform, dynamic programming language ) *
Prograph Prograph is a visual, object-oriented, dataflow, multiparadigm programming language that uses iconic symbols to represent actions to be taken on data. Commercial Prograph software development environments such as Prograph Classic and Prograph CP ...
(dataflow, object-oriented (class-based), visual) * Python (functional, compiled, interpreted, object-oriented (class-based), imperative, metaprogramming, extension, impure, interactive mode, iterative, reflective, scripting) * R (array, interpreted, impure, interactive mode, list-based, object-oriented prototype-based, scripting) *
Racket Racket may refer to: * Racket (crime), a systematised element of organized crime ** Protection racket, a scheme whereby a group provides protection to businesses or other groups through violence outside the sanction of the law * Racket (sports equ ...
(functional, imperative, object-oriented (class-based) and can be extended by the user) * REBOL (functional, imperative, object-oriented (prototype-based), metaprogramming (dialected)) * Red (functional, imperative, object-oriented (prototype-based), metaprogramming (dialected)) *
ROOP Roop or ROOP may refer to: Arts, entertainment, and media * Roop - Mard Ka Naya Swaroop, Indian television show * The Roop, a Lithuanian pop rock band People With the first name * Roop Durgapal, Indian actress * Roop Kanwar (c. 1969–1987), R ...
(imperative, logic, object-oriented (class-based), rule-based) *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
(imperative, functional, object-oriented (class-based), metaprogramming, declarative, natural) * Ruby (imperative, functional, object-oriented (class-based), metaprogramming) * Rust (concurrent, functional, imperative, object-oriented, generic, metaprogramming, compiled) * Scala (functional, object-oriented) *
Seed7 Seed7 is an extensible general-purpose programming language designed by Thomas Mertes. It is syntactically similar to Pascal and Ada. Along with many other features, it provides an extension mechanism. Daniel Zingaro"Modern Extensible Languages" ...
(imperative, object-oriented, generic) * SISAL (concurrent, dataflow, functional) * Spreadsheets (functional, visual) * Swift (protocol-oriented, object-oriented, functional, imperative, block-structured) *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
(functional, imperative, object-oriented (class-based)) ** Tea (functional, imperative, object-oriented (class-based)) * Windows PowerShell (functional, imperative, pipeline, object-oriented (class-based)) * Wolfram Language


Numerical analysis

Several general-purpose programming languages, such as C and Python, are also used for technical computing, this list focuses on languages almost exclusively used for technical computing. * AIMMS * AMPL * Analytica * Fortran *
FreeMat FreeMat is a free open-source numerical computing environment and programming language, similar to MATLAB and GNU Octave. In addition to supporting many MATLAB functions and some IDL functionality, it features a codeless interface to external C ...
* GAUSS * GAMS * GNU Octave * Julia * Klerer-May System *
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
* MATLAB * PROSE * R * Seneca – an Oberon variant *
Scilab Scilab is a free and open-source, cross-platform numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulat ...
* Speakeasy * Wolfram Language


Non-English-based languages

*
Chinese BASIC Chinese BASIC () is the name given to several Chinese-localized versions of the BASIC programming language in the early 1980s. Versions At least two versions of Chinese BASIC were modified Applesoft BASIC that accepted Chinese commands and varia ...
(Chinese) * Fjölnir (Icelandic) *
Kalaam ''ʿIlm al-Kalām'' ( ar, عِلْم الكَلام, literally "science of discourse"), usually foreshortened to ''Kalām'' and sometimes called "Islamic scholastic theology" or "speculative theology", is the philosophical study of Islamic doc ...
(Hindi) * Language Symbolique d'Enseignement (French) *
Rapira : ''Rapira is also a name for the Soviet 100 mm anti-tank gun T-12 Rapira (russian: Рапира, rapier) is an educational procedural programming language developed in the Soviet Union and implemented on the Agat computer, PDP-11 clones (Electr ...
(Russian) *
ezhil Ezhilmaaran known as Ezhil is an Indian film director who works in the Tamil film industry. He has won 2 Tamil Nadu state awards. He made his directorial debut with the 1999 romantic film ''Thulladha Manamum Thullum'' starring Vijay and Si ...
(Tamil)


Object-oriented class-based languages

Class Class or The Class may refer to: Common uses not otherwise categorized * Class (biology), a taxonomic rank * Class (knowledge representation), a collection of individuals or objects * Class (philosophy), an analytical concept used differentl ...
-based object-oriented programming languages support
objects Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an ...
defined by their class. Class definitions include member data. Message passing is a key concept, if not the main concept, in object-oriented languages. Polymorphic functions parameterized by the class of some of their arguments are typically called
methods Method ( grc, μέθοδος, methodos) literally means a pursuit of knowledge, investigation, mode of prosecuting such inquiry, or system. In recent centuries it more often means a prescribed process for completing a task. It may refer to: *Scien ...
. In languages with single dispatch, classes typically also include method definitions. In languages with multiple dispatch, methods are defined by generic functions. There are exceptions where single dispatch methods are generic functions (e.g. Bigloo's object system).


Multiple dispatch

*
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
*
Cecil Cecil may refer to: People with the name * Cecil (given name), a given name (including a list of people and fictional characters with the name) * Cecil (surname), a surname (including a list of people with the name) Places Canada *Cecil, Alberta, ...
* Dylan * Julia


Single dispatch

*
ActionScript 3.0 ActionScript is an object-oriented programming language originally developed by Macromedia, Macromedia Inc. (later acquired by Adobe Systems, Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementatio ...
* Actor *
Ada 95 Ada is a structured, statically typed, imperative, and object-oriented high-level programming language, extended from Pascal and other languages. It has built-in language support for '' design by contract'' (DbC), extremely strong typing, exp ...
and Ada 2005 (multi-purpose language) * APL *
BETA Beta (, ; uppercase , lowercase , or cursive ; grc, βῆτα, bē̂ta or ell, βήτα, víta) is the second letter of the Greek alphabet. In the system of Greek numerals, it has a value of 2. In Modern Greek, it represents the voiced labiod ...
* C++ * C# *
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
*
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Dar ...
* Oxygene (formerly named Chrome) * ChucK * Cobra *
ColdFusion Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CF ...
*
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
* D * Distributed Application Specification Language (DASL) *
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
Object Pascal * E *
GNU E GNU E is an extension of C++ designed for writing software systems to support persistent applications. It was designed as part of thExodus project External links GNU E software and papers C++ {{compu-prog-stub ...
* eC *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
**
Sather Sather is an object-oriented programming language. It originated circa 1990 at the International Computer Science Institute (ICSI) at the University of California, Berkeley, developed by an international team led by Steve Omohundro. It supports ...
** Ubercode * F-Script * Fortran 2003 *
Fortress A fortification is a military construction or building designed for the defense of territories in warfare, and is also used to establish rule in a region during peacetime. The term is derived from Latin ''fortis'' ("strong") and ''facere'' ...
* Gambas *
Game Maker Language GameMaker (originally Animo, Game Maker ''(until 2011)'' and GameMaker Studio) is a series of cross-platform game engines created by Mark Overmars in 1999 and developed by YoYo Games since 2007. The latest iteration of ''GameMaker'' released i ...
*
Harbour A harbor (American English), harbour (British English; see spelling differences), or haven is a sheltered body of water where ships, boats, and barges can be docked. The term ''harbor'' is often used interchangeably with ''port'', which is a ...
* J * Java **
Processing Processing is a free graphical library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming ...
** Groovy **
Join Java Join Java is a programming language based on the join-pattern that extends the standard Java programming language with the join semantics of the join-calculus. It was written at the University of South Australia The University of South Aus ...
** Tea ** X10 * LabVIEW * Lava *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
Modula-2 Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
(data abstraction, information hiding, strong typing, full modularity) ** Modula-3 (added more object-oriented features to Modula-2) *
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
*
NetRexx NetRexx is an open source, originally IBM's, variant of the REXX programming language to run on the Java virtual machine. It supports a classic REXX syntax, with no reserved keywords, along with considerable additions to support object-oriented ...
*
Oberon-2 Oberon-2 is an extension of the original Oberon programming language that adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, read-only field export, and reintroduces the FOR loop from Modula-2. ...
(full object-orientation equivalence in an original, strongly typed, Wirthian manner) * Object Pascal * Object REXX * Objective-C (a superset of C adding a
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
derived object model and message passing syntax) *
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
* OpenEdge Advanced Business Language (ABL) * Oz, Mozart Programming System * Perl 5 * PHP *
Pike Pike, Pikes or The Pike may refer to: Fish * Blue pike or blue walleye, an extinct color morph of the yellow walleye ''Sander vitreus'' * Ctenoluciidae, the "pike characins", some species of which are commonly known as pikes * ''Esox'', genus of ...
*
Prograph Prograph is a visual, object-oriented, dataflow, multiparadigm programming language that uses iconic symbols to represent actions to be taken on data. Commercial Prograph software development environments such as Prograph Classic and Prograph CP ...
* Python (interpretive language, optionally object-oriented) * Revolution (programmer does not get to pick the objects) *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby * Scala * Speakeasy *
Simula Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of ALGOL 6 ...
(first object-oriented language, developed by Ole-Johan Dahl and Kristen Nygaard) *
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
(pure object-orientation, developed at Xerox PARC) ** F-Script **
Little Smalltalk Little Smalltalk is a non-standard Dialect (computing), dialect and runtime system, a virtual machine referred to as "system", of the Smalltalk-80 programming language implemented by Timothy Budd at University of Arizona in 1984 along with a group ...
**
Pharo Pharo is an open source, cross-platform implementation of the classic Smalltalk-80 programming language and runtime. It's based on the OpenSmalltalk virtual machine called Cog (VM), which evaluates a dynamic, Reflective programming, reflectiv ...
** Squeak *** Scratch **
IBM VisualAge VisualAge is a family of computer integrated development environments from IBM, which supports multiple programming languages. VisualAge was first released in October 1993 and was discontinued April 30, 2007 and its web page removed in September ...
**
VisualWorks VisualWorks is a cross-platform implementation of the Smalltalk language. It is implemented as a development system based on "images", which are dynamic collections of software objects, each contained in a system image. The lineage of VisualWorks ...
*
SPIN Spin or spinning most often refers to: * Spinning (textiles), the creation of yarn or thread by twisting fibers together, traditionally by hand spinning * Spin, the rotation of an object around a central axis * Spin (propaganda), an intentionally b ...
*
SuperCollider A particle accelerator is a machine that uses electromagnetic fields to propel charged particles to very high speeds and energies, and to contain them in well-defined beams. Large accelerators are used for fundamental research in particle ...
* VBScript (Microsoft Office 'macro scripting' language) *
Visual DataFlex DataFlex is an object-oriented high-level programming language and a fourth generation visual tool 4GL for developing Windows, web and mobile software applications on one framework-based platform. It was introduced and developed by ''Data Access ...
* Visual FoxPro *
Visual Prolog Visual Prolog, previously known as PDC Prolog and Turbo Prolog, is a strongly typed object-oriented extension of Prolog. As Turbo Prolog, it was marketed by Borland but it is now developed and marketed by the Danish firm PDC that originally creat ...
*
X++ X, or x, is the twenty-fourth and third-to-last letter in the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''"ex"'' (pronounced ), ...
* Xojo * XOTcl


Object-oriented prototype-based languages

Prototype-based languages are object-oriented languages where the distinction between classes and instances has been removed: * 1C:Enterprise programming language * Actor-Based Concurrent Language (ABCL, ABCL/1, ABCL/R, ABCL/R2, ABCL/c+) *
Agora The agora (; grc, ἀγορά, romanized: ', meaning "market" in Modern Greek) was a central public space in ancient Greek city-states. It is the best representation of a city-state's response to accommodate the social and political order of t ...
*
Cecil Cecil may refer to: People with the name * Cecil (given name), a given name (including a list of people and fictional characters with the name) * Cecil (surname), a surname (including a list of people with the name) Places Canada *Cecil, Alberta, ...
* ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript (first named Mocha, then LiveScript) ** JScript * Etoys in Squeak * Io *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
* MOO * NewtonScript * Obliq * R * REBOL * Red * Self (first prototype-based language, derived from
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
) * TADS


Off-side rule languages

Off-side rule languages denote blocks of code by their indentation. * ISWIM, the abstract language that introduced the rule *
ABC ABC are the first three letters of the Latin script known as the alphabet. ABC or abc may also refer to: Arts, entertainment, and media Broadcasting * American Broadcasting Company, a commercial U.S. TV broadcaster ** Disney–ABC Television ...
, Python's parent ** Python *** Cobra *** Boo *** Genie * Miranda, Haskell's parent **
Orwell Eric Arthur Blair (25 June 1903 – 21 January 1950), better known by his pen name George Orwell, was an English novelist, essayist, journalist, and critic. His work is characterised by lucid prose, social criticism, opposition to totalitari ...
** Haskell *** Curry * Elixir (, do: blocks) * F# *
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
(off-side optional) *
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
* Occam *
SPIN Spin or spinning most often refers to: * Spinning (textiles), the creation of yarn or thread by twisting fibers together, traditionally by hand spinning * Spin, the rotation of an object around a central axis * Spin (propaganda), an intentionally b ...
* Scala (off-side optional)


Procedural languages

Procedural programming languages are based on the concept of the unit and scope (the data viewing range) of an executable code statement. A procedural program is composed of one or more units or modules, either user coded or provided in a code library; each module is composed of one or more procedures, also called a function, routine, subroutine, or method, depending on the language. Examples of procedural languages include: *
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, Tur ...
(multi-purpose language) * ALGOL 58 ** JOVIAL ** NELIAC *
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
(very influential language design) **
SMALL Small may refer to: Science and technology * SMALL, an ALGOL-like programming language * Small (anatomy), the lumbar region of the back * ''Small'' (journal), a nano-science publication * <small>, an HTML element that defines smaller text ...
Machine ALGOL Like Language *
Alma-0 Alma-0 is a multi-paradigm computer programming language. This language is an augmented version of the imperative Modula-2 language with logic-programming features and convenient backtracking ability. It is small, strongly typed, and combines co ...
*
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
(these lack most modularity in (especially) versions before about 1990) *
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative, and structured programming language. Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still ...
* BLISS * C * C++ (C with objects plus much else, such as generics through STL) * C# (similar to Java/C++) *
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
*
CHILL In computing, CHILL (an acronym for CCITT High Level Language) is a procedural programming language designed for use in telecommunication switches (the hardware used inside telephone exchanges). The language is still used for legacy systems in ...
* ChucK (C/Java-like syntax, with new syntax elements for time and parallelism) *
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily us ...
* Cobra *
ColdFusion Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CF ...
* CPL (Combined Programming Language) *
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
* D * Distributed Application Specification Language (DASL) (combine
declarative programming In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
and imperative programming) * eC * ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript (first named Mocha, then LiveScript) ** JScript ** Source *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
*
Forth Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
* Fortran (better modularity in later Standards) ** F * GAUSS * Go *
Harbour A harbor (American English), harbour (British English; see spelling differences), or haven is a sheltered body of water where ships, boats, and barges can be docked. The term ''harbor'' is often used interchangeably with ''port'', which is a ...
* HyperTalk * Java ** Groovy **
Join Java Join Java is a programming language based on the join-pattern that extends the standard Java programming language with the join semantics of the join-calculus. It was written at the University of South Australia The University of South Aus ...
** Tea * JOVIAL * Julia * Language H * Lasso *
Modula-2 Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
(fundamentally based on modules) *
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
* MATLAB * Mesa *
MUMPS MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gener ...
(first release was more modular than other languages of the time; the standard has become even more modular since then) *
Nemerle Nemerle is a general-purpose, high-level, statically typed programming language designed for platforms using the Common Language Infrastructure ( .NET/Mono). It offers functional, object-oriented, aspect-oriented, reflective and imperative featu ...
*
Nim Nim is a mathematical two player game. Nim or NIM may also refer to: * Nim (programming language) * Nim Chimpsky, a signing chimpanzee Acronyms * Network Installation Manager, an IBM framework * Nuclear Instrumentation Module * Negative index met ...
* Oberon,
Oberon-2 Oberon-2 is an extension of the original Oberon programming language that adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, read-only field export, and reintroduces the FOR loop from Modula-2. ...
(improved, smaller, faster, safer follow-ons for Modula-2) **
Component Pascal Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the language Pascal and preserves its heritage, but is incompatible with Pascal. Instead, it is a minor var ...
** Seneca *
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
* Occam * Oriel *
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
(successor to ALGOL 60, predecessor of Modula-2) ** Free Pascal (FPC) ** Object Pascal,
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
* PCASTL * Perl *
Pike Pike, Pikes or The Pike may refer to: Fish * Blue pike or blue walleye, an extinct color morph of the yellow walleye ''Sander vitreus'' * Ctenoluciidae, the "pike characins", some species of which are commonly known as pikes * ''Esox'', genus of ...
*
PL/C PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox ...
* PL/I (large general-purpose language, originally for IBM mainframes) *
Plus Plus may refer to: Mathematics * Addition * +, the mathematical sign Music * ''+'' (Ed Sheeran album), (pronounced "plus"), 2011 * ''Plus'' (Cannonball Adderley Quintet album), 1961 * ''Plus'' (Matt Nathanson EP), 2003 * ''Plus'' (Martin Ga ...
* PowerShell * PROSE * Python * R *
Rapira : ''Rapira is also a name for the Soviet 100 mm anti-tank gun T-12 Rapira (russian: Рапира, rapier) is an educational procedural programming language developed in the Soviet Union and implemented on the Agat computer, PDP-11 clones (Electr ...
*
RPG RPG may refer to: Military * Rocket-propelled grenade, a shoulder-launched anti-tank weapon **''Ruchnoi Protivotankoviy Granatomyot'' (Russian: ''Ручной Противотанковый Гранатомёт''), hand-held anti-tank grenade laun ...
* Rust *
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...
* VBScript * Visual Basic * Visual FoxPro * Wolfram Language * Microsoft Dynamics AX (X++)


Query languages


Reflective languages

Reflective Reflection is the change in direction of a wavefront at an interface between two different media so that the wavefront returns into the medium from which it originated. Common examples include the reflection of light, sound and water waves. The ' ...
languages let programs examine and possibly modify their high-level structure at runtime or compile-time. This is most common in high-level virtual machine programming languages like
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
, and less common in lower-level programming languages like C. Languages and platforms supporting reflection: *
Befunge Befunge is a two-dimensional stack-based, reflective, esoteric programming language. It differs from conventional languages in that programs are arranged on a two-dimensional grid. "Arrow" instructions direct the control flow to the left, righ ...
*
Ceylon Sri Lanka (, ; si, ශ්‍රී ලංකා, Śrī Laṅkā, translit-std=ISO (); ta, இலங்கை, Ilaṅkai, translit-std=ISO ()), formerly known as Ceylon and officially the Democratic Socialist Republic of Sri Lanka, is an ...
*
Charm Charm may refer to: Social science * Charisma, a person or thing's pronounced ability to attract others * Superficial charm, flattery, telling people what they want to hear Science and technology * Charm quark, a type of elementary particle * Ch ...
* ChucK *
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
** C# * Cobra *
Component Pascal Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the language Pascal and preserves its heritage, but is incompatible with Pascal. Instead, it is a minor var ...
BlackBox Component Builder *
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
*
Cypher Cypher is an alternative spelling for cipher. Cypher may also refer to: Arts and entertainment * Cypher (French Group), a Goa trance music group * Cypher (band), an Australian instrumental band * Cypher (film), ''Cypher'' (film), a 2002 film * C ...
*
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
Object Pascal * eC * ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript ** JScript * Emacs Lisp *
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
*
Harbour A harbor (American English), harbour (British English; see spelling differences), or haven is a sheltered body of water where ships, boats, and barges can be docked. The term ''harbor'' is often used interchangeably with ''port'', which is a ...
* Julia *
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
** Java ** Groovy **
Join Java Join Java is a programming language based on the join-pattern that extends the standard Java programming language with the join semantics of the join-calculus. It was written at the University of South Australia The University of South Aus ...
** X10 *
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
** Clojure **
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
** Dylan ** Logo **
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
*
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
Maude system The Maude system is an implementation of rewriting logic. It is similar in its general approach to Joseph Goguen's OBJ3 implementation of equational logic, but based on rewriting logic rather than order-sorted equational logic, and with a heavy ...
*
Oberon-2 Oberon-2 is an extension of the original Oberon programming language that adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, read-only field export, and reintroduces the FOR loop from Modula-2. ...
– ETH Oberon System * Objective-C * PCASTL * Perl * PHP *
Pico Pico may refer to: Places The Moon * Mons Pico, a lunar mountain in the northern part of the Mare Imbrium basin Portugal * Pico, a civil parish in the municipality of Vila Verde * Pico da Pedra, a civil parish in the municipality of Ribei ...
*
Poplog Poplog is an open source, reflective, incrementally compiled software development environment for the programming languages POP-11, Common Lisp, Prolog, and Standard ML, originally created in the UK for teaching and research in Artificial Intelli ...
**
POP-11 POP-11 is a reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, and recentl ...
* PowerShell * Prolog * Python * REBOL * Red *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby *
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
(pure object-orientation, originally from Xerox PARC) ** F-Script **
Little Smalltalk Little Smalltalk is a non-standard Dialect (computing), dialect and runtime system, a virtual machine referred to as "system", of the Smalltalk-80 programming language implemented by Timothy Budd at University of Arizona in 1984 along with a group ...
** Self ** Squeak **
IBM VisualAge VisualAge is a family of computer integrated development environments from IBM, which supports multiple programming languages. VisualAge was first released in October 1993 and was discontinued April 30, 2007 and its web page removed in September ...
**
VisualWorks VisualWorks is a cross-platform implementation of the Smalltalk language. It is implemented as a development system based on "images", which are dynamic collections of software objects, each contained in a system image. The lineage of VisualWorks ...
* Snobol *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
* Wolfram Language * XOTcl *
X++ X, or x, is the twenty-fourth and third-to-last letter in the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''"ex"'' (pronounced ), ...
* Xojo


Rule-based languages

Rule-based languages instantiate rules when activated by conditions in a set of data. Of all possible activations, some set is selected and the statements belonging to those rules execute. Rule-based languages include: * awk * CLIPS * Claire * Constraint Handling Rules *
Drools Drools is a business rule management system (BRMS) with a forward and backward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm. Drools supports the ...
*
GOAL agent programming language GOAL is an agent programming language for programming cognitive agents. GOAL agents derive their choice of action from their beliefs and goals. The language provides the basic building blocks to design and implement cognitive agents by programmin ...
*
Jess Jess is a unisex given name, often a short form (hypocorism) of Jessica, Jesse, Jessie, etc., and a surname. It may refer to: Given name * Jess Atkinson (born 1961), American football player * Jess Cain (1926–2008), American radio host * Jes ...
*
OPS5 OPS5 is a rule-based or production system computer language, notable as the first such language to be used in a successful expert system, the R1/XCON system used to configure VAX computers. The OPS (said to be short for "Official Production Sy ...
* Prolog *
ToonTalk ToonTalk is a computer programming system intended to be programmed by children. The "Toon" part stands for cartoon. The system's presentation is in the form of animated characters, including robots that can be trained by example. It is one of ...
– robots are rules *
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
* * Wolfram Language


Scripting languages

" Scripting language" has two apparently different, but in fact similar, meanings. In a traditional sense, scripting languages are designed to automate frequently used tasks that usually involve calling or passing commands to external programs. Many complex application programs provide built-in languages that let users automate tasks. Those that are
interpretive __NOTOC__ An interpretive discussion is a discussion in which participants explore and/or resolve interpretations often pertaining to text (literary theory), texts of any medium containing significant ambiguity in meaning. Education Interpretiv ...
are often called scripting languages. Recently, many applications have built-in traditional scripting languages, such as Perl or Visual Basic, but there are quite a few ''native'' scripting languages still in use. Many scripting languages are compiled to bytecode and then this (usually) platform-independent bytecode is run through a virtual machine (compare to
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
). * AngelScript * AppleScript * AutoHotKey * AutoIt * AWK * bc *
BeanShell BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting c ...
*
Bash Bash or BASH may refer to: Arts and entertainment * ''Bash!'' (Rockapella album), 1992 * ''Bash!'' (Dave Bailey album), 1961 * '' Bash: Latter-Day Plays'', a dramatic triptych * ''BASH!'' (role-playing game), a 2005 superhero game * "Bash" ('' ...
* Ch (Embeddable C/C++ interpreter) *
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
** C# (compiled to bytecode, and running JIT inside VM) * CLIST *
ColdFusion Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CF ...
* ECMAScript ** ActionScript **
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
** JavaScript (first named Mocha, then LiveScript) ** JScript ** Source * Emacs Lisp * CMS EXEC * EXEC 2 * F-Script *
Game Maker Language GameMaker (originally Animo, Game Maker ''(until 2011)'' and GameMaker Studio) is a series of cross-platform game engines created by Mark Overmars in 1999 and developed by YoYo Games since 2007. The latest iteration of ''GameMaker'' released i ...
(GML) * GDScript * ICI * Io * JASS * Julia (compiled on the fly to machine code, by default, interpreting also available) *
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
** Groovy **
Join Java Join Java is a programming language based on the join-pattern that extends the standard Java programming language with the join semantics of the join-calculus. It was written at the University of South Australia The University of South Aus ...
* Ksh * Lasso *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
MAXScript Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling cap ...
*
MEL Mel, Mels or MEL may refer to: Biology * Mouse erythroleukemia cell line (MEL) * National Herbarium of Victoria, a herbarium with the Index Herbariorum code MEL People * Mel (given name), the abbreviated version of several given names (including ...
* Object REXX (OREXX, OOREXX) * Oriel *
Pascal Script Pascal Script is a scripting language based on the programming language Pascal that facilitates automated runtime control over scriptable applications and server software. It is implemented by a free scripting engine that includes a compiler and a ...
* Perl * PHP (intended for Web servers) * PowerShell * Python * R * REBOL * Red *
Rexx Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
* Revolution *
Ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
* Ruby *
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...
* sed * Sh *
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
*
Squirrel Squirrels are members of the family Sciuridae, a family that includes small or medium-size rodents. The squirrel family includes tree squirrels, ground squirrels (including chipmunks and prairie dogs, among others), and flying squirrels. Squ ...
* Tea *
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
*
TorqueScript Torque Game Engine, or TGE, is an open-source cross-platform 3D computer game engine, developed by GarageGames and actively maintained under the current versions Torque 3D as well as Torque 2D. It was originally developed by Dynamix for the 2001 ...
* VBScript * WebDNA, dedicated to database-driven websites * Windows PowerShell ( .NET-based CLI) * Winbatch * Many shell command languages such as Unix shell or DIGITAL Command Language (DCL) on VMS have powerful scripting abilities.


Stack-based languages

Stack-based languages are a type of data-structured language that are based on the
stack Stack may refer to: Places * Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group * Blue Stack Mountains, in Co. Donegal, Ireland People * Stack (surname) (including a list of people ...
data structure. *
Beatnik Beatniks were members of a social movement in the 1950s that subscribed to an anti-materialistic lifestyle. History In 1948, Jack Kerouac introduced the phrase "Beat Generation", generalizing from his social circle to characterize the undergr ...
*
Befunge Befunge is a two-dimensional stack-based, reflective, esoteric programming language. It differs from conventional languages in that programs are arranged on a two-dimensional grid. "Arrow" instructions direct the control flow to the left, righ ...
* Canonware Onyx * Factor *
Forth Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
* Joy (all functions work on parameter stacks instead of named parameters) * Piet *
Poplog Poplog is an open source, reflective, incrementally compiled software development environment for the programming languages POP-11, Common Lisp, Prolog, and Standard ML, originally created in the UK for teaching and research in Artificial Intelli ...
via its implementation language
POP-11 POP-11 is a reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, and recentl ...
*
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
* RPL *
S-Lang The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applic ...


Synchronous languages

Synchronous programming languages are optimized for programming reactive systems, systems that are often interrupted and must respond quickly. Many such systems are also called realtime systems, and are used often in embedded systems. Examples: * Argus (programming language), Argus * Averest * Esterel *
Lustre Lustre or Luster may refer to: Places * Luster, Norway, a municipality in Vestlandet, Norway ** Luster (village), a village in the municipality of Luster * Lustre, Montana, an unincorporated community in the United States Entertainment * '' ...
* SIGNAL (programming language), Signal * Céu (programming language)


Shading languages

A shading language is a graphics programming language adapted to programming shader effects. Such language forms usually consist of special data types, like "color" and "normal". Due to the variety of target markets for 3D computer graphics.


Real-time rendering

They provide both higher hardware abstraction and a more flexible programming model than previous paradigms which hardcoded transformation and shading equations. This gives the programmer greater control over the rendering process and delivers richer content at lower overhead. * Adobe Graphics Assembly Language (AGAL) * ARB assembly language (ARB assembly) * OpenGL Shading Language (GLSL or glslang) * High-Level Shading Language (HLSL) or DirectX Shader Assembly Language * PlayStation Shader Language (PSSL) * Metal (API), Metal Shading Language (MSL) * Cg (programming language), Cg * Shining Rock Shading Language (SRSL) * Spark * Nitrous Shading Language * Godot Shading Language


Offline rendering

Shading languages used in offline rendering produce maximum image quality. Processing such shaders is time-consuming. The computational power required can be expensive because of their ability to produce photorealistic results. * RenderMan Shading Language (RSL) * Houdini VEX Shading Language (VEX) * Gelato (software), Gelato Shading Language * Open Shading Language (OSL)


Syntax-handling languages

These languages assist with generating Lexical analysis, lexical analyzers and parsing, parsers for context-free grammars. * ANTLR * Coco/R (EBNF with semantics) * GNU bison (FSF's version of Yacc) * GNU Flex (lexical analyser generator), Flex (FSF version of Lex) * glex/gyacc (GoboSoft compiler-compiler to Eiffel) * lex (software), lex (Lexical Analysis, from Bell Labs) * M4 (computer language), M4 * Parsing expression grammar (PEG) * Prolog * Emacs Lisp *
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
* SableCC *
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
* yacc (yet another compiler-compiler, from Bell Labs) * JavaCC


System languages

The system programming languages are for low-level tasks like memory management or task management. A system programming language usually refers to a programming language used for system programming; such languages are designed for writing system software, which usually requires different development approaches when compared with application software. System software is computer software designed to operate and control the computer hardware, and to provide a platform for running application software. System software includes software categories such as operating systems, utility software, device drivers, compilers, and linkers. Examples of system languages include:


Transformation languages

Transformation languages serve the purpose of transforming (translating) source code specified in a certain formal language into a defined destination format code. It is most commonly used in intermediate components of more complex super-systems in order to adopt internal results for input into a succeeding processing routine. * ATLAS Transformation Language, ATL * AWK * MOFM2T * QVT


Visual languages

Visual programming languages let users specify programs in a two-(or more)-dimensional way, instead of as one-dimensional text strings, via graphic layouts of various types. Some dataflow programming languages are also visual languages. * Analytica * Blockly * Clickteam, Clickteam Fusion * DRAKON * Fabrik (software), Fabrik * G (used in LabVIEW) * Grasshopper 3D, Grasshopper * Lava * Limnor *
Max Max or MAX may refer to: Animals * Max (dog) (1983–2013), at one time purported to be the world's oldest living dog * Max (English Springer Spaniel), the first pet dog to win the PDSA Order of Merit (animal equivalent of OBE) * Max (gorilla) ...
* NXT-G * Pict *
Prograph Prograph is a visual, object-oriented, dataflow, multiparadigm programming language that uses iconic symbols to represent actions to be taken on data. Commercial Prograph software development environments such as Prograph Classic and Prograph CP ...
*
Pure Data Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open-source project with a large d ...
* Quartz Composer * Scratch (written in and based on Squeak, a version of
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
) * Snap! * Simulink * Spreadsheets * Stateflow * Subtext (programming language), Subtext *
ToonTalk ToonTalk is a computer programming system intended to be programmed by children. The "Toon" part stands for cartoon. The system's presentation is in the form of animated characters, including robots that can be trained by example. It is one of ...
* VEE *
VisSim VisSim is a visual block diagram program for simulation of dynamical systems and model-based design of embedded systems, with its own visual language. It is developed by Visual Solutions of Westford, Massachusetts. Visual Solutions was acquired ...
*
Vvvv vvvv ( = "Vau Vier" or "v4") is a general purpose toolkit with a special focus on real-time video synthesis and programming large media environments with physical interfaces, real-time motion graphics, audio and video. vvvv uses a dataflow appro ...
* XOD (programming language), XOD * EICASLAB


Wirth languages

Computer scientist Niklaus Wirth designed and implemented several influential languages. * ALGOL W * Euler (programming language), Euler * Modula **
Modula-2 Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
, Modula-3, variants *** Obliq Modula 3 variant * Oberon (Oberon, Oberon-07, Oberon-2) **
Component Pascal Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the language Pascal and preserves its heritage, but is incompatible with Pascal. Instead, it is a minor var ...
**
Oberon-2 Oberon-2 is an extension of the original Oberon programming language that adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, read-only field export, and reintroduces the FOR loop from Modula-2. ...
*
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
** Object Pascal (umbrella name for
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
, Free Pascal, Oxygene, others)


XML-based languages

These are languages based on or that operate on XML. * Ant *
Cω (pronounced "see omega"; usually written "Cw" or "Comega" whenever the "ω" symbol is not available) is a free extension to the C# programming language, developed by the WebData team in Microsoft SQL Server in collaboration with Microsoft ...
*
ECMAScript for XML ECMAScript for XML (E4X) is the standarprogramming language extension that adds native XML support to ECMAScript (which includes ActionScript, JavaScript, and JScript). The goal is to provide an alternative to DOM interfaces that uses a simpler synt ...
* MXML * OpenLaszlo, LZX * XAML * XPath * XQuery * XProc * eXtensible Stylesheet Language Transformations (XSLT)


See also

* Programming paradigm * IEC 61131-3 – a standard for programmable logic controller (PLC) languages * List of educational programming languages * Esoteric programming language


Notes


References

{{DEFAULTSORT:List Of Programming Languages By Category Lists of programming languages, Array programming languages