A Complete List of Computer Programming Languages

Computer programming languages are used to to communicate instructions to a computer. They are based on certain syntactic and semantic rules, which define the meaning of each of the programming language constructs.

Today I’ve got a list of every programming language I could find. I divided them into the following categories:

  • Interpreted Programming Languages
  • Functional Programming Languages
  • Compiled Programming Languages
  • Procedural Programming Languages
  • Scripting Programming Languages
  • Markup Programming Languages
  • Logic-Based Programming Languages
  • Concurrent Programming Languages
  • Object-Oriented Programming Languages

Interpreted Programming Languages

An interpreted language is a programming language for which most of its implementations execute instructions directly, without previously compiling a program into machine-language instructions. The interpreter executes the program directly, translating each statement into a sequence of one or more subroutines already compiled into machine code. (Wikipedia)

APL

Named after the book A Programming Language (Iverson, Kenneth E., 1962), APL is an array programming language. It can work simultaneously on multiple arrays of data. It is interpretive, interactive and a functional programming language.

AutoIt

It is a freeware automation language for Microsoft Windows. It’s main intent is to create automation scripts that can be used for the execution of certain repetitive tasks on Windows.

BASIC

Developed by John George Kemeny and Thomas Eugene Kurtz at Dartmouth in 1964, it is an acronym for Beginner’s All-purpose Symbolic Instruction Code. It was designed with the intent of giving the non-science people an access to computers.

Eiffel

It is an object-oriented programming language that is ISO-standardized and used to develop extensible and reusable software. It is a development platform for many industries such as finance, aerospace and video gaming.

Forth

It is a structured imperative programming language, which bases its implementation on stacks. It supports an interactive execution of commands as well as the compilation of sequences of commands.

Frink

Developed by Alan Eliasen and named after Professor John Frink, a popular fictional character. It is based on the Java Virtual Machine and focuses on science and engineering. Its striking feature is that it tracks the units of measure through all the calculations that enables quantities to contain their units of measurement.

Game Maker Language

It is an interpreted computer programming language intended to be used in cooperation with Game Maker, an application for game creation. Mark Overmars, a Dutch computer scientist, designed this language.

ICI

Designed by Tim Long in 1992, ICI is a general purpose interpreted computer programming language. It supports dynamic typing, flexible data types and other language constructs similar to C.

J

Ken Iverson and Roger Hui developed this programming language that requires only the basic ASCII character set. It is an array programming language that works well with mathematical and statistical operations.

Lisp

Lisp is the second-oldest high-level programming language in widespread use today. The name Lisp is derived from ‘List Processing Language’. One of the important data structures that Lisp supports is linked list. Lisp programs deal with source code as a data structure.

Lua

Members of the Computer Graphics Technology Group developed Lua in 1993. It is an imperative and procedural programming language that was designed as a scripting language. It is known for being simple yet powerful.

M

M is short for MUMPS, a programming language created for the health care industry. Neil Pappalardo, the founder of medical information technology and his associates developed the M language.

Pascal

It is a procedural programming language that was intended to use data structuring and structured programming. Niklaus Wirth, a Swiss computer scientist designed this language and it was named after Blaise Pascal, a French mathematician and philosopher.

PCASTL

An acronym for by Parent and Childset Accessible Syntax Tree Language, it is a high-level language developed by Philippe Choquette and falls under the class of interpreted computer programming languages. It is specially designed for self-modifying code.

Perl

Perl is a high-level interpreted programming language that supports dynamic programming. It was developed by Larry Wall, a linguist who served as a systems administrator at NASA. It provides the programmers with text processing facilities and has a blend of features adopted from various languages like C, Lisp, and Awk.

PostScript

It is used in the desktop publishing field and is known as a page description language. It is a dynamically typed stack-based programming language developed by John Warnock, an American computer scientist and Charles Geschke, a notable figure in the field of computer science. These developers went on to found the very well-known company, Adobe Systems.

Python

