| 
		Computer Languages | 
    
 
    
    
    
         | 
        
 Low level  (Assembly) languages... 
		
			- are closely related to the design of the computer
 
			- are
difficult for programmers to develop code and to test and modify
			programs. Simple tasks need a lot of instructions.
 
		 
		 High level
 languages
		... 
		
			- use instructions related to the way a problem is solved
 
			- are easier for programmers to design, code, debug and maintain.
 
			- started to be developed in the mid 1950s.
 
		 
		Some examples of high-level languages: 
		
			- 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, subroutines 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 Class defines the methods and 
		properties for a group of similar objects. 
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. 
      	
          | 
        
         | 
    
    
        |   | 
    
    
        |   | 
        
Scripting languages allow a user some 
flexibility in some applications. Examples 
: Javascript and VBScript 
allow a user to program some functionality into a web page. This is demonstrated 
in the Activities on some of these tasks. 
   | 
        
          | 
    
    
        |   | 
    
    
        |   | 
        
 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. 
           | 
        
          | 
    
    
        |   | 
    
    
        |   | 
        
        Markup Languages A language that 
		describes how a document is laid out. Normally use 
		tags. 
		Examples : 
		HTML - used for defining how a 
		web page should be displayed by a browser. 
		XML - defines the structure of 
		data that can be used by different software. 
		   | 
        
          | 
    
    
 
    
    
    
      
		
		  | 
    
    
      |   |