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 1980s at AT&T. Widely used to develop commercial applications. Unix is written in C. See C.
Object-oriented version of C that is popular because it combines object-oriented capability 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.
Developed in the 1960s. Widely used for mini and mainframe programming. See COBOL.
Used to be widely used in 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.
The programming language developed by Sun and repositioned for Web use. It is widely used on the server side, although client applications are increasingly used. See Java.
Developed in 1960. Used for AI applications. Its syntax is very different than other languages. See LISP.
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.
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.
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.
Version of BASIC for Windows programming from Microsoft that has been widely used. See Visual Basic.
Millions of Languages!
Programmers must use standard names for the instruction verbs (add, compare, etc.) in the language they use. In addition, a company generally uses standardized names for the data elements in its databases. However, programmers typically "make up" names for all the functions (subroutines) in the program. Since programmers are loathe to document their code, the readability of the names chosen for these routines is critical.
In a single program, the programmer could make up hundreds of function names as well as names for data structures that hold fixed sums, predefined tables and display messages.
Just Make It Up!
Unless rigid 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. Little understood by non-programmers, this is the bane of many professionals when they have to modify someone else's program. Debugging another person's code is very difficult if the names are cryptic, and there are few comments, which is often the case. It often requires tracing the logic one statement at a time.
In fact, if programmers are not attentive to naming things clearly, they can have a miserable time reading their own code later on. See pair programming, programmer, to the recruiter and naming fiascos.