It is a high-level programming language that supports imperative, object-oriented, and functional programming paradigms. In its features like the dynamic type system and automatic memory management, it is similar to Perl. Originally released in 1991 by Guido van Rossum, a Dutch computer programmer, Python is an open community-based language whose development is managed by the Python Software Foundation.

REXX

Short for Restructured Extended Executor, REXX is an interpreted language developed by IBM. It was designed with an intent to be an easily learnable and readable language. NetRexx is the IBM’s implementation of REXX that offers object-oriented programming. Object REXX is an object-oriented scripting language that is based on REXX.

Ruby

The efforts for developing this language initiated in Japan in the 1990s. Similar to Perl, it has a dynamic type system and an automatic memory management. It supports multiple programming paradigms and is a dynamic object-oriented language.

S-Lang

Originally developed as a stack-based language, S-Lang has evolved as a language similar to C. It was developed by John E. Davis.

Spin

It is a multitasking object-oriented programming language whose compiler converts the Spin code into bytecodes. Multiple Spin code threads can run at a time, thus enabling multitasking. Spin was developed by Chip Gracey of Parallax.

Functional Programming Languages

Functional programming languages define every computation as a mathematical evaluation. They focus on the application of functions. Many of the functional programming languages are bound to mathematical calculations.

Charity

It is a purely functional, not-Turing-complete language, which means that all its programs are guaranteed to terminate. Charity was designed at the University of Calgary, a public University in Canada.

Clean

It is a purely functional programming language that supports portability across platforms, automatic garbage collection, multiple data structures and referential transparency, which means that a function with a given input will always give the same output.

Curry

It is a functional logic programming language that implements functional and logic programming as well as constraint programming, wherein the relationships between variables are stated in the form of constraints.

Erlang

It is a concurrent programming language that includes a sequential subset, which supports functional programming. Ericsson developed Erlang as a distributed soft real-time and fault-tolerant language and released it as an open source computer programming language in 1998. It is one of the most popularly used functional programming languages.

F#

It targets the .NET Framework and supports both functional as well as imperative object-oriented programming. Don Syme at the Microsoft Research developed this language, which is now being developed at the Microsoft Developer Division. F Sharp, as it is called, will soon be integrated into the .NET Framework and Visual Studio.

Haskell

Named in honor of Haskell Curry, a logician, Haskell is a standardized purely functional language. It supports pattern matching, definable operators, single assignment, algebraic data types and recursive functions.

Joy

It is a purely functional language that is based on a composition of functions. Manfred von Thun of La Trobe University in Australia developed this language.

Kite

It came up in 2006 with a feature set consisting of a blend of object-oriented and functional programming features. It is a fast-running language. Interestingly, Kite uses the pipe character for functional calls rather than using the period or arrow characters in other languages.

ML

Robin Milner and his associates at the University of Edinburgh came up with ML in the 1970s. It is an impure functional language as it supports imperative programming. Standard ML is popular among compiler writers and is a modular, functional programming language. Alice is a dialect of Standard ML, which supports distributed computing, multithreading and constraint programming. Caml is another dialect of ML and is a statically typed language that supports automatic memory management. Ocaml is the implementation of Caml that is developed as an open source project. JoCaml is a version of Ocaml based on join-calculus.

Nemerle

It is a statically typed programming language that is designed for the .NET platform. Programs in Nemerle are compiled into an intermediate language bytecode. It supports functional, imperative, and object-oriented programming.

OPAL

The name stands for Optimized Applicative Language and is a functional programming language developed at the Technical University of Berlin.

OPS5

It is a rule-based production system computer language that became the first language to be used in an expert system.

Q

It is called Q for being an equational programming language. It is an interpreted functional language that was designed by Albert Graf at the University of Mainz in Germany. It can be described as a set of equations used to evaluate expressions.

Compiled Programming Languages

A compiled language is a programming language whose implementations are typically compilers (translators that generate machine code from source code), and not interpreters (step-by-step executors of source code, where no pre-runtime translation takes place). (Wikipedia)

Ada

It is a statically typed, structured, imperative programming language that is based on Pascal. A team of CII Honeywell Bull that was led by Jean Ichbiah developed Ada. The Ada compilers are validated for mission-critical systems. Ada is an internationally standardized computer programming language.

