ALGOL: Types & History

Instructor: David Gloag

David has over 40 years of industry experience in software development and information technology and a bachelor of computer science

Programming languages are important, and so is their history. In this lesson, we'll take a look at ALGOL, explain what it is, look at some of its data types, and learn some history associated with the language.

The Effects of Computer Languages

Computers occupy a special place in our lives, and they contribute much to the things we do. They generate the weather maps we see on television, they determine the balances for our bank and credit cards, and they produce many of the special effects we see in movies. It makes sense then that the languages we use to program them would be equally as important. C, C++, C#, Java, Pascal, Fortran, Cobol, Visual Basic, Perl, JavaScript, Python, VBScript, Tcl/Tk/Expects, and the multitude of other languages came from somewhere. Each had an effect on those that came after and owes some debt to those that came before. But, no language was more influential than ALGOL.

What is ALGOL?

ALGOL is an acronym that stands for ALGOrithmic Language. It is a computer language designed specifically for calculation. It was developed in the late 1950's by an international committee and was meant to be a universal computing tool. Unfortunately, it never achieved the success of some of its contemporaries like Fortran and Cobol. Today, it is virtually non-existent, surviving only as a reminder of how we got where we are today. Still, it provided us with many present-day programming language features which include:

  • BNF Notation - Backus-Naur Form is a formal means for describing the syntax of a computer language. Think of it as short-hand for computer languages.
  • Statement Blocks - This is a syntactic means for grouping a series of programming statements together. Think of this like putting a group of related items in a box, and treating the box as a unit.
  • Parameter Passing - Specifically, there are two methods for passing information to and from a subprogram, pass by value, and pass by reference. Think of these as a way to protect information entering a subprogram from modification, one sends a copy, the other sends the actual data.
  • Dynamic Arrays - These are a list of values where the size of the list can be determined at run-time. Think of these as flexible arrays, arrays that adjust to the need.
  • Reserved Words - These are pre-defined words that have special meaning to a computer language. Think of these like your name. It represents you and the things you can do.

What Types Does the Language Have?

Like many languages we see today, ALGOL had a set of basic types. They included:

  • real - These are values with fractional parts, for example, 3.14.
  • int - This is a value with no fraction part, for example, 3.
  • compl - These are values with a real number and an imaginary number, for example, 3 + 4i, where i is the square root of -1.
  • bool - These values are either true (1) or false (0), for example, the result of comparisons like 3 < 4.
  • char - These values contain single letters, symbols, or numbers that are interpreted as text.
  • bits - This is a packed (no spaces) list of bool, for example, 100111101.
  • bytes - This is a packed (no spaces) list of char, for example, hello.

ALGOL also had the ability to create complex types from the above primitives using the type constructors:

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it now
Create an account to start this course today
Used by over 30 million students worldwide
Create an account