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
-
Identifiers
-
Data structures
-
Operations on data
-
Input/Output operations
-
Control structures
-
File handling
-
Functions and procedures.
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:
-
Integer - whole numbers
-
Real - numbers that might have a fractional part
-
Character - any character on the keyboard
-
String - a number of characters connected together
-
Boolean - Value representing a logical state of TRUE
or FALSE
-
Array - set of data items of a specific type, individual
elements are addressable
-
Record - a group of variables of different types
-
File - collection of identically structured records
Operations on Data
Data can be operated on in two forms:
-
Arithmetic - add, subtract, multiplty, divide and etc.
-
Logical - such as AND, OR, NOT and etc.
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:
-
opening files
-
closing files
-
reading records from a sequential file
-
writing records to a sequential file
-
reading records from a random file
-
writing records to a random file
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:
-
productivity this covers such software as spreadsheets,
word processor, database, e-mail, graphics, desktop publishing and scheduling
software
-
business this can be sub categorised into horizontal
market software, such as accounting and payroll applications which can
be used by a range of business organisations; or, vertical market software
such as costing/estimating software designed for specific industries.
-
education software designed to train individuals under
the control of a tutor or self teaching packages. CBT (computer
based training) and tutorials are examples in this area.
-
reference electronic encyclopaedias
-
entertainment
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 .