ALGOL

Algorithmic Language, as it is called, is actually a family of imperative programming languages that was developed in the middle 1950s. It proved instrumental in the creation of programming languages like BCPL, B and C. Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center in Oslo were the brains behind Simula.

C

Dennis Ritchie at the Bell Telephone Laboratories developed C to be used on the Unix platform. It is a general-purpose, cross-platform, procedural, imperative programming language. It is used for implementing system software and application software and is one of the most-used computer programming languages of today. The development of C++ and C# was influenced by C.

C++

It consists of a combination of high-level and low-level language features and is hence considered as a middle-level programming language. Bjarne Stroustrup of Bell Labs developed C++ as an extension of the C language. Originally known as ‘C with Classes’, it came to be known as C++ from 1983. It is a multi-paradigm language that supports procedural programming, generic programming, object-oriented programming, and data abstraction.

C#

C Sharp is a multi-paradigm programming language that supports imperative, generic and object-oriented programming. It is a part of the Microsoft .NET Framework. It is similar to C++ in its object-oriented syntax and is also influenced by Java and Delphi.

CLEO

It is known as the Clear Language for Expressing Orders and is a computer language for the LEO computer.

COBOL

The name stands for Common Business-Oriented Language that is designed for the business and finance domain. COBOL 2002 standard supports object-oriented programming. It is one of the very old programming languages that are still in use.

Cobra

It is an object-oriented programming language that runs on .NET and Mono frameworks. Chuck Esterbrook developed it. Its design is influenced by languages like Python and C#. It supports static and dynamic typing and is suited for unit tests. Today, it is an open source project.

D

Originally designed as an enhancement of C++, it is also influenced by Java, Eiffel, and C#. It is an object-oriented, imperative, multi-paradigm system programming language developed by Walter Bright of Digital Mars.

DASL

Acronym of Distributed Application Specification Language, it is a high-level, strongly typed programming language that was developed at the Sun Microsystems. It was created with an intent to be used for developing web applications.

DIBOL

Acronym of Digital Interactive Business Oriented Language, DIBOL is a general-purpose procedural imperative programming language. It is fairly similar to COBOL as it’s best suited for the development of Management Information Systems.

Fortran

It is a procedural, imperative, general purpose computer programming language that works well for scientific computations and numeric operations. After IBM developed it in the 1950s, it soon gained popularity in programming. It is very popular in the field of high-performance computing. It is a structured and compiled programming language that is a subset of Fortran95. Fortran 2003, a revised version of Fortran supports object-oriented programming.

Java

It is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. Compiled Java code can run on all platforms that support Java without the need for recompilation. It is a very popular language of the modern times.

JOVIAL

It is a high-order computer programming language similar to ALGOL. It is best-suited to the design and development of embedded systems.

Objective-C

It is a reflective object-oriented programming language that adds messaging services to C.

SMALL

The name stands for Small Machine Algol-like Language. It provides the programmers with abilities to write an ALGOL-like code that can be run on small machines.

Smalltalk

It is a reflective, object-oriented programming language that supports dynamic typing. Alan Kay, Adele Goldberg, Dan Ingalls, Scott Wallace, Ted Kaehler and their associates at Xerox PARC developed Smalltalk. They designed it for educational use and it soon became popular. VisualWorks is a prominent implementation of Smalltalk. Squeak is a programming language that is in the form of an implementation of Smalltalk. Scratch is a visual programming language based on Squeak.

Turing

It was developed by Ric Holt and James Cordy of the University of Toronto, Canada, in 1982. It was named in honor of the British computer scientist, Alan Turing. This Pascal-like language is a freeware since 2007.

Visual Basic

It is an event-driven programming language that is packaged with an integrated development environment. It inherits many of its features from BASIC. Its graphical development features make it easy for beginners to learn VB.

Visual FoxPro

It is an object-oriented and procedural programming language derived from FoxPro. It is integrated with a relational database system of its own and does not require an additional programming environment. It supports dynamic programming.

