GNVQ Advanced IT (Languages)




Link to RNIB links [guestbook]
Unit 6 Languages:

Other glossaries and link pages
[General glossary ] [ Internet General Glossary  ] [Network terms ] [Computer terms ] [ Java Fact File ] [GNVQ Glossary] [ Useful sites]



High Level Language
 Applets
 BASIC
 C
 C++
 CGIscript
 COBOL
 COMPILER
 Database
 Drivers see also Network card drivers NICs
 EXEcutable File
 FORTRAN
 Generation Language (1GL) (2GL) (3GL) (4GL) (5GL)
 HTML
 Interpreter
 JAVA
 JAVAscript
 Low Level Language
 Object code
 PASCAL
 PERL
 Program
 Program generators
 Programming Styles
 SOURCE CODE
 System Software see also Network operating system
 Utility Program
 VBA
 VBscript
 VISUAL BASIC


High Level Language          Program features
High-Level Language in computing, a programming language designed to suit the requirements of the programmer; it is independent of the internal machine code of any particular computer. High-level languages are used to solve problems and are often described as problem-oriented languages - for example, BASIC was designed to be easily learnt by first-time programmers; COBOL is used to write programs solving business problems; and FORTRAN is used for programs solving scientific and mathematical problems. In contrast, low-level languages, such as assembly languages, closely reflect the machine codes of specific computers, and are therefore described as machine-oriented languages.

Unlike low-level languages, high-level languages are relatively easy to learn because the instructions bear a close resemblance to everyday language, and because the programmer does not require a detailed knowledge of the internal workings of the computer. Each instruction in a high-level language is equivalent to several machine-code instructions. High-level programs are therefore more compact than equivalent low-level programs. However, each high-level instruction must be translated into machine code - by either a compiler or an interpreter program - before it can be executed by a computer. High-level languages are designed to be portable - programs written in a high-level language can be run on any computer that has a compiler or interpreter for that particular language.

Features of High Level Languages
Most high level languages have similar features.

Reserved Words are words that have a special meaning within a program and they cannot be used as variables or other purposes by the programmer.  Examples (in Pascal) are END and WHILE.

Identifiers are names created by the programmer.  These are such things as names given to variables, constants, sub programs etc.  These are given the group name of Identifiers.

Data Structures
The most common of the data types are:

Operations on Data
Data can be operated on in two forms:
  Input/output operations
Special statements for capturing data from keyboards and to output devices such as VDU

Control structures
The normal top to bottom sequential program operation can be altered in two main ways:

Iteration - eg. FOR..........NEXT, REPEAT........UNTIL, DO..........WHILE  etc.allowing instructions to be repeated.

Selection - eg  IF........THEN.........ELSE, CASE allowing alternative courses of action to be taken dependant upon a condition existing.

File handling
Most high level languages allow file handling and incorporate instructions such as:

Scope of variables

Variables can be declared in the main program to work globally throughout the programme (including the sub programmes).  When a variable is declared in a sub programme the variable is described as a local variable

Functions and procedures

Languages such as Pascal and C allow the programmer to create subprograms (subroutines or modules) These sub programmes are given a name and can be called when required by the program code.  Subprograms are also called procedures or functions.  Each leaves the main program to carry out a sub routine and return to the point in program that they were called from to carry on with the sequential program. There is a slight difference with a function returning a value to the calling program.



COBOL (acronym for common business-oriented language)
High-level computer-programming language, designed in the late 1950s for commercial data-processing problems; it has become the major language in this field. COBOL features powerful facilities for file handling and business arithmetic. Program instructions written in this language make extensive use of words and look very much like English sentences. This makes COBOL one of the easiest languages to learn and understand.


FORTRAN (acronym for formula translation)
High-level computer-programming language suited to mathematical and scientific computations. Developed 1956, it is one of the earliest computer languages still in use. A recent version, Fortran 90, is now being used on advanced parallel computers. BASIC was strongly influenced by FORTRAN and is similar in many ways.


