A language used to write instructions for the computer. A programming language lets the programmer express data processing in a symbolic manner without regard to machine-specific details. See
how many programming languages are there?.
From Source Code to Machine Language
The statements written by the programmer are called "source code," which are translated into the computer's "machine language" by programs called "assemblers," "compilers" and "interpreters." For example, when a programmer writes ADD A TO B, ADD is turned into machine code for add, and A and B are the locations in RAM where the two amounts are temporarily stored.
Grammar and Syntax
Like human languages, each programming language has its own grammar and syntax, and there can be dialects, each requiring its own assemblers and compilers. Standards have been set by ANSI for many languages. However, it can take a long time for new features to be standardized, and new dialects spring up all the time. See
program logic.
Assemblers, Compilers and Interpreters
For each CPU hardware platform, there is a low-level assembly language that generates machine language one for one. High-level languages (what most programmers write in) use compilers that generate many machine instructions for each source code statement the programmer writes (see
compiler). There are also programming languages that are translated into machine language one statement at a time each time they run (see
interpreter).
Source Code
IF COUNT=10
GOTO END-OF-JOB
ELSE
GOTO COMPUTE-AGAIN
ENDIF
Assembly Language Machine Language
Compare A to B Compare 3477 2883
If equal go to C If = go to 23732
Go to D Go to 23119
Machine Code
10010101001010001010100
10101010010101001001010
10100101010001010010010
Programming Languages in Use
Over the decades, more than 250 programming languages have been developed, but only a couple dozen are widely used. According to Northeastern University in 2022, the 10 most popular languages to learn are Python, JavaScript, Java, the C family (C, C++, C#), Go, R, Swift and PHP. Seven other languages worth considering are Dart, Kotlin, MATLAB, Perl, Ruby, Rust and Scala. Following in alphabetical order is a brief summary of programming languages. See also
client/server development system.
ActionScript
Programming language for Flash programs. See
Flash and
ActionScript.
Ada
Comprehensive, Pascal-based language used by the Department of Defense. See
Ada.
ALGOL
International language for expressing algorithms. See
ALGOL.
APL
Used for statistics and mathematical matrices. Requires special keyboard symbols. See
APL.
BASIC
Developed as a timesharing language in the 1960s. It has been widely used in microcomputer programming in the past, and various dialects of BASIC have been incorporated into many different applications. Microsoft's Visual Basic is widely used. See
BASIC and
Visual Basic.
Blockly
Programming with interlocking graphic elements. See
visual programming.
C/C++
Developed in the 1970s at AT&T. Widely used to develop operating systems and commercial applications. Unix was the first OS written in C. C++ (C plus plus) is the object-oriented version of C that is popular because it combines objects with traditional C programming syntax. See
C.
C#
Pronounced "C-sharp." A Microsoft .NET language based on C++ with elements from Visual Basic and Java. See
.NET Framework.
Clojure
A dialect of LISP geared to multithreading. See
Clojure.
COBOL
Developed in the 1960s. Widely used for mini and mainframe programming. See
COBOL.
CoffeeScript
A more readable version of JavaScript. See
CoffeeScript.
Cython
A superset of the Python language, combining syntax from Python and C. See
Cython.
D
An object-oriented language similar to C/C++. See
D.
Dart
Web-based programming language from Google. Introduced in 2011, Dart was touted to provide greater performance for Web applications than JavaScript but has been used mostly by Google. See
Dart.
dBASE
Widely used in the past for business applications. See
dBASE Plus.
Erlang
Functional language modeled after and specialized for concurrent processing. See
Erlang.
esoteric languages
A family of programming languages created to push the envelope. See
esoteric programming language.
F#
Pronounced "F-sharp." A Microsoft .NET scripting language based on ML. See
F#.
FORTH
Developed in the 1960s, FORTH has been used in process control and game applications. See
FORTH.
FORTRAN
Developed in 1954 by IBM, it was the first major scientific programming language and continues to be widely used. Some commercial applications have been developed in FORTRAN. See
FORTRAN.
Go
Object-oriented language styled after C/C++ from Google. Go was made public in 2012. See
Go.
Groovy
Java-based language that simplifies various functions. See
Groovy.
Haskell
Pure functional programming language developed in the 1990s. See
Haskell.
HTML5
With Version 5, HTML became an official programming language because it formalized the use of JavaScript programming. See
HTML5 and
HTML.
Java
The programming language developed by Sun and repositioned for Web use. It is widely used on the server side, although client applications are also used. See
Java.
JavaScript
The de facto scripting language on the Web. JavaScript is embedded into billions of HTML pages, and it was formalized as part of HTML5. See
JavaScript.
JScript
Microsoft's version of JavaScript. Used in ASP programs. See
JScript.
Julia
A programming language designed for financial analysis and other numerical computations. See
Julia.
Kotlin
A versatile language that compiles into Java bytecode and native machine languages. Google endorsed for Android development. See
Kotlin.
LISP
Developed in 1960. Used for AI applications. Its syntax is very different than other languages. See
LISP.
LiveCode
Cross-platform, interpreted language that generates Mac, Windows, Linux, iOS and Android apps from the same source code. See
LiveCode.
Logo
Developed in the 1960s, it was noted for its ease of use and "turtle graphics" drawing functions. See
Logo.
Lua
Fast, lightweight scripting language that runs on Windows, Unix/Linux and smartphone platforms. See
Lua.
M
Originally MUMPS (Massachusetts Utility MultiProgramming System), it includes its own database. It is widely used in medical applications. See
M.
MATLAB
Designed for scientific and engineering applications. See
MATLAB.
ML
A programming language that spawned OCaml and F#. See
ML.
Modula-2
Enhanced version of Pascal introduced in 1979. See
Modula-2.
Objective-C
A version of C used to program Mac and iOS apps. See
Objective-C.
OCaml
A dialect of the ML language family that is used for industrial strength applications. See
OCaml.
P4
A language for programmable network devices. See
P4.
Pascal
Originally an academic language developed in the 1970s. Borland commercialized it with its Turbo Pascal. See
Pascal.
Perl
A scripting language used on the Web to write CGI scripts. See
Perl.
PHP
Widely used server-side language embedded in Web pages along with HTML. A major Web language. See
PHP.
Prolog
Developed in France in 1973. Used throughout Europe and Japan for AI applications. See
Prolog.
Python
A scripting language used for AI applications, system utilities and Internet scripts. Developed in Amsterdam by Guido van Rossum. See
Python.
REXX
A general-puprose macro language that runs on IBM mainframes and OS/2. See
REXX.
R
Designed for statistical computing, R is the open source version of S. See
R.
Ruby
An interpreted language somewhat similar to Perl in syntax. The Ruby on Rails framework influenced other languages such as JavaScript, PHP and Python. See
Ruby.
Rust
Offers memory-safe features with low-level control. See
Rust.
S
Proprietary verson of the R language. See
S.
Scala
A Java-like language that runs in a Java Virtual Machine (JVM). See
Scala.
Scratch
Visual programming for developing animations. See
Scratch.
Solidity
Programming smart contracts for the Ethereum blockchain. See
Ethereum.
Swift
An Apple language that adds features to Objective-C. See
Swift.
TypeScript
A superset of JavaScript that flags errors. See
TypeScript.
VBScript
Subset of Visual Basic used on the Web similar to JavaScript. See
VBScript.
Visual Basic
Version of BASIC for Windows programming from Microsoft that has been widely used. See
Visual Basic.
Visual FoxPro
A dBASE language and development system from Microsoft. See
Visual FoxPro.
Web Languages
Languages such as JavaScript, Jscript, Perl and CGI are used to automate Web pages as well as link them to other applications running in servers.
Even More Languages!
Programmers must use standard names for the instruction verbs (add, compare, etc.), and companies generally use standard names for the data in their databases. However, programmers "make up" names for the functions (subroutines) in their own programs, and they make up dozens of them, essentially creating their own language. But since they dislike documenting their code, the readability of that language is critical.
Just Make It Up!
Unless naming conventions are enforced or pair programming is used, whereby one person looks over the shoulders of the other, programmers can make up names that make no sense whatsoever. The bane of programmers is having to modify someone else's program that has unclear names and few comments. It often requires tracing the logic one statement at a time.
In fact, if programmers use careless naming, they can have a miserable time reading their own code later. See
pair programming,
programmer,
to the recruiter and
naming fiascos.
No Language, Just Wires
In 1946, the ENIAC was programmed by plugging wires from one socket to another. That led to the plugboards on tabulating machines and later to programming languages. See
tabulator and
Hollerith machine.
(Image courtesy of Rare Book & Manuscript Library, University of Pennsylvania.)