XL

It is created with an intent to support concept programming, a programming paradigm that focuses on how concepts residing in a programmer’s mind can be transformed into code constructs. Programmers can reconfigure XL’s syntax and semantics.

Procedural Programming Languages

Procedural (imperative) programming implies specifying the steps that the programs should take to reach to an intended state. A procedure is a group of statements that can be referenced through a procedure call. Procedures help in the reuse of code. Procedural programming makes the programs structured and easily traceable for program flow.

Bliss

It is a system programming language and was one of the best-known languages of this type till C came up. W.A. Wolf, D.B. Russell and A.N. Habermann of the Carnegie Mellon University developed Bliss. It includes exception handling mechanisms, coroutines and macros while it excludes the goto statement.

ChucK

It is a concurrent and strongly timed audio programming language that runs on Mac OS X, Linux as well as Microsoft Windows. It is especially known for the ability it gives to the programmers to do some modifications even in the running programs.

CLIST

It is a procedural programming language in the form of a set of commands that need to be executed in a sequence like that of a batch file.

HyperTalk

It is a high-level programming language that was intended to be used by programmers at the beginner’s level. The programmers of this computer language were known as authors and the act of writing programs was called scripting. HyperTalk was designed by Dan Winker in 1987. Structurally, it resembles Pascal.

Modula-2

It is a general-purpose procedural language created in 1978 by Niklaus Wirth at ETH. It is similar to Pascal and has systems programming and multiprogramming features.

Oberon

Niklaus Wirth, the man behind Pascal and Modula came up with Oberon in 1986. It was designed as a part of the Oberon operating system. It is similar to Modula-2 but smaller than it.

Component Pascal

It is a programming language that seems to be related to Pascal, but is actually incompatible with it. It is actually a variant of Oberon-2. Lagoona is an experimental programming language that supports component-oriented programming, a paradigm of decomposing a system into logical or functional components. Michael Franz, a student of Niklaus Wirth developed Lagoona. Seneca, better known as Oberon-2 is an extension of the Oberon programming language.

MATLAB

It is a numerical computing environment and a programming language that enables matrix computations, function plotting, and algorithm implementation. It can also be used for user interface creation. MathWorks created MATLAB.

Occam

It is an imperative procedural language that was developed by David May and his colleagues at INMOS. It is similar to Pascal. Occam-pi is a variant of Occam that has been extended to include nested protocols, recursion, protocol inheritance, array constructors and run-time process creation.

PL/C

It was developed for being used to teach programming. It was created at the Cornell University in the 1970s.

PL/I

It is an imperative computer programming language targeted at scientific and engineering applications. Mainly intended to perform data processing, it also supports structured programming and recursion.

Rapira

It is a procedural programming language that was used in teaching computer programming in Soviet schools. Developed in the USSR, initially this language had Russian-based keywords. English keywords were incorporated later.

RPG

This programming language is used for business applications. It is available with the IBM’s System I midrange computers.

Scripting Languages

Scripting languages are programming languages that control an application. Scripts can execute independent of any other application. They are mostly embedded in the application that they control and are used to automate frequently executed tasks like communicating with external programs.

AppleScript

It is a scripting language that is built into the Mac OS.

Awk

Awk was born in the Bell Labs in the 1970s. It is used for processing text-based data in data streams and files and uses the string datatype, arrays, and regular expressions.

BeanShell

It is a java scripting language that is syntactically similar to Java and runs on the Java Runtime Environment along with scripting commands and syntax.

ColdFusion

It is an application server and software development framework that comes with an associated scripting language known as ColdFusion Markup Language. It is known as CFML and is similar to HTML in terms of its syntax.

F-Script

It is an object-oriented scripting language that is closely similar to Smalltalk with an additional feature of array programming.

JASS

It is an event-driven scripting language that provides the programmers with an extensive API.

Maya Embedded Language

Abbreviated as MEL, it is a scripting language that is used to support tasks on the Maya software. Its syntax resembles that of Perl.

Mondrian

This scripting language is aimed for Internet use and is looked upon as being a combination of Haskell and Java.