BASIC (acronym for beginner's all-purpose symbolic instruction code)
High-level computer-programming language, developed 1964, originally designed to take advantage of multiuser systems (which can be used by many people at the same time). The language is relatively easy to learn and is popular among microcomputer users.

Most versions make use of an interpreter, which translates BASIC into machine code and allows programs to be entered and run with no intermediate translation. Some more recent versions of BASIC allow a compiler to be used for this process.



PASCAL
designed in 1971 as a teaching language.  Pascal is highly structured, procedural, compiled language.  The design of the language encourages a structured approach to programming


C
C is a popular language used in professional and commercial programs.  Many of the major application programs and operating systems are written in C.  It is a compiled, procedural language that provides both high-level commands and low level access to hardware.

C++
C++ is an object-oriented version of C. 
Visual Basic
VB is an example of an event driven language.  An event driven language helps programmers easily create programs that must constantly check for and respond to a set of events, such as key presses or mouse actions.  Most GUI programs are event driven - they display controls such as menus on the screen and take action when the user activates one of the controls.  When creating an event-driven program, graphical objects (buttons, dialogue boxes, scroll bars, icons etc.) are selected and code segments are embedded into the control.  Although other languages can be used to write windows operating systems an event driven language simplifies the development process.

Interpreter
An Interpreter  is a computer program that translates and executes a program written in a high-level language. Unlike a compiler, which produces a complete machine-code translation of the high-level program in one operation, an interpreter translates the source program, instruction by instruction, each time that program is run.

Because each instruction must be translated each time the source program is run, interpreted programs run far more slowly than do compiled programs. However, unlike compiled programs, they can be executed immediately without waiting for an intermediate compilation stage.



Compiler
A compiler is a computer program that translates programs written in a high-level language into machine code (the form in which they can be run by the computer). The compiler translates each high-level instruction into several machine-code instructions - in a process called compilation - and produces a complete independent program that can be run by the computer as often as required, without the original source program being present.

Different compilers are needed for different high-level languages and for different computers. In contrast to using an interpreter, using a compiler adds slightly to the time needed to develop a new program because the machine-code program must be recompiled after each change or correction. Once compiled, however, the machine-code program will run much faster than an interpreted program.



Executable File
In computing, a file - always a program of some kind - that can be run by the computer directly. The file will have been generated from a source program by an assembler or compiler. It will therefore not be coded in ASCII and will not be readable as text. On MS-DOS systems executable files have a .EXE or .COM extension.


Source Language
In computing, the language in which a program is written, as opposed to machine code, which is the form in which the program's instructions are carried out by the computer. Source languages are classified as either high-level languages or low-level languages, according to whether each notation in the source language stands for many or only one instruction in machine code.

Programs in high-level languages are translated into machine code by either a compiler or an interpreter program. Low-level programs are translated into machine code by means of an assembler program. The program, before translation, is called the source program; after translation into machine code it is called the object program.



Low-level Language
In computing, a programming language designed for a particular computer and reflecting its internal machine code; low-level languages are therefore often described as machine-oriented languages. They cannot easily be converted to run on a computer with a different central processing unit, and they are relatively difficult to learn because a detailed knowledge of the internal working of the computer is required. Since they must be translated into machine code by an assembler program, low-level languages are also called assembly languages.

A mnemonic-based low-level language replaces binary machine-code instructions, which are very hard to remember, write down, or correct, with short codes chosen to remind the programmer of the instructions they represent. For example, the binary-code instruction that means ‘store the contents of the accumulator’ may be represented with the mnemonic STA.

In contrast, high-level languages are designed to solve particular problems and are therefore described as problem-oriented languages.



Program
In computing, a set of instructions that controls the operation of a computer. There are two main kinds: applications programs, which carry out tasks for the benefit of the user - for example, word processing; and systems programs, which control the internal workings of the computer. A utility program is a systems program that carries out specific tasks for the user. Programs can be written in any of a number of programming languages but are always translated into machine code before they can be executed by the computer.

There are several ways of writing programs:

procedural programming, in which programs are written as lists of instructions for the computer to obey in sequence, is by far the most popular. It is the ‘natural’ style, closely matching the computer's own sequential operation; declarative programming, as used in the programming language PROLOG, does not describe how to solve a problem, but rather describes the logical structure of the problem. Running such a program is more like proving an assertion than following a procedure; functional programming is a style based largely on the definition of functions. There are very few functional programming languages, HOPE and ML being the most widely used, though many more conventional languages (for example C) make extensive use of functions; object-oriented programming, the most recently developed style, involves viewing a program as a collection of objects that behave in certain ways when they are passed certain ‘messages’. For example, an object might be defined to represent a table of figures, which will be displayed on screen when a ‘display’ message is received.



Application Software
In computing, a program or job designed for the benefit of the end user, such as a payroll system or a word processor. The term is used to distinguish such programs from those that control the computer (systems programs) or assist the programmer, such as a compiler.There is a vast amount of application software and it is easier to sub-categorise it:
 

Database
In computing, a structured collection of data, which may be manipulated to select and sort desired items of information. For example, an accounting system might be built around a database containing details of customers and suppliers. In larger computers, the database makes data available to the various programs that need it, without the need for those programs to be aware of how the data are stored. The term is also sometimes used for simple record-keeping systems, such as mailing lists, in which there are facilities for searching, sorting, and producing records.

There are three main types (or ‘models’): hierarchical, network, and relational, of which relational is the most widely used. A free-text database is one that holds the unstructured text of articles or books in a form that permits rapid searching.

A collection of databases is known as a databank. A database-management system (DBMS) program ensures that the integrity of the data is maintained by controlling the degree of access of the applications programs using the data. Databases are normally used by large organizations with mainframes or minicomputers.

A telephone directory stored as a database might allow all the people whose names start with the letter B to be selected by one program, and all those living in Chicago by another.



Generation Languages

1GL/2GL/3GL/4GL/5GL
             (first, second, third, fourth, and fifth generation programming languages)

In the computer industry, these abbreviations are widely used to represent major steps or "generations" in the evolution of programming languages.

First-generation languages (1GL) were machine code (strings of 0s and 1s).

Second-generation language (2GL) is assembly language. A typical 2GL  instruction may be to add the contents of two addresses, looking something  like this:

                 ADD    FF, F8

An assembler then converts the statements into machine language.

Third-generation language (3GL) is a "high-level" programming languages, such as Pascal, C, or Java. Java
language statements look like this do while statement:

import javabook.chapter4.dice;
public class GameStarter
{
        public static void main (String args [ ] )
        {
                Dice a_dice = new Dice();
                int dice_value = 0;
                do
                {
                        a_dice.throwDice();
                        dice_value = a_dice.getDiceValue();

A compiler converts the statements of a specific high-level programming language into machine language.  (In the case of Java, the output is called bytecode, which is converted into appropriate machine language  by a Java virtual machine that runs as part of an operating system platform.) A 3GL language requires a considerable amount of programming knowledge.

Fourth-generation language (4GL) is designed to be closer to natural language than a 3GL language.  The programmer can specify a problem in general terms and leave the computer to provide a solution.  MS Access application software database allows a non expert to query a database.  The programme develops the required query code.

4GL In computing, is a type of programming language designed for the rapid programming of applications but  often lacking the ability to control the individual parts of the computer. Such a language typically provides easy ways of designing screens and reports, and of using databases. Other ‘generations’ (the term implies a class of language rather than a chronological sequence) are machine code (first generation); assembly languages, or low-level languages (second); and conventional high-level languages such as BASIC and PASCAL (third).

Fifth-generation language (5GL) is programming that uses a visual or graphical development interface to create source language that is usually compiled with a 3GL or 4GL language compiler. Microsoft, Borland, IBM, and other companies make 5GL visual programming products for developing applications in Java, for example. Visual programming allows you to easily envision object-oriented class hierarchies and drag icons to assemble program components. Microbrew AppWare and IBM's VisualAge for Java are examples of 5GL "languages."



Program Generators
Languages that aid non technical people produce high level language code.  A form of 4GL. eg  Netscape Composer is a program that allows the user to develop Hypertext Markup Language (HTML web page code) without being able to understand HTML code.  The user selects features that they wish to use in their web page and the program automatically generates the required HTML code.


Programming Language
In computing, a special notation in which instructions for controlling a computer are written. Programming languages are designed to be easy for people to write and read, but must be capable of being mechanically translated (by a compiler or an interpreter) into the machine code that the computer can execute. Programming languages may be classified as high-level languages or low-level languages. See also source language.

Writing instructions in a programming language for the control of a computer. Applications programming is for end-user programs, such as accounts programs or word processing packages. Systems programming is for operating systems and the like, which are concerned more with the internal workings of the computer.

There are several programming styles:
procedural programming, in which programs are written as lists of instructions for the computer to obey in sequence, is by far the most popular. It is the ‘natural’ style, closely matching the computer's own sequential operation; declarative programming, as used in the programming language PROLOG, does not describe how to solve a problem, but rather describes the logical structure of the problem. Running such a program is more like proving an assertion than following a procedure; functional programming is a style based largely on the definition of functions. There are very few functional programming languages, HOPE and ML being the most widely used, though many more conventional languages (for example C) make extensive use of functions; object-oriented programming, the most recently developed style, involves viewing a program as a collection of objects that behave in certain ways when they are passed certain ‘messages’. For example, an object might be defined to represent a table of figures, which will be displayed on screen when a ‘display’ message is received



Systems Software
In computing, a program that performs a task related to the operation and performance of the computer system itself. For example, a systems program might control the operation of the display screen, or control and organise backing storage. In contrast, an applications program is designed to carry out tasks for the benefit of the computer user. Three types of system software are operating systems, device drivers and utilities.


Utility Program
In computing, a systems program designed to perform a specific task related to the operation of the computer when requested to do so by the computer user. For example, a utility program might be used to complete a screen dump, format a disc, or convert the format of a data file so that it can be accessed by a different applications program.


Device Drivers
Whenever connecting a peripheral device such as a CD-ROM, Printer or mouse software is frequently needed to tell the computer how to use the device.  Usually when purchasing such a device a disk is also provided containing the device driver software which the user needs to instal.


Object Code
Either high level language or assembly level source code which has been subjected to a language processor (assembler/compiler) converts the code to machine codeor .


 
 Top of Page
Home Page
Query for Tutor?