Alan Freedman -- The Computer Language Company - Computer Desktop Encyclopedia
Computer Desktop Encyclopedia
Longest-Running Tech Reference on the Planet

A CDE Definition

You'll love The Computer Desktop Encyclopedia (CDE) for Tech Term of the Day (TTOD)


application development language

See programming language.

programming language

A language used to write instructions for the computer. It lets the programmer express data processing in a symbolic manner without regard to machine-specific details.

From Source Code to Machine Language
The statements that are written by the programmer are called "source language," and they are translated into the computer's "machine language" by programs called "assemblers," "compilers" and "interpreters." For example, when a programmer writes MULTIPLY HOURS TIMES RATE, the verb MULTIPLY must be turned into a code that means multiply, and the nouns HOURS and RATE must be turned into memory locations where those items of data are actually located.

Grammar and Syntax
Like human languages, each programming language has its own grammar and syntax. There are many dialects of the same language, and each dialect requires its own translation system. Standards have been set by ANSI for many programming languages, and ANSI-standard languages are dialect free. However, it can take years for new features to be included in ANSI standards, and new dialects inevitably spring up as a result.

Low Level and High Level
Programming languages fall into two categories: low-level assembly languages and high-level languages. Assembly languages are available for each CPU family, and each assembly instruction is translated into one machine instruction by the assembler program. With high-level languages, a programming statement may be translated into one or several machine instructions by the compiler.

Following is a brief summary of the major high-level languages. Look up each one for more details. For a list of high-level programming languages designed for client/server development, see client/server development system.

Programming language for Flash programs. See Flash and ActionScript.

Comprehensive, Pascal-based language used by the Department of Defense. See Ada.

International language for expressing algorithms. See ALGOL.

Used for statistics and mathematical matrices. Requires special keyboard symbols. See APL.

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.

Developed in the 1970s at AT&T. Widely used to develop commercial applications. Unix is 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.

Pronounced "C-sharp." A Microsoft .NET language based on C++ with elements from Visual Basic and Java. See .NET Framework.

A dialect of LISP geared to multithreading. See Clojure.

Developed in the 1960s. Widely used for mini and mainframe programming. See COBOL.

A more readable version of JavaScript. See CoffeeScript.

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.

Widely used in the past for business applications, but FoxPro (Microsoft's dBASE) has survived the longest. See Visual FoxPro, FoxBase, Clipper and Quicksilver.

Pronounced "F-sharp." A Microsoft .NET scripting language based on ML. See F#.

Developed in the 1960s, FORTH has been used in process control and game applications. See FORTH.

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.

Java-based language that simplifies various functions. See Groovy.

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.

The de facto scripting language on the Web. JavaScript is embedded into billions of HTML pages. See JavaScript.

Microsoft's version of JavaScript. Used in ASP programs. See JScript.

Developed in 1960. Used for AI applications. Its syntax is very different than other languages. See LISP.

Cross-platform, interpreted language that generates Mac, Windows, Linux, iOS and Android apps from the same source code. See LiveCode.

Developed in the 1960s, it was noted for its ease of use and "turtle graphics" drawing functions. See Logo.

Fast, lightweight scripting language that runs on Windows, Unix/Linux and smartphone platforms. See Lua.

Originally MUMPS (Massachusetts Utility MultiProgramming System), it includes its own database. It is widely used in medical applications. See M.

Enhanced version of Pascal introduced in 1979. See Modula-2.

A version of C used to program Mac and iOS apps. See Objective-C.

Originally an academic language developed in the 1970s. Borland commercialized it with its Turbo Pascal. See Pascal.

A scripting language widely used on the Web to write CGI scripts. See Perl.

Server-side language embedded in Web pages. See PHP.

Developed in France in 1973. Used throughout Europe and Japan for AI applications. See Prolog.

A scripting language used for system utilities and Internet scripts. Developed in Amsterdam by Guido van Rossum. See Python.

Runs on IBM mainframes and OS/2. Used as a general-purpose macro language. See REXX.

A Java-like language that runs in a Java Virtual Machine (JVM). See Scala.

An Apple language that adds features to Objective-C. See Swift.

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.

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

Personal Use Only

Before/After Your Search Term
application adapterapplication development services
application binary interfaceapplication development system
application blacklistApplication Development Workbench
Application Centerapplication distribution program
application centricApplication Error
application-defined networkingapplication extension
application delivery controllerApplication Foundation Classes
application developerapplication framework
application developmentapplication gateway
application development environmentapplication generator

Terms By Topic
Click any of the following categories for a list of fundamental terms.
Computer Words You Gotta KnowSystem design
Job categoriesUnix/Linux
Interesting stuffPersonal computers
InternetIndustrial Automation/Process Control
Communications & networkingAssociations/Standards organizations
HistoryDesktop publishing
ProgrammingHealthcare IT
System design