SlideShare a Scribd company logo
List of programming languages by type
This is a list of notableprogramming languages, grouped by type.
(Because there is no overarching classification scheme for programming languages, in many cases a language will be listed under
multiple headings.)
Array languages
Assembly languages
Authoring languages
Constraint programming languages
Command line interface languages
Compiled languages
Concurrent languages
Curly-bracket languages
Dataflow languages
Data-oriented languages
Data-structured languages
Decision table languages
Declarative languages
Embeddable languages
In source code
Server side
Client side
In object code
Educational languages
Esoteric languages
Extension languages
Fourth-generation languages
Functional languages
Pure
Impure
Hardware description languages
HDLs for analog circuit design
HDLs for digital circuit design
Imperative languages
Interactive mode languages
Interpreted languages
Iterative languages
Languages by memory management type
Garbage collected languages
Languages with manual memory management
Contents
List-based languages – LISPs
Little languages
Logic-based languages
Machine languages
Macro languages
Textual substitution macro languages
Application macro languages
Metaprogramming languages
Multiparadigm languages
Numerical analysis
Non-English-based languages
Object-oriented class-based languages
Multiple dispatch
Single dispatch
Object-oriented prototype-based languages
Off-side rule languages
Procedural languages
Reflective languages
Rule-based languages
Scripting languages
Stack-based languages
Synchronous languages
Syntax handling languages
Transformation languages
Visual languages
Wirth languages
XML-based languages
See also
References
External links
Array programming(also known as vector or multidimensional) languages generalize operations on scalars to apply transparently to
vectors, matrices, and higher-dimensional arrays.
Assembly languages directly correspond to a machine language (see below) so machine code instructions appear in a form
understandable by humans. Assembly languages let programmers use symbolic addresses, which the assembler converts to absolute
addresses. Most assemblers also supportmacros and symbolic constants.
A+
Analytica
APL
Chapel
Fortran
Freemat
Futhark
GAUSS
J
Julia
K
MATLAB
Octave
Q
R
S
S-Lang
SequenceL
X10
ZPL
IDL
Wolfram Language
Array languages
Assembly languages
An authoring languageis a programming language used to create tutorials, websites, and other interactive computer programs.
Bigwig (web design and development language)
DITA
Lasso
PILOT
TUTOR
A constraint programming language is a declarative programming language where relationships between variables are expressed as
constraints. Execution proceeds by attempting to find values for the variables which satisfy all declared constraints.
Command-line interface(CLI) languages are also called batch languages or job control languages. Examples:
4DOS (extended command-line shell forIBM PCs)
bash (the Bourne-Again shell fromGNU/FSF)
CHAIN (Datapoint)
CLIST (MVS Command List)
CMS EXEC
csh and tcsh (C-like shell fromBill Joy at UC Berkeley)
DCL DIGITAL Command Language – standard CLI language forVMS (DEC, Compaq, HP)
DOS batch language(standard CLI/batch language for theIBM PC running DOS operating systems, popular before
Windows)
EXEC 2
Expect (a Unix automation and test tool)
fish (a Unix shell)
Hamilton C shell(a C shell for Windows)
JCL (punch card-oriented batch control language forIBM System/360family mainframes)
ksh (a standardUnix shell, written byDavid Korn)
Rc (command-line shell forPlan 9)
REXX
sh (the standardUnix shell, written byStephen R. Bourne)
TACL (Tandem Advanced Command Language)
Windows batch language(Windows batch file language as understood byCOMMAND.COMand CMD.EXE)
Windows PowerShell(Microsoft .NET-based CLI)
zsh (a Unix shell)
These are languages typically processed by compilers, though theoretically any language can be compiled or interpreted. See also
compiled language.
ActionScript
Ada (multi-purpose language)
ALGOL (extremely influential language design – the
second high level language compiler)
SMALL Machine Algol Like Language
Ateji PX, an extension of the Java language for
parallelism
BASIC (some dialects, including the first version of
Dartmouth BASIC)
BCPL
Blue
Authoring languages
Constraint programming languages
Command line interface languages
Compiled languages
Message passinglanguages provide language constructs for concurrency. The predominant paradigm for concurrency in mainstream
languages such as Java is shared memory concurrency based on monitors. Concurrent languages that make use of message passing
have generally been inspired byCSP or the π-calculus, but have had little commercialsuccess, except for Ada, Erlang and Elixir. Ada
is a multipurpose language and concurrent programming is only one option available.
Ada (multi-purpose language)
Alef – concurrent language with threads and message passing, used for systems programming in early versions of
Plan 9 from Bell Labs
Ateji PX an extension of the Java language for parallelism
ChucK – domain specific programming language for audio, precise control over concurrency and timing
Cilk – a concurrentC
C (one of the most widely used procedural
programming languages)
C++ (One of the most widely used object-oriented
(OO) languages specially used in large-scale, highly
complex, high-performance software systems)
C# (compiled intoCIL, which generates a native
image at runtime)
Ceylon (compiled intoJVM bytecode)
CHILL
CLIPPER 5.3(programming Language for DOS-based
software)
CLEO (Clear Language for Expressing Orders) used
the compiler for the BritishLeo computers
COBOL
Cobra
Common Lisp
Crystal
Curl
D (Attempts a "C++ done right" philosophy)
DASL compiles into Java, JavaScript, JSP, Flex, etc.,
which are further compiled into a .war file
Delphi (Borland's Object Pascal development system)
DIBOL (Digital Interactive Business Oriented
Language)
Dylan
eC
Eiffel (object-oriented language developed byBertrand
Meyer)
Sather
Ubercode
Emacs Lisp
Erlang
F# (compiled intoCIL, which generates a native image
at runtime)
Factor
Forth (professional systems, like VFX and SwiftForth)
Fortran (the first high-level, compiled language, from
IBM, John Backus, et al.)
GAUSS
Go
Gosu (compiled intoJVM bytecode)
Groovy (compiled intoJVM bytecode)
Haskell
Harbour
Java (usually compiled intoJVM bytecode although
ahead-of-time (AOT) compilers exist that compile to
machine code)
JOVIAL
LabVIEW
Mercury
Nemerle (compiled into intermediate language
bytecode)
Nim
Objective-C
P
Pascal (most implementations)
Plus
Python (compiled into intermediateVirtual Machine
bytecode)
RPG (Report Program Generator)
Rust
Scala (compiled intoJVM bytecode)
Scheme (some implementations, e.g. Gambit)
SequenceL – purely functional, automatically
parallelizing and race-free
Simula (the first object-oriented language, developed
by Ole-Johan Dahland Kristen Nygaard)
Smalltalk generally compiled to platform independent
bytecode that runs on a Virtual Machine
Swift
ML
Standard ML(SML)
Alice
OCaml
Turing
Vala (Compiler for the GObject type system)
Visual Basic (Earlier versions compiled directly to a
native runtime. Recent .NET versions compile intoCIL
that is just-in-time compiled into a native image at
runtime.)
Visual FoxPro
Visual Prolog
X++
X#
XL
Z++
Concurrent languages
Cω – C Omega, a research language extending C#, uses asynchronous communication
Clojure – a dialect ofLisp for the Java virtual machine
Chapel
Co-array Fortran
Concurrent Pascal(by Brinch-Hansen)
Curry
E – uses promises, ensures deadlocks cannot occur
Eiffel (through theSCOOP mechanism, Simple Concurrent Object-Oriented Computation)
Elixir (runs on the Erlang VM)
Erlang – uses asynchronous message passing with nothing shared
Go
Java
Join Java – concurrent language based on Java
X10
Julia
Join-calculus
Joule – dataflow language, communicates by message passing
Limbo – relative ofAlef, used for systems programming inInferno (operating system)
MultiLisp – Scheme variant extended to support parallelism
occam – influenced heavily byCommunicating Sequential Processes(CSP)
occam-π – a modern variant ofoccam, which incorporates ideas from Milner'sπ-calculus
Orc
Oz – multiparadigm language, supports shared-state and message-passing concurrency, and futures, and Mozart
Programming Systemcross-platformOz
P
Pony
Pict – essentially an executable implementation of Milner'sπ-calculus
Rust – actor-based
SALSA – actor language with token-passing, join, and first-class continuations for distributed computing over the
Internet
Scala – implements Erlang-styleactors on the JVM
SequenceL – purely functional, automatically parallelizing and race-free
SR – research language
Unified Parallel C
XProc – XML processing language, enabling concurrency
The curly-bracket or curly-brace programming languages have a syntax that defines statement blocks using the curly bracket or
brace characters { and }. This syntax originated with BCPL (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
Limbo
Go
AutoHotkey
AWK
B
bc
BCPL
C – developed circa 1970 atBell Labs
C++
C#
Ceylon
ChucK – audio programming language
Cilk – concurrent C for multithreaded parallel
programming
COFFEE
Cyclone – a safer C variant
D
Dart
DASL – based on Java
E
eC
Curly-bracket languages
Dataflow programminglanguages 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:
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:
Data-structured languagesare those where logic is structured in ways similar to their data. Such languages are generally well suited
to reflection and introspection. There are three main types:
Array-based
List-based
ECMAScript
ActionScript
ECMAScript for XML
JavaScript
JScript
TypeScript
GML (Game Maker Language)
GLSL
ICI
Java
Processing
Groovy
Join Java
Kotlin
Tea
X10
LPC
MSL
MEL
Nemerle – combines C# and ML features, provides
syntax extension abilities
PCASTL
Perl
PHP
Pico
Pike
R
Rust
S-Lang
Scala
sed
SuperCollider
Swift
UnrealScript
Windows PowerShell(Microsoft .NET-based CLI)
Yorick
Analytica
BMDFM
Hartmann pipelines
G (used in LabVIEW)
Lucid
Max
Oz
Prograph
Pure Data
Reaktor
StreamBase StreamSQL EventFlow
VEE
VHDL
VisSim
WebMethods Flow
Ballerinalang
Swift
Clarion
Clipper
dBase a relational database access language
MUMPS (an ANSI standard general purpose language
with specializations for database work)
Caché (similar to MUMPS)
RDQL
SPARQL
SQL
Tutorial D – see also The Third Manifesto
Visual FoxPro– a native RDBMS engine, object-
oriented, RAD
WebDNA
WebQL
Wolfram Language
Dataflow languages
Data-oriented languages
Data-structured languages
Stack-based
Assembly languagesthat statically link data inline with instructions can also be considered data-structured, in the most primitive way.
Decision tablescan 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
Declarative languagesdescribe a problem rather than defining a solution. Declarative programmingstands in contrast to imperative
programming via imperative programming languages, where serial orders (imperatives) are given to a computer. In addition to the
examples given just below, all (pure) functional and logic-based programming languages are also declarative. In fact, "functional"
and "logical" constitute the usual subcategories of the declarative category.
Analytica
Ant (partially declarative languages, partially imperative programming)
DASL (partially declarative languages, partially imperative programming)
ECL (data-centric programming language)
Lustre
Mercury
MetaPost
Modelica
Prolog
QML
Oz
RDQL
SequenceL – purely functional, automatically parallelizing and race-free
SPARQL
SQL
Wolfram Language
xBase
XSL Transformations
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.
PHP
VBScript
Decision table languages
Declarative languages
Embeddable languages
In source code
Server side
SMX – dedicated to web pages
Tcl – server-side inNaviServer 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 and
Ruby can be adapted (for instance, by being made intoApache modules).
ActionScript
JavaScript (aka ECMAScript or JScript)
VBScript (Windows only)
A wide variety of dynamic or scripting languages can be embedded in compiled executable code. Basically, object code for the
language'sinterpreterneeds to be linked into the executable.Source code fragments for the embeddedlanguage can then be passed to
an evaluation function as strings. Application control languages can be implementedthis way, if the source code is input by the user.
Languages with small interpreters are preferred.
Languages developed primarily for the purpose of teaching and learning of programming.
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.
Extension programming languagesare languages embedded into another program and used to harness its features in extension scripts.
Ateji PX – an extension of the Java language for parallelism
AngelScript
Ch
EEL
Io
Julia
Lua
MiniD
Python
Ruby (via mruby)
Squirrel
Tcl
Alice
Blockly
Blue
COMAL
Elan
Logo
KTurtle
Modula-2
Pascal
Scheme
Scratch
Snap!
Turing
Wolfram Language
Beatnik
Befunge
Brainfuck
Chef
INTERCAL
LOLCODE
Malbolge
Piet
Shakespeare
Whitespace
Client side
In object code
Educational languages
Esoteric languages
Extension languages
AutoLISP (specific toAutoCAD)
BeanShell
CAL
C/AL(C/SIDE)
Guile
Emacs Lisp
JavaScript and some dialects (e.g.JScript)
Lua – e.g. embedded in many games
OpenCL – an extension of C and C++ to use the GPU and parallel extensions of the CPU
OptimJ – an extension of the Java programming language with language support for writing optimization models and
powerful abstractions for bulk data processing
Perl
Pike
Python (embedded in Maya, Blender and other 3-D animation packages)
REXX
Ruby (Google SketchUp)
S-Lang
SQL
Squirrel
Tcl
Vim script
VBA
Windows PowerShell
Fourth-generation programming languages are high-level languages built around database systems. They are generally used in
commercial environments.
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:
ABAP
CorVision
CSC's GraphTalk
Easytrieve report generator (now CA-Easytrieve Plus)
FOCUS
IBM Informix-4GL
LINC 4GL
MAPPER (Unisys/Sperry) – now part of BIS
MARK-IV (Sterling/Informatics) now VISION:BUILDER
of CA
Progress 4GL
LiveCode (not based on a database; still, the goal is to
work at a higher level of abstraction than 3GLs)
SAS
Ubercode (VHLL, or Very High Level Language)
Uniface
Visual DataFlex
Visual FoxPro
xBase
Agda
Charity
Clean
Coq (Gallina)
Curry
Elm
Frege
Futhark
Haskell
Hope
Idris
Joy
Mercury
Miranda
Owl Lisp
Purescript
QML
KRC
SAC
SASL
SequenceL
Fourth-generation languages
Functional languages
Pure
In electronics, aHardware description languageor HDL is a specializedcomputer 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 areVerilog and VHDL. Hardware description languages include:
Verilog-AMS (Verilog for Analog and Mixed-Signal)
VHDL-AMS(VHDL with Analog/Mixed-Signal extension)
APL
ATS
CAL
C++ (since C++11)
C#
Ceylon
D
Dart
Curl
ECMAScript
ActionScript
ECMAScript for XML
JavaScript
JScript
Erlang
Elixir
LFE
F#
FPr
Groovy
Hop
J
Java (since version 8)
Julia
Kotlin
Lisp
Clojure
Common Lisp
Dylan
Emacs Lisp
LFE
Little b
Logo
Scheme
Racket (formerly PLT Scheme)
Tea
Mathematica
ML
Standard ML(SML)
Alice
OCaml
Nemerle
Nim
Opal
OPS5
Python
Q (equational programming language)
Q (programming language from Kx Systems)
R
Red
Ruby
REFAL
Rust
Scala
Spreadsheets
Wolfram Language
Advanced Boolean Expression Language(ABEL)
Altera Hardware Description Language(AHDL)
Bluespec
Confluence
ELLA
ESys.net
Handel-C
HHDL
Impulse C
JHDL
Lava
Lola
M
MyHDL
Impure
Hardware description languages
HDLs for analog circuit design
HDLs for digital circuit design
Imperative programming languages may be multi-paradigm and appear in other classifications. Here is a list of programming
languages that follow theimperative paradigm:
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 known as aREPL (read–eval–print loop).
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
commonly interpreted rather than compiled.
PALASM
Ruby (hardware description language)
SystemC
SystemVerilog
Verilog
VHDL (VHSIC HDL)
Ada
ALGOL
BASIC
Blue
C
C++
C#
Ceylon
CHILL
COBOL
D
eC
FORTRAN
GAUSS
Go
Groovy
Java
Julia
Lua
MATLAB
Machine language
Modula-2, Modula-3
MUMPS
Nim
Oberon
Object Pascal
OCaml
Pascal
Perl
PHP
PROSE
Python
Ruby
Rust
Swift
Wolfram Language
APL
BASIC (some dialects)
Clojure
Common Lisp
Dart (with Observatory or Dartium's developer tools)
Erlang
Elixir (with iex)
F#
Forth
FPr
Fril
GAUSS
Groovy
Haskell (with the GHCi or Hugs interpreter)
IDL
J
JavaScript (using command line tools like Node.js or
Rhino or the developer tools built into web browsers
like Firefox or Chrome)
Julia
Lua
MUMPS (an ANSI standard general purpose
language)
Maple
Mathematica(Wolfram language)
MATLAB
ML
OCaml
Perl
Pike
PostScript
Prolog
Python
PROSE
R
REXX
Ruby (with IRB)
Scala
Scheme
Smalltalk (anywhere in a Smalltalk environment)
S-Lang (with the S-Lang shell, slsh)
Swift
Tcl (with the Tcl shell, tclsh)
Unix shell
Windows PowerShell(Microsoft .NET-based CLI)
Visual FoxPro(Microsoft)
Imperative languages
Interactive mode languages
Interpreted languages
Iterative languages are built around or offering generators.
C#
Erlang
Go
Java
JavaScript
Lisp (originator)
Arc
Clojure
Common Lisp
Ant
APL
AutoHotkeyscripting language
AutoIt scripting language
BASIC (some dialects)
DATABUS (later versions added optional compiling)
DM
Eiffel (via "Melting Ice Technology" inEiffelStudio)
Forth (interactive shell only; otherwise compiled to
native or threaded code)
FPr (Virtual machine: Text is compiled to linked lists;
linked lists are interpreted)
Game Maker Language
Groovy
Haskell (GHCi, Hugs, NHC, YHC etc.)
J
Julia (Compiled on the fly tomachine code, but a
transpiler Julia2C is also available.)
JavaScript
Lisp (Early versions, pre-1962, and some
experimental ones; production Lisp systems are
compilers, but many of them still provide an interpreter
if needed.)
Tea
LPC
Lua
MUMPS (an ANSI standard general purpose
language)
Maple
Mathematica
MATLAB
Oriel
Pascal (early implementations)
PCASTL
Perl
PHP
Pikt
PostScript
PROSE
Python
REXX
R
Ruby
S-Lang
Standard ML(SML)
Spin
Tcl
TI-BASIC
TorqueScript
thinBasic scripting language
VBScript
Windows PowerShell(Microsoft .NET-based CLI)
Wolfram Language
Some scripting languages (below)
Aldor
Alphard
C#
CLU
Cobra
Eiffel, through "agents"
Icon
IPL-v
Julia
Lua
Nim
PHP
Python
Sather
XL ("iterator" construct)
Iterative languages
Languages by memory management type
Garbage collected languages
Common Lisp
Dylan
Emacs Lisp
Racket
Scheme
Logo
Lua
ML
Standard ML(SML)
Alice
OCaml
Python
Smalltalk
Ada
C
C++
Fortran
Pascal
Rust
List-based languages are a type ofdata-structured languagethat are based upon thelist data structure.
Little languagesserve a specialized problem domain.
awk – can serve as a prototyping language forC (shares similar syntax)
Comet – used to solve complex combinatorialoptimizationproblems in areas such asresource allocationand
scheduling
sed – parses and transforms text
SQL – has only a few keywords, and not all the constructs needed for a full programming language[1] – many
database management systems extend SQL with additional constructs as astored procedurelanguage
Logic-basedlanguages specify a set of attributes that a solution must have, rather than a set of steps to obtain a solution. Examples:
ALF
Lisp
Arc
Clojure
Common Lisp
Dylan
Emacs Lisp
Racket
Scheme
Shen
Logo
FPr
Joy
R
Tcl
Tea
TRAC
Languages with manual memory management
List-based languages – LISPs
Little languages
Logic-based languages
Alma-0
CLACL (CLAC-Language)
Curry
Fril
Janus
λProlog (a logic programming language featuring polymorphic typing, modular programming, and higher-order
programming)
Leda
Oz, and Mozart Programming Systemcross-platformOz
Prolog (formulates data and the program evaluation mechanism as a special form of mathematical logic calledHorn
logic and a general proving mechanism calledlogical resolution)
Mercury (based on Prolog)
Strawberry Prolog(standard Prolog with some extensions)
Visual Prolog(object-oriented Prolog extension)
ROOP
Machine languagesare directly executable by a computer's CPU. They are typically formulated as bit patterns, usually representedin
octal or hexadecimal. 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-languagecode 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, is also defined by the
developer, in most cases. Some commonly used machine codeinstruction setsare:
ARM
Original 32-bit
16-bit Thumb instructions (subset or registers
used)
64-bit (major architecture change, more registers)
DEC PDP-6/PDP-10/DECSYSTEM-20
DEC PDP-11 (influenced VAX and M68000)
DEC VAX
DEC Alpha
Intel 8008, 8080 and 8085
Zilog Z80
x86:
16-bit x86, first used in the Intel 8086
Intel 8086 and 8088 (the latter was used in the
first and earlyIBM PC)
Intel 80186
Intel 80286 (the first x86 processor with
protected mode, used in theIBM AT)
IA-32, introduced in the80386
x86-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 System/360and successors, including
z/Architecture
MIPS
Motorola 6800
Motorola 68000 family(CPUs used in earlyApple
Macintosh and early Sun computers)
MOS Technology 65xx
6502 (CPU for VIC-20, Apple II, and Atari 800)
6510 (CPU for Commodore 64)
Western Design Center65816/65802(CPU for
Apple IIGS and (variant)Super Nintendo
Entertainment System)
National NS320xx
Power Architecture
POWER, first used in theIBM RS/6000
PowerPC – used in Power Macintoshand the
technology is used in many older generationgame
consoles
Sun, Oracle SPARC
MCST Elbrus 2000
Machine languages
Macro languages
Macro languages transform one source code file into another. A "macro" is essentially a short piece of text that expands into a longer
one (not too be confused with hygienic macros), possibly with parameter substitution.They are often used to preprocesssource code.
Preprocessors can also supply facilities likefile 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 likePHP, which are fully featured.
cpp (the C preprocessor)
m4 (originally from AT&T, bundled with Unix)
ML/I (general purpose macro processor)
Scripting languages such as Tcl and ECMAScript (ActionScript, ECMAScript for XML, JavaScript, JScript) have been embedded
into applications. These are sometimes called "macro languages", although in a somewhat different sense to textual-substitution
macros likem4.
Metaprogrammingis the writing of programs that write or manipulate other programs (or 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.
Multiparadigm languagessupport more than one programming paradigm. They allow a program 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.
Ada (concurrent, distributed, generic (template metaprogramming), imperative, object-oriented(class-based))
ALF (functional, logic)
Alma-0 (constraint, imperative, logic)
APL (functional, imperative, object-oriented (class-based))
BETA (functional, imperative, object-oriented (class-based))
C++ (generic, imperative, object-oriented (class-based), functional)
C# (generic, imperative, object-oriented (class-based), functional, declarative)
C++
Curl
D
eC
Elixir
Forth
F#
Groovy
Haskell
Julia
Lisp
Lua
Maude system
Mathematica
MetaOCaml
Nemerle
Nim
Perl
Python
Ruby
Rust
Scheme
SequenceL
Smalltalk
Wolfram Language
XL (concept programming)
Textual substitution macro languages
Application macro languages
Metaprogramming languages
Multiparadigm languages
Ceylon (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(functional, imperative, object-oriented (class-based),aspect-oriented(user may add further
paradigms, e.g., logic))
Curl (functional, imperative, object-oriented (class-based), metaprogramming)
Curry (concurrent, functional, logic)
D (generic, imperative, functional, object-oriented (class-based), metaprogramming)
Delphi (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
JavaScript
JScript
Eiffel (imperative, object-oriented (class-based), generic, functional (agents), concurrent (SCOOP))
F# (functional, generic, object-oriented (class-based), language-oriented)
Fantom (functional, object-oriented (class-based))
FPr (function-level, object-oriented (class-based))
Go (imperative, procedural),
Groovy (functional, object-oriented (class-based),imperative,procedural)
Harbour
Hop
J (functional, imperative, object-oriented (class-based))
Julia (imperative,multiple dispatch("object-oriented"), functional, metaprogramming)
LabVIEW (dataflow, visual)
Lava (object-oriented (class-based), visual)
Leda (functional, imperative, logic, object-oriented (class-based))
Lua (functional, imperative, object-oriented (prototype-based))
Mercury (functional, logical, object-oriented)
Metaobject protocols(object-oriented (class-based, prototype-based))
Nemerle (functional, object-oriented (class-based), imperative, metaprogramming)
Objective-C(imperative, object-oriented (class-based), reflective)
OCaml (functional, imperative, object-oriented (class-based))
Oz (functional (evaluation:eager, lazy), logic, constraint, imperative, object-oriented (class-based), concurrent,
distributed), and Mozart Programming Systemcross-platformOz
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)
Pike
Prograph (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 (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 (imperative, logic, object-oriented (class-based), rule-based)
Ruby (imperative, functional, object-oriented (class-based), metaprogramming)
Rust (concurrent, functional, imperative)
Scala (functional, object-oriented)
Seed7 (imperative, object-oriented, generic)
SISAL (concurrent, dataflow, functional)
Spreadsheets(functional, visual)
Swift (protocol-oriented, object-oriented, functional, imperative, block-structured)
Tcl (functional, imperative, object-oriented (class-based))
Tea (functional, imperative, object-oriented (class-based))
Windows PowerShell(functional, imperative, pipeline, object-oriented (class-based))
Wolfram Language
XL (concept programmingapproach)
ARLOGO – Arabic
Chinese BASIC– Chinese
Fjölnir – Icelandic
Language Symbolique d'Enseignement– French
Lexico – Spanish
Rapira – Russian
ezhil-Tamil
Class-based Object-oriented programming languages support objects defined by their class. Class definitions include member data.
Message passingis a key concept (if notthe key concept) in Object-oriented languages.
Polymorphic functions parameterizedby the class of some of their arguments are typically called methods. 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 wheresingle dispatchmethods aregeneric functions(e.g. Bigloo's object system).
AIMMS
AMPL
Analytica
GAUSS
GAMS
Julia
Klerer-May System
Mathematica
MATLAB
PROSE
R
Seneca – an Oberon variant
Wolfram Language
Common Lisp Cecil Dylan Julia
ActionScript 3.0
Actor
Ada 95 and Ada 2005 (multi-purpose language)
APL
BETA
Blue
C++
C#
Ceylon
Oxygene (formerly known as Chrome)
ChucK
Cobra
ColdFusion
Curl
D
DASL
Delphi
E
GNU E
eC
Numerical analysis
Non-English-based languages
Object-oriented class-based languages
Multiple dispatch
Single dispatch
Prototype-based languagesare object-oriented languages where the distinction between classes and instances has been removed:
Off-side rulelanguages are those where blocks are formed, indicated, by their indentation.
Eiffel
Sather
Ubercode
F-Script
Fortran 2003
Fortress
FPr
Gambas
Game Maker Language
Harbour
J
Java
Processing
Groovy
Join Java
Tea
X10
LabVIEW
Lava
Lua
Modula-2 (data abstraction, information hiding, strong
typing, full modularity)
Modula-3 (added more object-oriented features to
Modula-2)
Nemerle
IBM NetRexx
Oberon-2 (full object-orientation equivalence in an
original, strongly typed, Wirthian manner)
Object Pascal
Object REXX
Objective-C(a superset of C adding aSmalltalk
derived object model and message passing syntax)
OCaml
Oz, Mozart Programming System
Perl 5
PHP
Pike
Prograph
Python (interpretive language, optionally object-
oriented)
Realbasic
Revolution (programmer does not get to pick the
objects)
Ruby
Scala
Simula (the first object-oriented language, developed
by Ole-Johan Dahland Kristen Nygaard)
Smalltalk (pure object-orientation, developed atXerox
PARC)
Bistro
F-Script
Little Smalltalk
Squeak
Scratch
IBM VisualAge
VisualWorks
SPIN
SuperCollider
VBScript (Microsoft Office 'macro scripting' language)
Visual DataFlex
Visual FoxPro
Visual Prolog
X++
XOTcl
ABCL/1
ABCL/R
ABCL/R2
ABCL/c plus
Agora
Cecil
ECMAScript
ActionScript
ECMAScript for XML
JavaScript (first namedMocha, then LiveScript)
JScript
Etoys in Squeak
Io
Lisaac
Lua
MOO
NewtonScript
Obliq
R
REBOL
RED
Self (the first prototype-based language, derived from
Smalltalk)
TADS
ISWIM, the abstract language that introduced the rule
Object-oriented prototype-based languages
Off-side rule 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:
ABC, Python's parent
Python
Cobra
Boo
Genie
Miranda, Haskell's parent
Orwell
Haskell
Curry
Elixir (, do: blocks)
F#
Nim
Occam
SPIN
XL
Ada (multi-purpose language)
ALGOL (extremely influential language design – the
second high level language compiler)
SMALL Machine Algol Like Language
Alma-0
BASIC (BASICs are innocent of most modularity in
(especially) versions before about 1990)
BCPL
BLISS
Blue
C
C++ (C with objects plus much else, such as, generics
through STL)
C# (similar to Java/C++)
Ceylon
CHILL
ChucK (C/Java-like syntax, with new syntax elements
for time and parallelism)
COBOL
Cobra
ColdFusion
Combined Programming Language(CPL)
Curl
D
DASL (partly declarative, partly imperative)
eC
ECMAScript
ActionScript
ECMAScript for XML
JavaScript (first namedMocha, then LiveScript)
JScript
Eiffel
Fortran (better modularity in later Standards)
F
GAUSS
Go
Harbour
HyperTalk
Java
Groovy
Join Java
Tea
JOVIAL
Julia
Lasso
Modula-2 (fundamentally based on modules)
Mathematica
MATLAB
MUMPS (More modular in its first release than a
language of the time should have been; The standard
has become still more modular since then.)
Nemerle
Nim
Oberon and Oberon-2(improved, smaller, faster, safer
follow-ons for Modula-2)
Component Pascal
Lagoona
Seneca
Occam
Oriel
Pascal (successor to ALGOL 60, predecessor of
Modula-2)
Free Pascal(FPC)
Object Pascal(Delphi)
PCASTL
Perl
Pike
PL/C
PL/I (large general purpose language, originally for
IBM mainframes)
Plus
PROSE
Python
R
Rapira
RPG (available only inIBM's System i midrange
computers)
Procedural languages
Reflective languageslet programs examine and possibly modify their high level structure at runtime. This is most common in high-
level virtual machine programming languages like Smalltalk, and less common in lower-level programming languages like C.
Languages and platforms supporting reflection:
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:
Rust
S-Lang
VBScript
Visual Basic
Visual FoxPro
Wolfram Language
X++
X#
XL
Befunge
C#
Ceylon
Charm
ChucK
Cobra
Component PascalBlackBox Component Builder
Curl
Delphi
eC
ECMAScript
ActionScript
ECMAScript for XML
JavaScript
JScript
Eiffel
Forth
Harbour
Java
Java virtual machine
Groovy
Join Java
X10
Julia
Lisp
Clojure
Common Lisp
Dylan
Logo
Scheme
Lua
Maude system
.NET FrameworkCommon Language Runtime
Oberon-2 – ETH Oberon System
Objective-C
PCASTL
Perl
PHP
Pico
Poplog
POP-11
Prolog
Python
REBOL
RED
Ruby
Smalltalk (pure object-orientation, originally from
Xerox PARC)
Bistro
F-Script
Little Smalltalk
Self
Squeak
IBM VisualAge
VisualWorks
Snobol
Tcl
Wolfram Language
XOTcl
X++
XL
awk
CLIPS
Constraint Handling Rules
Drools
GOAL agent programming language
Jess
OPS5
Prolog
ToonTalk – robots are rules
Mathematica
XSLT
Wolfram Language
Reflective languages
Rule-based 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 are often called scripting
languages.
Recently, many applications have built-in traditional scripting languages, such asPerl 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 toJava virtual machine).
Stack-based languages are a type ofdata-structured languagethat are based upon thestack data structure.
Synchronous programminglanguages are optimized for programming reactive systems, systems that are often interrupted and must
respond quickly. Many such systems are also calledrealtime systems, and are used often inembedded systems. Examples:
Argus
Averest
AppleScript
AWK
BeanShell
Bash
Ch (Embeddable C/C++ interpreter)
CLIST
ColdFusion
ECMAScript
ActionScript
ECMAScript for XML
JavaScript (first namedMocha, then LiveScript)
JScript
CMS EXEC
EXEC 2
F-Script
Falcon
Game Maker Language(GML)
ICI
Io
JASS
Groovy
Join Java
Julia (still, compiled on the fly tomachine code)
Lasso
Lua
MAXScript
MEL
Oriel
Perl
PHP (intended for Web servers)
Pikt
Python
R
REBOL
RED
REXX
Revolution
Ruby
Smalltalk
S-Lang
sed
Tea
Tcl
TorqueScript
VBScript
WebDNA, dedicated to database-driven websites
Windows PowerShell(Microsoft .NET-based CLI)
Winbatch
Many shell command languages such as theUnix
shell or DCL on VMS have powerful scripting abilities.
Beatnik
colorForth
Factor
Forth
Joy (all functions work on parameter stacks instead of
named parameters)
Piet
Poplog via its implementation languagePOP-11
PostScript
RPL
S-Lang
Scripting languages
Stack-based languages
Synchronous languages
Esterel
Lustre
SyncCharts
These languages assist with generatinglexical analyzersand parsers for Context-free grammars.
ANTLR
Coco/R (EBNF with semantics)
GNU bison (FSF's version of Yacc)
GNU Flex (FSF's version of Lex)
glex/gyacc (GoboSoft compiler compiler to Eiffel)
lex (Lexical Analysis, from Bell Labs)
M4
yacc (yet another compiler compiler, from Bell Labs)
JavaCC
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 programminglanguages are also visual languages.
Computer scientistNiklaus Wirth designed and implemented several influential languages.
Analytica
Blockly
CODE
DRAKON
Fabrik
G (used in LabVIEW)
Lava
Limnor
Max
NXT-G
Pict programming language
Prograph
Pure Data
Quartz Composer
Scratch (written in and based onSqueak, a version of
Smalltalk)
Snap!
Simulink
Spreadsheets
Subtext
ToonTalk
VEE
VisSim
vvvv
EICASLAB
ALGOL W
Euler
Modula
Modula-2 (and Modula 3, etc. variants)
Obliq Modula 3 variant
Oberon (Oberon, Oberon-07, and Oberon-2)
Component Pascal
Lagoona
Oberon-2
Pascal
Object Pascal("umbrella" name forDelphi, Free
Pascal, Oxygene and others)
Syntax handling languages
Transformation languages
Visual languages
Wirth languages
XML-based languages
These are languages based on or that operate onXML.
Programming paradigms
IEC 61131-3– a standard forPLC programming languages
Educational programming language
Esoteric programming language
1. The objects of SQL are collections of records, called tables. A full programming language can specify algorithms,
irrespective of runtime. Thus an algorithm can be considered to generate usable results. In contrast, SQL can only
select records which are limited to the current collection, the data at hand in the system, rather than produce a
statement of the correctness of the result.
Categories of programming languages– content of this page pivoted by language
Retrieved from "https://en.wikipedia.org/w/index.php?title=List_of_programming_languages_by_type&oldid=821985666"
This page was last edited on 23 January 2018, at 19:37.
Text is available under theCreative Commons Attribution-ShareAlike License; additional terms may apply. By using this
site, you agree to theTerms of Useand Privacy Policy. Wikipedia® is a registered trademark of theWikimedia
Foundation, Inc., a non-profit organization.
Ant
Cω
ECMAScript for XML
MXML
LZX
XAML
XPath
XQuery
XProc
XSLT
See also
References
External links

More Related Content

What's hot (20)

PPTX
Evolution of Computer Languages
Electro Computer Warehouse
 
KEY
Evolution of Programming Languages
Sayanee Basu
 
PPTX
Introduction to C Language
Tarun Sharma
 
PPSX
Compilers
Jayanga V. Liyanage
 
PPTX
Introduction to c language
BAKRANIYA KALPESH
 
PPTX
introduction to c language
Rai University
 
PPTX
Introduction to C Language
Kamal Acharya
 
PPSX
Introductionto .netframework by Priyanka Pinglikar
PriyankaPinglikar
 
PPTX
Java vs .net
Tech_MX
 
PDF
Turbo C Compiler Reports
Sunil Kumar R
 
PPTX
A Comparison of .NET Framework vs. Java Virtual Machine
Abdelrahman Hosny
 
PDF
WEB PROGRAMMING UNIT V BY BHAVSINGH MALOTH
Bhavsingh Maloth
 
PPT
COMPUTER LANGUAGES AND THERE DIFFERENCE
Pavan Kalyan
 
PPTX
Overview new programming languages
umoren
 
PPT
Net framework
mayankingeniar
 
PDF
Programming Language Selection
Dhananjay Nene
 
PDF
Compiler Construction | Lecture 17 | Beyond Compiler Construction
Eelco Visser
 
PPT
Introduction to java new
Gursimranjot singh dhiman
 
PPTX
Presentation1
kpkcsc
 
PPTX
Introduction to .net FrameWork by QuontraSolutions
Quontra Solutions
 
Evolution of Computer Languages
Electro Computer Warehouse
 
Evolution of Programming Languages
Sayanee Basu
 
Introduction to C Language
Tarun Sharma
 
Introduction to c language
BAKRANIYA KALPESH
 
introduction to c language
Rai University
 
Introduction to C Language
Kamal Acharya
 
Introductionto .netframework by Priyanka Pinglikar
PriyankaPinglikar
 
Java vs .net
Tech_MX
 
Turbo C Compiler Reports
Sunil Kumar R
 
A Comparison of .NET Framework vs. Java Virtual Machine
Abdelrahman Hosny
 
WEB PROGRAMMING UNIT V BY BHAVSINGH MALOTH
Bhavsingh Maloth
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
Pavan Kalyan
 
Overview new programming languages
umoren
 
Net framework
mayankingeniar
 
Programming Language Selection
Dhananjay Nene
 
Compiler Construction | Lecture 17 | Beyond Compiler Construction
Eelco Visser
 
Introduction to java new
Gursimranjot singh dhiman
 
Presentation1
kpkcsc
 
Introduction to .net FrameWork by QuontraSolutions
Quontra Solutions
 

Similar to List of programming_languages_by_type (20)

PPTX
Why-Kotlin definition to understand the use of kotin
sumanneupane23
 
PPTX
Programming landuages
NataliaVasjuka
 
ODP
Programming languages
Dmitry Zinoviev
 
PDF
2 Programming Language.pdf
KINGZzofYouTube
 
DOCX
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
DOCX
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
PDF
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
PDF
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
PPTX
PYTHON FUNDAMENTALS OF COMP.pptx
shalini s
 
PPTX
Programming And Programming languages.pptx
Rohan Basnet
 
PDF
A Short Communication On Computer Programming Languages In Modern Era
Katie Naple
 
DOC
Grade 8: Introduction To Java
nandanrocker
 
PDF
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Professor Lili Saghafi
 
PPT
Grade 10 introduction and history of programming
Rafael Balderosa
 
PDF
Programming Languages Lectures Slides Oscar Nierstrasz
nytunnefelh74
 
PPTX
History of Computer Programming Languages.pptx
AliAbbas906043
 
PPTX
P1 2018 python
Prof. Wim Van Criekinge
 
PPT
computer languages
Rajendran
 
PPTX
Introduction to programming
Gwyneth Calica
 
PDF
A History of Computer Programming Languages.pdf
Sohaib Roomi
 
Why-Kotlin definition to understand the use of kotin
sumanneupane23
 
Programming landuages
NataliaVasjuka
 
Programming languages
Dmitry Zinoviev
 
2 Programming Language.pdf
KINGZzofYouTube
 
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
PYTHON FUNDAMENTALS OF COMP.pptx
shalini s
 
Programming And Programming languages.pptx
Rohan Basnet
 
A Short Communication On Computer Programming Languages In Modern Era
Katie Naple
 
Grade 8: Introduction To Java
nandanrocker
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Professor Lili Saghafi
 
Grade 10 introduction and history of programming
Rafael Balderosa
 
Programming Languages Lectures Slides Oscar Nierstrasz
nytunnefelh74
 
History of Computer Programming Languages.pptx
AliAbbas906043
 
P1 2018 python
Prof. Wim Van Criekinge
 
computer languages
Rajendran
 
Introduction to programming
Gwyneth Calica
 
A History of Computer Programming Languages.pdf
Sohaib Roomi
 
Ad

Recently uploaded (20)

PPTX
template.pptxr4t5y67yrttttttttttttttttttttttttttttttttttt
SithamparanaathanPir
 
PPTX
CM Function of the heart pp.pptxafsasdfddsf
drmaneharshalid
 
PPTX
UNIT 1 - INTRODUCTION TO AI and AI tools and basic concept
gokuld13012005
 
PPTX
Alan Turing - life and importance for all of us now
Pedro Concejero
 
PDF
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
samueljackson3773
 
PDF
Artificial Neural Network-Types,Perceptron,Problems
Sharmila Chidaravalli
 
PPTX
Functions in Python Programming Language
BeulahS2
 
PPTX
Artificial Intelligence jejeiejj3iriejrjifirirjdjeie
VikingsGaming2
 
PPTX
Explore USA’s Best Structural And Non Structural Steel Detailing
Silicon Engineering Consultants LLC
 
PDF
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
PDF
Module - 4 Machine Learning -22ISE62.pdf
Dr. Shivashankar
 
PDF
bs-en-12390-3 testing hardened concrete.pdf
ADVANCEDCONSTRUCTION
 
PPTX
Engineering Quiz ShowEngineering Quiz Show
CalvinLabial
 
PPTX
Electrical_Safety_EMI_EMC_Presentation.pptx
drmaneharshalid
 
PPTX
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
ssuser307730
 
PDF
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
DOCX
Engineering Geology Field Report to Malekhu .docx
justprashant567
 
PDF
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
PPTX
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
PPTX
Computer network Computer network Computer network Computer network
Shrikant317689
 
template.pptxr4t5y67yrttttttttttttttttttttttttttttttttttt
SithamparanaathanPir
 
CM Function of the heart pp.pptxafsasdfddsf
drmaneharshalid
 
UNIT 1 - INTRODUCTION TO AI and AI tools and basic concept
gokuld13012005
 
Alan Turing - life and importance for all of us now
Pedro Concejero
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
samueljackson3773
 
Artificial Neural Network-Types,Perceptron,Problems
Sharmila Chidaravalli
 
Functions in Python Programming Language
BeulahS2
 
Artificial Intelligence jejeiejj3iriejrjifirirjdjeie
VikingsGaming2
 
Explore USA’s Best Structural And Non Structural Steel Detailing
Silicon Engineering Consultants LLC
 
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
Module - 4 Machine Learning -22ISE62.pdf
Dr. Shivashankar
 
bs-en-12390-3 testing hardened concrete.pdf
ADVANCEDCONSTRUCTION
 
Engineering Quiz ShowEngineering Quiz Show
CalvinLabial
 
Electrical_Safety_EMI_EMC_Presentation.pptx
drmaneharshalid
 
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
ssuser307730
 
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
Engineering Geology Field Report to Malekhu .docx
justprashant567
 
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
Computer network Computer network Computer network Computer network
Shrikant317689
 
Ad

List of programming_languages_by_type

  • 1. List of programming languages by type This is a list of notableprogramming languages, grouped by type. (Because there is no overarching classification scheme for programming languages, in many cases a language will be listed under multiple headings.) Array languages Assembly languages Authoring languages Constraint programming languages Command line interface languages Compiled languages Concurrent languages Curly-bracket languages Dataflow languages Data-oriented languages Data-structured languages Decision table languages Declarative languages Embeddable languages In source code Server side Client side In object code Educational languages Esoteric languages Extension languages Fourth-generation languages Functional languages Pure Impure Hardware description languages HDLs for analog circuit design HDLs for digital circuit design Imperative languages Interactive mode languages Interpreted languages Iterative languages Languages by memory management type Garbage collected languages Languages with manual memory management Contents
  • 2. List-based languages – LISPs Little languages Logic-based languages Machine languages Macro languages Textual substitution macro languages Application macro languages Metaprogramming languages Multiparadigm languages Numerical analysis Non-English-based languages Object-oriented class-based languages Multiple dispatch Single dispatch Object-oriented prototype-based languages Off-side rule languages Procedural languages Reflective languages Rule-based languages Scripting languages Stack-based languages Synchronous languages Syntax handling languages Transformation languages Visual languages Wirth languages XML-based languages See also References External links Array programming(also known as vector or multidimensional) languages generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays. Assembly languages directly correspond to a machine language (see below) so machine code instructions appear in a form understandable by humans. Assembly languages let programmers use symbolic addresses, which the assembler converts to absolute addresses. Most assemblers also supportmacros and symbolic constants. A+ Analytica APL Chapel Fortran Freemat Futhark GAUSS J Julia K MATLAB Octave Q R S S-Lang SequenceL X10 ZPL IDL Wolfram Language Array languages Assembly languages
  • 3. An authoring languageis a programming language used to create tutorials, websites, and other interactive computer programs. Bigwig (web design and development language) DITA Lasso PILOT TUTOR A constraint programming language is a declarative programming language where relationships between variables are expressed as constraints. Execution proceeds by attempting to find values for the variables which satisfy all declared constraints. Command-line interface(CLI) languages are also called batch languages or job control languages. Examples: 4DOS (extended command-line shell forIBM PCs) bash (the Bourne-Again shell fromGNU/FSF) CHAIN (Datapoint) CLIST (MVS Command List) CMS EXEC csh and tcsh (C-like shell fromBill Joy at UC Berkeley) DCL DIGITAL Command Language – standard CLI language forVMS (DEC, Compaq, HP) DOS batch language(standard CLI/batch language for theIBM PC running DOS operating systems, popular before Windows) EXEC 2 Expect (a Unix automation and test tool) fish (a Unix shell) Hamilton C shell(a C shell for Windows) JCL (punch card-oriented batch control language forIBM System/360family mainframes) ksh (a standardUnix shell, written byDavid Korn) Rc (command-line shell forPlan 9) REXX sh (the standardUnix shell, written byStephen R. Bourne) TACL (Tandem Advanced Command Language) Windows batch language(Windows batch file language as understood byCOMMAND.COMand CMD.EXE) Windows PowerShell(Microsoft .NET-based CLI) zsh (a Unix shell) These are languages typically processed by compilers, though theoretically any language can be compiled or interpreted. See also compiled language. ActionScript Ada (multi-purpose language) ALGOL (extremely influential language design – the second high level language compiler) SMALL Machine Algol Like Language Ateji PX, an extension of the Java language for parallelism BASIC (some dialects, including the first version of Dartmouth BASIC) BCPL Blue Authoring languages Constraint programming languages Command line interface languages Compiled languages
  • 4. Message passinglanguages provide language constructs for concurrency. The predominant paradigm for concurrency in mainstream languages such as Java is shared memory concurrency based on monitors. Concurrent languages that make use of message passing have generally been inspired byCSP or the π-calculus, but have had little commercialsuccess, except for Ada, Erlang and Elixir. Ada is a multipurpose language and concurrent programming is only one option available. Ada (multi-purpose language) Alef – concurrent language with threads and message passing, used for systems programming in early versions of Plan 9 from Bell Labs Ateji PX an extension of the Java language for parallelism ChucK – domain specific programming language for audio, precise control over concurrency and timing Cilk – a concurrentC C (one of the most widely used procedural programming languages) C++ (One of the most widely used object-oriented (OO) languages specially used in large-scale, highly complex, high-performance software systems) C# (compiled intoCIL, which generates a native image at runtime) Ceylon (compiled intoJVM bytecode) CHILL CLIPPER 5.3(programming Language for DOS-based software) CLEO (Clear Language for Expressing Orders) used the compiler for the BritishLeo computers COBOL Cobra Common Lisp Crystal Curl D (Attempts a "C++ done right" philosophy) DASL compiles into Java, JavaScript, JSP, Flex, etc., which are further compiled into a .war file Delphi (Borland's Object Pascal development system) DIBOL (Digital Interactive Business Oriented Language) Dylan eC Eiffel (object-oriented language developed byBertrand Meyer) Sather Ubercode Emacs Lisp Erlang F# (compiled intoCIL, which generates a native image at runtime) Factor Forth (professional systems, like VFX and SwiftForth) Fortran (the first high-level, compiled language, from IBM, John Backus, et al.) GAUSS Go Gosu (compiled intoJVM bytecode) Groovy (compiled intoJVM bytecode) Haskell Harbour Java (usually compiled intoJVM bytecode although ahead-of-time (AOT) compilers exist that compile to machine code) JOVIAL LabVIEW Mercury Nemerle (compiled into intermediate language bytecode) Nim Objective-C P Pascal (most implementations) Plus Python (compiled into intermediateVirtual Machine bytecode) RPG (Report Program Generator) Rust Scala (compiled intoJVM bytecode) Scheme (some implementations, e.g. Gambit) SequenceL – purely functional, automatically parallelizing and race-free Simula (the first object-oriented language, developed by Ole-Johan Dahland Kristen Nygaard) Smalltalk generally compiled to platform independent bytecode that runs on a Virtual Machine Swift ML Standard ML(SML) Alice OCaml Turing Vala (Compiler for the GObject type system) Visual Basic (Earlier versions compiled directly to a native runtime. Recent .NET versions compile intoCIL that is just-in-time compiled into a native image at runtime.) Visual FoxPro Visual Prolog X++ X# XL Z++ Concurrent languages
  • 5. Cω – C Omega, a research language extending C#, uses asynchronous communication Clojure – a dialect ofLisp for the Java virtual machine Chapel Co-array Fortran Concurrent Pascal(by Brinch-Hansen) Curry E – uses promises, ensures deadlocks cannot occur Eiffel (through theSCOOP mechanism, Simple Concurrent Object-Oriented Computation) Elixir (runs on the Erlang VM) Erlang – uses asynchronous message passing with nothing shared Go Java Join Java – concurrent language based on Java X10 Julia Join-calculus Joule – dataflow language, communicates by message passing Limbo – relative ofAlef, used for systems programming inInferno (operating system) MultiLisp – Scheme variant extended to support parallelism occam – influenced heavily byCommunicating Sequential Processes(CSP) occam-π – a modern variant ofoccam, which incorporates ideas from Milner'sπ-calculus Orc Oz – multiparadigm language, supports shared-state and message-passing concurrency, and futures, and Mozart Programming Systemcross-platformOz P Pony Pict – essentially an executable implementation of Milner'sπ-calculus Rust – actor-based SALSA – actor language with token-passing, join, and first-class continuations for distributed computing over the Internet Scala – implements Erlang-styleactors on the JVM SequenceL – purely functional, automatically parallelizing and race-free SR – research language Unified Parallel C XProc – XML processing language, enabling concurrency The curly-bracket or curly-brace programming languages have a syntax that defines statement blocks using the curly bracket or brace characters { and }. This syntax originated with BCPL (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 Limbo Go AutoHotkey AWK B bc BCPL C – developed circa 1970 atBell Labs C++ C# Ceylon ChucK – audio programming language Cilk – concurrent C for multithreaded parallel programming COFFEE Cyclone – a safer C variant D Dart DASL – based on Java E eC Curly-bracket languages
  • 6. Dataflow programminglanguages 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: 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: Data-structured languagesare those where logic is structured in ways similar to their data. Such languages are generally well suited to reflection and introspection. There are three main types: Array-based List-based ECMAScript ActionScript ECMAScript for XML JavaScript JScript TypeScript GML (Game Maker Language) GLSL ICI Java Processing Groovy Join Java Kotlin Tea X10 LPC MSL MEL Nemerle – combines C# and ML features, provides syntax extension abilities PCASTL Perl PHP Pico Pike R Rust S-Lang Scala sed SuperCollider Swift UnrealScript Windows PowerShell(Microsoft .NET-based CLI) Yorick Analytica BMDFM Hartmann pipelines G (used in LabVIEW) Lucid Max Oz Prograph Pure Data Reaktor StreamBase StreamSQL EventFlow VEE VHDL VisSim WebMethods Flow Ballerinalang Swift Clarion Clipper dBase a relational database access language MUMPS (an ANSI standard general purpose language with specializations for database work) Caché (similar to MUMPS) RDQL SPARQL SQL Tutorial D – see also The Third Manifesto Visual FoxPro– a native RDBMS engine, object- oriented, RAD WebDNA WebQL Wolfram Language Dataflow languages Data-oriented languages Data-structured languages
  • 7. Stack-based Assembly languagesthat statically link data inline with instructions can also be considered data-structured, in the most primitive way. Decision tablescan 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 Declarative languagesdescribe a problem rather than defining a solution. Declarative programmingstands in contrast to imperative programming via imperative programming languages, where serial orders (imperatives) are given to a computer. In addition to the examples given just below, all (pure) functional and logic-based programming languages are also declarative. In fact, "functional" and "logical" constitute the usual subcategories of the declarative category. Analytica Ant (partially declarative languages, partially imperative programming) DASL (partially declarative languages, partially imperative programming) ECL (data-centric programming language) Lustre Mercury MetaPost Modelica Prolog QML Oz RDQL SequenceL – purely functional, automatically parallelizing and race-free SPARQL SQL Wolfram Language xBase XSL Transformations 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. PHP VBScript Decision table languages Declarative languages Embeddable languages In source code Server side
  • 8. SMX – dedicated to web pages Tcl – server-side inNaviServer 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 and Ruby can be adapted (for instance, by being made intoApache modules). ActionScript JavaScript (aka ECMAScript or JScript) VBScript (Windows only) A wide variety of dynamic or scripting languages can be embedded in compiled executable code. Basically, object code for the language'sinterpreterneeds to be linked into the executable.Source code fragments for the embeddedlanguage can then be passed to an evaluation function as strings. Application control languages can be implementedthis way, if the source code is input by the user. Languages with small interpreters are preferred. Languages developed primarily for the purpose of teaching and learning of programming. 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. Extension programming languagesare languages embedded into another program and used to harness its features in extension scripts. Ateji PX – an extension of the Java language for parallelism AngelScript Ch EEL Io Julia Lua MiniD Python Ruby (via mruby) Squirrel Tcl Alice Blockly Blue COMAL Elan Logo KTurtle Modula-2 Pascal Scheme Scratch Snap! Turing Wolfram Language Beatnik Befunge Brainfuck Chef INTERCAL LOLCODE Malbolge Piet Shakespeare Whitespace Client side In object code Educational languages Esoteric languages Extension languages
  • 9. AutoLISP (specific toAutoCAD) BeanShell CAL C/AL(C/SIDE) Guile Emacs Lisp JavaScript and some dialects (e.g.JScript) Lua – e.g. embedded in many games OpenCL – an extension of C and C++ to use the GPU and parallel extensions of the CPU OptimJ – an extension of the Java programming language with language support for writing optimization models and powerful abstractions for bulk data processing Perl Pike Python (embedded in Maya, Blender and other 3-D animation packages) REXX Ruby (Google SketchUp) S-Lang SQL Squirrel Tcl Vim script VBA Windows PowerShell Fourth-generation programming languages are high-level languages built around database systems. They are generally used in commercial environments. 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: ABAP CorVision CSC's GraphTalk Easytrieve report generator (now CA-Easytrieve Plus) FOCUS IBM Informix-4GL LINC 4GL MAPPER (Unisys/Sperry) – now part of BIS MARK-IV (Sterling/Informatics) now VISION:BUILDER of CA Progress 4GL LiveCode (not based on a database; still, the goal is to work at a higher level of abstraction than 3GLs) SAS Ubercode (VHLL, or Very High Level Language) Uniface Visual DataFlex Visual FoxPro xBase Agda Charity Clean Coq (Gallina) Curry Elm Frege Futhark Haskell Hope Idris Joy Mercury Miranda Owl Lisp Purescript QML KRC SAC SASL SequenceL Fourth-generation languages Functional languages Pure
  • 10. In electronics, aHardware description languageor HDL is a specializedcomputer 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 areVerilog and VHDL. Hardware description languages include: Verilog-AMS (Verilog for Analog and Mixed-Signal) VHDL-AMS(VHDL with Analog/Mixed-Signal extension) APL ATS CAL C++ (since C++11) C# Ceylon D Dart Curl ECMAScript ActionScript ECMAScript for XML JavaScript JScript Erlang Elixir LFE F# FPr Groovy Hop J Java (since version 8) Julia Kotlin Lisp Clojure Common Lisp Dylan Emacs Lisp LFE Little b Logo Scheme Racket (formerly PLT Scheme) Tea Mathematica ML Standard ML(SML) Alice OCaml Nemerle Nim Opal OPS5 Python Q (equational programming language) Q (programming language from Kx Systems) R Red Ruby REFAL Rust Scala Spreadsheets Wolfram Language Advanced Boolean Expression Language(ABEL) Altera Hardware Description Language(AHDL) Bluespec Confluence ELLA ESys.net Handel-C HHDL Impulse C JHDL Lava Lola M MyHDL Impure Hardware description languages HDLs for analog circuit design HDLs for digital circuit design
  • 11. Imperative programming languages may be multi-paradigm and appear in other classifications. Here is a list of programming languages that follow theimperative paradigm: 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 known as aREPL (read–eval–print loop). 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 commonly interpreted rather than compiled. PALASM Ruby (hardware description language) SystemC SystemVerilog Verilog VHDL (VHSIC HDL) Ada ALGOL BASIC Blue C C++ C# Ceylon CHILL COBOL D eC FORTRAN GAUSS Go Groovy Java Julia Lua MATLAB Machine language Modula-2, Modula-3 MUMPS Nim Oberon Object Pascal OCaml Pascal Perl PHP PROSE Python Ruby Rust Swift Wolfram Language APL BASIC (some dialects) Clojure Common Lisp Dart (with Observatory or Dartium's developer tools) Erlang Elixir (with iex) F# Forth FPr Fril GAUSS Groovy Haskell (with the GHCi or Hugs interpreter) IDL J JavaScript (using command line tools like Node.js or Rhino or the developer tools built into web browsers like Firefox or Chrome) Julia Lua MUMPS (an ANSI standard general purpose language) Maple Mathematica(Wolfram language) MATLAB ML OCaml Perl Pike PostScript Prolog Python PROSE R REXX Ruby (with IRB) Scala Scheme Smalltalk (anywhere in a Smalltalk environment) S-Lang (with the S-Lang shell, slsh) Swift Tcl (with the Tcl shell, tclsh) Unix shell Windows PowerShell(Microsoft .NET-based CLI) Visual FoxPro(Microsoft) Imperative languages Interactive mode languages Interpreted languages
  • 12. Iterative languages are built around or offering generators. C# Erlang Go Java JavaScript Lisp (originator) Arc Clojure Common Lisp Ant APL AutoHotkeyscripting language AutoIt scripting language BASIC (some dialects) DATABUS (later versions added optional compiling) DM Eiffel (via "Melting Ice Technology" inEiffelStudio) Forth (interactive shell only; otherwise compiled to native or threaded code) FPr (Virtual machine: Text is compiled to linked lists; linked lists are interpreted) Game Maker Language Groovy Haskell (GHCi, Hugs, NHC, YHC etc.) J Julia (Compiled on the fly tomachine code, but a transpiler Julia2C is also available.) JavaScript Lisp (Early versions, pre-1962, and some experimental ones; production Lisp systems are compilers, but many of them still provide an interpreter if needed.) Tea LPC Lua MUMPS (an ANSI standard general purpose language) Maple Mathematica MATLAB Oriel Pascal (early implementations) PCASTL Perl PHP Pikt PostScript PROSE Python REXX R Ruby S-Lang Standard ML(SML) Spin Tcl TI-BASIC TorqueScript thinBasic scripting language VBScript Windows PowerShell(Microsoft .NET-based CLI) Wolfram Language Some scripting languages (below) Aldor Alphard C# CLU Cobra Eiffel, through "agents" Icon IPL-v Julia Lua Nim PHP Python Sather XL ("iterator" construct) Iterative languages Languages by memory management type Garbage collected languages
  • 13. Common Lisp Dylan Emacs Lisp Racket Scheme Logo Lua ML Standard ML(SML) Alice OCaml Python Smalltalk Ada C C++ Fortran Pascal Rust List-based languages are a type ofdata-structured languagethat are based upon thelist data structure. Little languagesserve a specialized problem domain. awk – can serve as a prototyping language forC (shares similar syntax) Comet – used to solve complex combinatorialoptimizationproblems in areas such asresource allocationand scheduling sed – parses and transforms text SQL – has only a few keywords, and not all the constructs needed for a full programming language[1] – many database management systems extend SQL with additional constructs as astored procedurelanguage Logic-basedlanguages specify a set of attributes that a solution must have, rather than a set of steps to obtain a solution. Examples: ALF Lisp Arc Clojure Common Lisp Dylan Emacs Lisp Racket Scheme Shen Logo FPr Joy R Tcl Tea TRAC Languages with manual memory management List-based languages – LISPs Little languages Logic-based languages
  • 14. Alma-0 CLACL (CLAC-Language) Curry Fril Janus λProlog (a logic programming language featuring polymorphic typing, modular programming, and higher-order programming) Leda Oz, and Mozart Programming Systemcross-platformOz Prolog (formulates data and the program evaluation mechanism as a special form of mathematical logic calledHorn logic and a general proving mechanism calledlogical resolution) Mercury (based on Prolog) Strawberry Prolog(standard Prolog with some extensions) Visual Prolog(object-oriented Prolog extension) ROOP Machine languagesare directly executable by a computer's CPU. They are typically formulated as bit patterns, usually representedin octal or hexadecimal. 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-languagecode 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, is also defined by the developer, in most cases. Some commonly used machine codeinstruction setsare: ARM Original 32-bit 16-bit Thumb instructions (subset or registers used) 64-bit (major architecture change, more registers) DEC PDP-6/PDP-10/DECSYSTEM-20 DEC PDP-11 (influenced VAX and M68000) DEC VAX DEC Alpha Intel 8008, 8080 and 8085 Zilog Z80 x86: 16-bit x86, first used in the Intel 8086 Intel 8086 and 8088 (the latter was used in the first and earlyIBM PC) Intel 80186 Intel 80286 (the first x86 processor with protected mode, used in theIBM AT) IA-32, introduced in the80386 x86-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 System/360and successors, including z/Architecture MIPS Motorola 6800 Motorola 68000 family(CPUs used in earlyApple Macintosh and early Sun computers) MOS Technology 65xx 6502 (CPU for VIC-20, Apple II, and Atari 800) 6510 (CPU for Commodore 64) Western Design Center65816/65802(CPU for Apple IIGS and (variant)Super Nintendo Entertainment System) National NS320xx Power Architecture POWER, first used in theIBM RS/6000 PowerPC – used in Power Macintoshand the technology is used in many older generationgame consoles Sun, Oracle SPARC MCST Elbrus 2000 Machine languages Macro languages
  • 15. Macro languages transform one source code file into another. A "macro" is essentially a short piece of text that expands into a longer one (not too be confused with hygienic macros), possibly with parameter substitution.They are often used to preprocesssource code. Preprocessors can also supply facilities likefile 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 likePHP, which are fully featured. cpp (the C preprocessor) m4 (originally from AT&T, bundled with Unix) ML/I (general purpose macro processor) Scripting languages such as Tcl and ECMAScript (ActionScript, ECMAScript for XML, JavaScript, JScript) have been embedded into applications. These are sometimes called "macro languages", although in a somewhat different sense to textual-substitution macros likem4. Metaprogrammingis the writing of programs that write or manipulate other programs (or 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. Multiparadigm languagessupport more than one programming paradigm. They allow a program 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. Ada (concurrent, distributed, generic (template metaprogramming), imperative, object-oriented(class-based)) ALF (functional, logic) Alma-0 (constraint, imperative, logic) APL (functional, imperative, object-oriented (class-based)) BETA (functional, imperative, object-oriented (class-based)) C++ (generic, imperative, object-oriented (class-based), functional) C# (generic, imperative, object-oriented (class-based), functional, declarative) C++ Curl D eC Elixir Forth F# Groovy Haskell Julia Lisp Lua Maude system Mathematica MetaOCaml Nemerle Nim Perl Python Ruby Rust Scheme SequenceL Smalltalk Wolfram Language XL (concept programming) Textual substitution macro languages Application macro languages Metaprogramming languages Multiparadigm languages
  • 16. Ceylon (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(functional, imperative, object-oriented (class-based),aspect-oriented(user may add further paradigms, e.g., logic)) Curl (functional, imperative, object-oriented (class-based), metaprogramming) Curry (concurrent, functional, logic) D (generic, imperative, functional, object-oriented (class-based), metaprogramming) Delphi (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 JavaScript JScript Eiffel (imperative, object-oriented (class-based), generic, functional (agents), concurrent (SCOOP)) F# (functional, generic, object-oriented (class-based), language-oriented) Fantom (functional, object-oriented (class-based)) FPr (function-level, object-oriented (class-based)) Go (imperative, procedural), Groovy (functional, object-oriented (class-based),imperative,procedural) Harbour Hop J (functional, imperative, object-oriented (class-based)) Julia (imperative,multiple dispatch("object-oriented"), functional, metaprogramming) LabVIEW (dataflow, visual) Lava (object-oriented (class-based), visual) Leda (functional, imperative, logic, object-oriented (class-based)) Lua (functional, imperative, object-oriented (prototype-based)) Mercury (functional, logical, object-oriented) Metaobject protocols(object-oriented (class-based, prototype-based)) Nemerle (functional, object-oriented (class-based), imperative, metaprogramming) Objective-C(imperative, object-oriented (class-based), reflective) OCaml (functional, imperative, object-oriented (class-based)) Oz (functional (evaluation:eager, lazy), logic, constraint, imperative, object-oriented (class-based), concurrent, distributed), and Mozart Programming Systemcross-platformOz 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) Pike Prograph (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 (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 (imperative, logic, object-oriented (class-based), rule-based) Ruby (imperative, functional, object-oriented (class-based), metaprogramming) Rust (concurrent, functional, imperative) Scala (functional, object-oriented) Seed7 (imperative, object-oriented, generic) SISAL (concurrent, dataflow, functional)
  • 17. Spreadsheets(functional, visual) Swift (protocol-oriented, object-oriented, functional, imperative, block-structured) Tcl (functional, imperative, object-oriented (class-based)) Tea (functional, imperative, object-oriented (class-based)) Windows PowerShell(functional, imperative, pipeline, object-oriented (class-based)) Wolfram Language XL (concept programmingapproach) ARLOGO – Arabic Chinese BASIC– Chinese Fjölnir – Icelandic Language Symbolique d'Enseignement– French Lexico – Spanish Rapira – Russian ezhil-Tamil Class-based Object-oriented programming languages support objects defined by their class. Class definitions include member data. Message passingis a key concept (if notthe key concept) in Object-oriented languages. Polymorphic functions parameterizedby the class of some of their arguments are typically called methods. 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 wheresingle dispatchmethods aregeneric functions(e.g. Bigloo's object system). AIMMS AMPL Analytica GAUSS GAMS Julia Klerer-May System Mathematica MATLAB PROSE R Seneca – an Oberon variant Wolfram Language Common Lisp Cecil Dylan Julia ActionScript 3.0 Actor Ada 95 and Ada 2005 (multi-purpose language) APL BETA Blue C++ C# Ceylon Oxygene (formerly known as Chrome) ChucK Cobra ColdFusion Curl D DASL Delphi E GNU E eC Numerical analysis Non-English-based languages Object-oriented class-based languages Multiple dispatch Single dispatch
  • 18. Prototype-based languagesare object-oriented languages where the distinction between classes and instances has been removed: Off-side rulelanguages are those where blocks are formed, indicated, by their indentation. Eiffel Sather Ubercode F-Script Fortran 2003 Fortress FPr Gambas Game Maker Language Harbour J Java Processing Groovy Join Java Tea X10 LabVIEW Lava Lua Modula-2 (data abstraction, information hiding, strong typing, full modularity) Modula-3 (added more object-oriented features to Modula-2) Nemerle IBM NetRexx Oberon-2 (full object-orientation equivalence in an original, strongly typed, Wirthian manner) Object Pascal Object REXX Objective-C(a superset of C adding aSmalltalk derived object model and message passing syntax) OCaml Oz, Mozart Programming System Perl 5 PHP Pike Prograph Python (interpretive language, optionally object- oriented) Realbasic Revolution (programmer does not get to pick the objects) Ruby Scala Simula (the first object-oriented language, developed by Ole-Johan Dahland Kristen Nygaard) Smalltalk (pure object-orientation, developed atXerox PARC) Bistro F-Script Little Smalltalk Squeak Scratch IBM VisualAge VisualWorks SPIN SuperCollider VBScript (Microsoft Office 'macro scripting' language) Visual DataFlex Visual FoxPro Visual Prolog X++ XOTcl ABCL/1 ABCL/R ABCL/R2 ABCL/c plus Agora Cecil ECMAScript ActionScript ECMAScript for XML JavaScript (first namedMocha, then LiveScript) JScript Etoys in Squeak Io Lisaac Lua MOO NewtonScript Obliq R REBOL RED Self (the first prototype-based language, derived from Smalltalk) TADS ISWIM, the abstract language that introduced the rule Object-oriented prototype-based languages Off-side rule languages
  • 19. 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: ABC, Python's parent Python Cobra Boo Genie Miranda, Haskell's parent Orwell Haskell Curry Elixir (, do: blocks) F# Nim Occam SPIN XL Ada (multi-purpose language) ALGOL (extremely influential language design – the second high level language compiler) SMALL Machine Algol Like Language Alma-0 BASIC (BASICs are innocent of most modularity in (especially) versions before about 1990) BCPL BLISS Blue C C++ (C with objects plus much else, such as, generics through STL) C# (similar to Java/C++) Ceylon CHILL ChucK (C/Java-like syntax, with new syntax elements for time and parallelism) COBOL Cobra ColdFusion Combined Programming Language(CPL) Curl D DASL (partly declarative, partly imperative) eC ECMAScript ActionScript ECMAScript for XML JavaScript (first namedMocha, then LiveScript) JScript Eiffel Fortran (better modularity in later Standards) F GAUSS Go Harbour HyperTalk Java Groovy Join Java Tea JOVIAL Julia Lasso Modula-2 (fundamentally based on modules) Mathematica MATLAB MUMPS (More modular in its first release than a language of the time should have been; The standard has become still more modular since then.) Nemerle Nim Oberon and Oberon-2(improved, smaller, faster, safer follow-ons for Modula-2) Component Pascal Lagoona Seneca Occam Oriel Pascal (successor to ALGOL 60, predecessor of Modula-2) Free Pascal(FPC) Object Pascal(Delphi) PCASTL Perl Pike PL/C PL/I (large general purpose language, originally for IBM mainframes) Plus PROSE Python R Rapira RPG (available only inIBM's System i midrange computers) Procedural languages
  • 20. Reflective languageslet programs examine and possibly modify their high level structure at runtime. This is most common in high- level virtual machine programming languages like Smalltalk, and less common in lower-level programming languages like C. Languages and platforms supporting reflection: 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: Rust S-Lang VBScript Visual Basic Visual FoxPro Wolfram Language X++ X# XL Befunge C# Ceylon Charm ChucK Cobra Component PascalBlackBox Component Builder Curl Delphi eC ECMAScript ActionScript ECMAScript for XML JavaScript JScript Eiffel Forth Harbour Java Java virtual machine Groovy Join Java X10 Julia Lisp Clojure Common Lisp Dylan Logo Scheme Lua Maude system .NET FrameworkCommon Language Runtime Oberon-2 – ETH Oberon System Objective-C PCASTL Perl PHP Pico Poplog POP-11 Prolog Python REBOL RED Ruby Smalltalk (pure object-orientation, originally from Xerox PARC) Bistro F-Script Little Smalltalk Self Squeak IBM VisualAge VisualWorks Snobol Tcl Wolfram Language XOTcl X++ XL awk CLIPS Constraint Handling Rules Drools GOAL agent programming language Jess OPS5 Prolog ToonTalk – robots are rules Mathematica XSLT Wolfram Language Reflective languages Rule-based languages
  • 21. "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 are often called scripting languages. Recently, many applications have built-in traditional scripting languages, such asPerl 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 toJava virtual machine). Stack-based languages are a type ofdata-structured languagethat are based upon thestack data structure. Synchronous programminglanguages are optimized for programming reactive systems, systems that are often interrupted and must respond quickly. Many such systems are also calledrealtime systems, and are used often inembedded systems. Examples: Argus Averest AppleScript AWK BeanShell Bash Ch (Embeddable C/C++ interpreter) CLIST ColdFusion ECMAScript ActionScript ECMAScript for XML JavaScript (first namedMocha, then LiveScript) JScript CMS EXEC EXEC 2 F-Script Falcon Game Maker Language(GML) ICI Io JASS Groovy Join Java Julia (still, compiled on the fly tomachine code) Lasso Lua MAXScript MEL Oriel Perl PHP (intended for Web servers) Pikt Python R REBOL RED REXX Revolution Ruby Smalltalk S-Lang sed Tea Tcl TorqueScript VBScript WebDNA, dedicated to database-driven websites Windows PowerShell(Microsoft .NET-based CLI) Winbatch Many shell command languages such as theUnix shell or DCL on VMS have powerful scripting abilities. Beatnik colorForth Factor Forth Joy (all functions work on parameter stacks instead of named parameters) Piet Poplog via its implementation languagePOP-11 PostScript RPL S-Lang Scripting languages Stack-based languages Synchronous languages
  • 22. Esterel Lustre SyncCharts These languages assist with generatinglexical analyzersand parsers for Context-free grammars. ANTLR Coco/R (EBNF with semantics) GNU bison (FSF's version of Yacc) GNU Flex (FSF's version of Lex) glex/gyacc (GoboSoft compiler compiler to Eiffel) lex (Lexical Analysis, from Bell Labs) M4 yacc (yet another compiler compiler, from Bell Labs) JavaCC 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 programminglanguages are also visual languages. Computer scientistNiklaus Wirth designed and implemented several influential languages. Analytica Blockly CODE DRAKON Fabrik G (used in LabVIEW) Lava Limnor Max NXT-G Pict programming language Prograph Pure Data Quartz Composer Scratch (written in and based onSqueak, a version of Smalltalk) Snap! Simulink Spreadsheets Subtext ToonTalk VEE VisSim vvvv EICASLAB ALGOL W Euler Modula Modula-2 (and Modula 3, etc. variants) Obliq Modula 3 variant Oberon (Oberon, Oberon-07, and Oberon-2) Component Pascal Lagoona Oberon-2 Pascal Object Pascal("umbrella" name forDelphi, Free Pascal, Oxygene and others) Syntax handling languages Transformation languages Visual languages Wirth languages XML-based languages
  • 23. These are languages based on or that operate onXML. Programming paradigms IEC 61131-3– a standard forPLC programming languages Educational programming language Esoteric programming language 1. The objects of SQL are collections of records, called tables. A full programming language can specify algorithms, irrespective of runtime. Thus an algorithm can be considered to generate usable results. In contrast, SQL can only select records which are limited to the current collection, the data at hand in the system, rather than produce a statement of the correctness of the result. Categories of programming languages– content of this page pivoted by language Retrieved from "https://en.wikipedia.org/w/index.php?title=List_of_programming_languages_by_type&oldid=821985666" This page was last edited on 23 January 2018, at 19:37. Text is available under theCreative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to theTerms of Useand Privacy Policy. Wikipedia® is a registered trademark of theWikimedia Foundation, Inc., a non-profit organization. Ant Cω ECMAScript for XML MXML LZX XAML XPath XQuery XProc XSLT See also References External links