Home www.play-hookey.com Wed, 06-23-2021
| Direct Current | Alternating Current | Semiconductors | Digital | Logic Families | Digital Experiments | Computers |
| Analog | Analog Experiments | Oscillators | Optics | HTML Test |
| Programming | Programming Basics | Programming Languages | Levels of Programming Languages |

Programming Languages

Early programming languages were designed for specific kinds of tasks. Modern languages are more general-purpose. In any case, each language has its own characteristics, vocabulary, and syntax. While this page will not by any means cover all of the available programming languages, we will take a look at a number of the better-known languages.


One of the earliest computer languages, FORTRAN (an acronym for FORmula TRANslator) was designed to handle mathematical operations, originally on mainframe computers. FORTRAN was unable to handle text manipulations of any sort, and could just barely place quoted text in its printed output.


The COmmon Business Oriented Language, or COBOL, is almost the exact opposite of FORTRAN. COBOL was devised to permit programs to be written for business data processing applications, using English-like statements. It is intended to handle business data records, so its mathematical capabilities are limited pretty much to dollars and cents, and percentages.


Another mathematically-oriented language, ALGOL (ALGOrithmic Language) does its work primarily in terms of numerical procedures called (surprise!) algorithms.


Named after Blaise Pascal, a French philosopher, mathemetician, and physicist, Pascal was specifically designed as a teaching language. Its object was to force the student to correctly learn the techniques and requirements of structured programming. Pascal was designed originally to be platform-independent. That is, a Pascal program could be compiled on any computer, and the result would run correctly on any other computer, even with a different and incompatible type of processor. The result was relatively slow operation, but it did work after its own fashion.


The Beginner's All-purpose Symbolic Instruction Code, BASIC was the first interpreted language made available for general use. It is now in such widespread use that most people see and use this language before they deal with others. It has changed over time, and is now most commonly seen as Visual Basic in a Windows® environment.


Both a compiler and an interpreter, FORTH was originally developed to handle real-time operations and still allow direct user control and rapid program modifications. The name FORTH stems from its conception as a fourth-generation language, but it was developed on a computer system that permitted only five character filenames.

Assembly Language

Assembly language is a symbolic representation of the absolute machine code of a particular processor. Therefore, each processor has its own specific assembly language, although a family of processors, such as the Intel 80x86 series, may share some or all of its assembly code.


First came an experimental language called A, which was improved, corrected, and expanded until it was called B. This language in turn was improved, upgraded, and debugged and was finally called C. The C language has turned out to be quite versatile and amazingly powerful. The C language is amazingly simple, and is nevertheless capable of great things. The Unix operating system, which has been adapted to a wide range of platforms and is gaining in popularity, is written in C.


When the concepts of objects and object-oriented programming were being developed, the standard C language didn't have the built-in structures to handle them. However, C was (and is) still highly useful and well worth keeping around, so a sort of extended C language was developed. This language was essentially "C and then some", or C-plus (C+). As the concepts of object-oriented programming continued to develop, C+ had to be upgraded, and became C++.


The search for a platform-independent language is always in progress. Java is the latest language to be designed to meet this goal. Any computer with a Java Runtime Environment can run a Java program.

One of the more useful aspects of Java is that Web browsers are now designed to be able to embed small Java applications, or "applets," into Web pages. Other Java programs, called "servlets," will run on Web servers. This allows extra communications between the page and the server, and permits a high degree of interactivity and dynamic page generation. The downside of using applets this way is that they inherently run much more slowly than native programs on your computer.


Javascript is an interpreted version of Java, in most respects. Its most common application is within Web pages, where it can be used to provide interactivity and dynamic responses. This site has a section on digital logic and logic gates, called The Logical Story, which makes use of Javascript in this fashion. Some Web servers can also make use of Javascript for dynamic page generation.


The Practical Extraction and Report Language (Perl) is very similar to C in many respects. However, it has a number of features which make it very useful in a wide range of applications. The most visible use of Perl is in CGI programming for the World Wide Web. Very often when you submit a form to a server, that form will be processed by a program written in Perl.

However, this is not the only use for Perl by any means. Perl is an excellent general-purpose programming that allows fast program development on a wide range of platforms. As one example, the popular mailing-list handling program Majordomo is written entirely in Perl.

We have mentioned compilers, interpreters, assembly language, and some related terms above. These terms refer to the means by which a program written by a human being is translated into the absolute machine code which is the only language actually understood by the computer itself. On the next page, we'll take a look at what we mean by these terms, and the actual requirements for executing a program written in any of the above languages.

Prev: Programming Basics Next: Levels of Programming Languages

All pages on www.play-hookey.com copyright © 1996, 2000-2015 by Ken Bigelow
Please address queries and suggestions to: webmaster@play-hookey.com