Term of the Moment

killer app


Look Up Another Term


Definition: programming language


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.)