PHP

PHP is one of the very popularly used general purpose scripting languages. It is developed for creating dynamic web pages and supports a command line interface capability.

Revolution

It is a rapid application development language that is based on HyperTalk. It is a cross-platform language that supports dynamic typing.

Tcl

It is a scripting language, which is believed to be easy to learn. It is used for rapid prototyping and has found utility in embedded systems.

VBScript

It is an active scripting language that Microsoft developed as a variation of Microsoft Visual Basic. VBScript is a default component with each of the Desktop releases of Microsoft Windows.

Windows PowerShell

It is Microsoft’s command line shell and a scripting language. Released in 2006, it is available with Windows XP, Windows Vista as also with Windows Server 3003 and Windows Server 2008. It works in collaboration with Microsoft .NET Framework by means of executables, forms of standalone applications, regular .NET classes, cmdlets that are specialized .NET classes and scripts, the compositions of cmdlets and imperative logic.

Markup Languages

A markup language is an artificial language that uses annotations to text that define how the text is to be displayed.

Curl

It is a reflective object-oriented programming language. It is a markup language similar to HTML. Curl is an object-oriented programming language supporting multiple inheritance.

SGML

Standardized General Markup Language (SGML) has descended from IBM’s Generalized Markup Language. It is an ISO standard metalanguage that can define markup languages for documents. It was designed with the intent of sharing machine-readable documents of large projects that had to be retained for long years.

HTML

Hypertext Markup Language, abbreviated as HTML, is the most prominent markup language that is used for web pages. It is written in the form of HTML tags that are surrounded by angular brackets. HTML tags describe the appearance of the text in a document and can be embedded into certain other code to affect the web browser behavior. HTML uses the SGML default syntax.

XML

The name stands for Extensible Markup Language. It is extensible because it allows the users to define their own XML elements. It supports the sharing of structured data over the Internet and the encoding and serializing of data. It originated as a subset of SGML. XPath is the XML Path Language that is used to select nodes from an XML document. It supports the computation of values. XQuery is used to query the collections of XML data. Extensible Stylesheet Language Transformations (XSLT) is an XML-based language that is used for the transformation of XML documents into human-readable formats. Apache Ant is a tool for the automation of software build processes. It uses XML to describe the build processes.

XHTML

It is a markup language that is similar to HTML and follows the XML syntax. It is midway between HTML and XML. XHTML documents allow automated processing of data.

Logic-based Programming Languages

Logic programming is a type of programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. (Wikipedia)

ALF

Algebraic Logic Functional Programming Language is a multi-paradigm programming language that is a combination of functional programming and logic programming. ALF program statements are compiled into instructions of an abstract machine. An emulator written in C executes the programs of the abstract machine.

Fril

Fril language was designed by Trevor Martin and Jim Baldwin at the University of Bristol in the 1980s. It is for first-order predicate calculus. It supports fuzzy sets and metaprogramming and is based on the Prolog syntax.

Janus

Janus supports concurrent and constraint programming.

Leda

This computer programming language is a blend of logic-based, functional, imperative and object-oriented programming. It is thus one of the multi-paradigm languages.

Oz

It is a multi-paradigm language that supports functional, logic-based, imperative and object-oriented programming. Oz also supports concurrent and distributed programming. Constraint programming that is supported by Oz is one of the strengths of this language.

Poplog

It is a powerful multi-paradigm software development environment whose core language is POP-11. All the languages of this development environment share a common language editor and are incrementally compiled programming languages.

Prolog

It is a general-purpose programming language that supports logic programming and is often linked with artificial intelligence and computational linguistics. The language is declarative and the program logic is expressed in the form of relations. Mercury is a functional logic programming language that is based on Prolog. Strawberry Prolog is a dialect of Prolog, which is supposed to be easy to use. Visual Prolog is a strongly typed extension of Prolog that supports object-oriented programming. It is a compiled logic-based programming language.

ROOP

It is a multi-paradigm language that is built on C++. It is intended to be used with artificial intelligence systems. Its features offer a blend of procedural, logic-based, and object-oriented programming.

