Computer Languages

Low level (Assembly) languages are difficult for programmers to develop code and to test and modify it. Simple tasks need a lot of instructions. High level languages started to be developed in the mid 1950s.

  • FORTRAN (FORmula TRANslator); mainly used for engineering/scientific computing.
  • COBOL(Common Business Orientated Language). Still one of the main commercial data processing languages.
  • ALGOL (ALGOrithmic Language) was also developed in the 1950s and many of the languages such as C and C++ are developed from it.
  • BASIC (Beginners All-purpose Symbolic Instruction Code) was developed in the 1960s as a simple programming language.
  • PASCAL was developed in the 1970s as a well-structured teaching language.
  • Other high-level languages include : LISP, PROLOG, PL/1 , ADA

 

 

Procedural (Imperative) Languages. In procedural languages a sequence of commands is given. Each command is an action which needs to be carried out. Traditional languages such as FORTRAN, COBOL, BASIC and PASCAL are procedural languages.

Procedural languages use variables and program flow control (loops etc).

 

 

Non-procedural (Declarative) Languages. A set of facts and a set of rules is declared - from which, information is deduced. Declarative languages consist of logic languages (eg PROLOG) and functional languages (eg LISP).

PROLOG is particularly suited to developing expert systems.

- a program consists of a number of facts

parent(Tom, Bob)
parent(Pam, Bob)
male(Tom)

and a set of rules

father(X,Y) :=

parent(X,Y)
male(X)

brother(X,Y) :=

parent(Z,X)
parent(Z,Y)
male(X)

and a query which is answered by applying the facts and rules eg

? father(who, Bob)

which would return the answer

who = Tom

 

LISP is useful for programming AI (Artificial Intelligence) systems.

LISP stands for LISt Processing. It is an example of a functional language, and a LISP program consists of a series of function definitions.

Example : The statement

(insects(beetles biting_flies (mosquitoes midges horseflies) dragon_flies))

is a representation of the hierarchical diagram :

 

 

Object-oriented Languages.

Objects have properties and methods.

C++ is an example of an object-oriented programming (OOP) language. Most application developing languages (eg Visual Basic, Delphi) use objects.

In Visual Basic, the programmer places objects on forms and defines the properties of each object. It is an event-driven language. An event is eg a click of the mouse and this initiates a sequence of code to be executed. The behaviour of an object when an event occurs is programmed, and every object has a number of methods - procedures which it can execute.

A 'Jumbo jet' is an instance of an object 'Aeroplane'. Its properties are its length, width, height, colour etc and its methods are flying, landing, turning etc

 

 

Visual Languages

Some object-oriented languages allow the programmer to develop an application by creating new objects or by placing previously-defined objects into a windows-based (GUI) environment and setting the ways the objects interact.

Eg Visual Basic, Visual C++, Delphi...

 

 

Other Languages.

Some high level languages are written for special purposes.

ADA is used for programming embedded systems - hence the interest by the Department of Defence for using it to program missile systems.

OCCAM is a language specially developed to program parallel processing systems eg on transputers.

Example:

par {enables two processes to execute simultaneously}

seq
a := 20
b := a * a

seq
c := 1
d := 2 * c

parend

PL/1 (Programming Language 1) was developed to combine the best features of a scientific language and a commercial language but ended up by being too complex.

 

 

Package-based Languages.

Some packages eg Microsoft Access have in-built programming capabilities. This allows the programmer to customise general purpose packages to exactly meet the needs of the business.

These are also called Fourth Generation Languages (4GL). Facilities include searching, data manipulation and report generation.