Concurrent Programming Languages

Concurrent programming is a computer programming technique that provides for the execution of operations concurrently — either within a single computer, or across a number of systems. In the latter case, the term distributed computing is used. (Wikipedia)

ABCL

It is actually a family of Actor-Based Concurrent Languages, which was developed in Japan during the 1980s and the 1990s. ABCL/1, ABCL/R, and ABCL/R2 are some members of the ABCL family.

Afnix

It is a multi-threaded functional programming language. Its interpreter is written in C++. Its runtime engine supports both 32 and 64 bit platforms.

Cilk

Created at the MIT Laboratory in 1994, Cilk supports multithreaded parallel programming.

Concurrent Pascal

Per Brinch Hansen, a Danish-American computer scientist created Concurrent Pascal for writing operating systems and programming real-time systems.

E

It is an object-oriented programming language that supports distributed programming. Mark Miller, Dan Bornstein and associates at the Electric Communities developed E in 1997. Its syntax resembles that of Java.

Joule

Joule is a concurrent dataflow programming language that preceded the E programming language. It is used for distributed applications.

Limbo

Developed at the Bell Labs, Limbo is used for programming distributed systems. Its striking feature is its compiler’s ability to generate architecture-independent object code. Limbo is used for applications running on Inferno operating system. Alex that was initially a part of the Plan 9 operating system is the predecessor of Limbo.

Pict

It is a statically typed programming language, which is in the experimental stage today.

SALSA

Short for Simple Actor Language System and Architecture, SALSA supports concurrent programming, message passing, and distributed computing. It uses Java code for portability.

SR

Acronym of Synchronizing Resources, SR is a concurrent programming language.

Object-Oriented Programming Languages

Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. In OOP, computer programs are designed by making them out of objects that interact with one another. (Wikipedia)

Agora

It is a prototype-based object-oriented programming language that features message passing mechanisms.

BETA

It is an object-oriented programming language wherein classes and procedures revolve around the same concept and classes are defined as attributes of objects. It has strong abstraction mechanisms. BETA also supports nested classes.

Cecil

This object-oriented language was created by Craig Chambers at the University of Washington. It is similar to Objective-C and Modula-3.

Lava

Lava is a visual object-oriented interpreter-based programming language.

Lisaac

It was the first compiled object-oriented programming language that was based on prototype concepts. It also supports system programming.

MOO

It is a dynamically typed prototype-based programming language that supports object-oriented programming. It supports exception handling mechanisms and looping constructs.

Moto

It is an open source server-side programming language that comes with state and session management objects and database connectivity.

Object-Z

It was developed at the University of Queensland, Australia. It extends the Z programming language by adding object-oriented features to it.

Obliq

It is an interpreted computer programming language that offers object-oriented programming features. It supports untyped variables and was designed for distributed and multithreaded computations.

Oxygene

Based on Object Pascal, Oxygene is an object-oriented programming language with a rich feature set. Previously, it was known as ‘Chrome’.

Pliant

It is based on a dynamic compiler and comes with a unique ability of supporting low-level instruction lists as well as high-level expressions.

Prograph

It is a visual object-oriented multi-paradigm language that uses symbols to signify the actions to be performed on data.

REBOL

REBOL is the acronym given to Relative Expression Based Object Language. It is designed for use on distributed platforms and in network communications.

Scala

The name Scala stands for Scalable Language. It is a multi-paradigm programming language, which offers object-oriented and functional programming features.

Self

It is an object-oriented prototype-based computer programming language. NewtonScript is used to write programs for Apple Newton and is largely influenced by Self.

Slate

This object-oriented programming language is based on the concept of prototypes. It derives some of its features from Smalltalk and some from the Self language. The Slate design is intended at providing the programmers with an operating system-like environment.

XOTcl

It is an object-oriented extension of the Tool Command Language that supports metaclasses and dynamic classes and methods.

IO

It is a pure object-oriented programming language having a prototype-based object model. It is small in size and can be executed on small portable virtual machines.

Stay tuned for further updates.

And have a nice day!