TRANSLATOR (Lesson 4)

All software packages or programs are written in high-level languages, for example, C++, Visual Basic and Java. The translation of high level languages to machine language is performed by a translator.

PROGRAM
Have you ever wondered how your computer runs your favourite software?
Your favourite software is a program that consists of several instructions that perform its operation. A programmer will write a source code which consists of the instructions needed to run a program. Then the compiler or interpreter with assembler will translates the source code into machine language which is made of a sequence of bits (eg. 01100011). The computer will load the machine code and run the program.

ASSEMBLER
An assembler is a computer program for translating assembly language — essentially, a mnemonic representation of machine language — into machine language. For example in intel 80836, the assembly language for the ’no operation’ command is NOP and its machine code representation is 10010000.

INTERPRETER
The interpreter will read each codes converts it to machine code and executes it line by line until the end of the program. Examples of interpreter-based language are BASIC, Logo and Smalltalk.

COMPILER
The source code (in text format) will be converted into machine code which is a file consisting of binary machine code that can be executed on a computer. If the compiler encounters any errors, it records them in the program-listing file. When a user wants to run the program, the object program is loaded into the memory of the computer and the program instructions begin executing. A compiled code generally runs faster than programs based on interpreted language. Several programming languages like C++, Pascal and COBOL used compilers as their translators.

PROGRAMING APPROACHES (Lesson 3)

STRUCTURED PROGRAMMING EDUCATION

Structured programming often uses a top-down design model where developers map out the overall program structure into separate subsections from top to bottom. In the top-down design model, programs are drawn as rectangles. A top-down design means that the whole program is broken down into smaller sections that are known as modules.A program may have a module or several modules. Structured programming is beneficial for organising and coding computer programs which employ a hierarchy of modules. This means that control is passed downwards only through the hierarchy.

Examples of structured programming languages include Ada, Pascal and Fortran.

OBJECT-ORIENTED PROGRAMMING
The object-oriented approach refers to a special type of programming approach that combines data with functions to create objects. In an object-oriented program, the object have relationships with one another.
One of the earliest OOP languages is Smalltalk. Java, Visual Basic and C++ are examples of popular OOP languages.

DIFFERENCE BETWEEN STRUCTURED AND OBJECT ORIENTED PROGRAMMING
  •  Structured programming often uses a top-down design model.
  •  The object-oriented programming approach uses objects.

GENERATIONS OF PROGRAMMING LANGUAGE (Lesson 2)

A low-level programming language is a programming language that provides little or no abstraction from computer’s microprocessor. A high-level programming language is a programming language that is more abstract, easier to use, and more portable across platforms.

LEVELS OF PROGRAMMING LANGUAGE

FIRST GENERATION OF PROGRAMMING LANGUAGE
The first generation of programming language, or 1GL, is machine language. Machine language is a set of instructions and data that a computer's central processing unit can execute directly. Machine language statements are written in binary code, and each statement corresponds to one machine action.

SECOND GENERATION PROGRAMMING LANGUAGE
The second generation programming language, or 2GL, is assembly language. Assembly language is the human-readable notation for the machine language used to control specific computer operations. An assembly language programmer writes instructions using symbolic instruction codes that are meaningful abbreviations or mnemonics. An assembler is a program that translates assembly language into machine language.

THIRD GENERATION PROGRAMMING LANGUAGE
The third generation of programming language, 3GL, or procedural language uses a series of English-like words, that are closer to human language, to write instructions.
High-level programming languages make complex programming simpler and easier to read, write and maintain.Programs written in a high-level programming language must be translated into machine language by a compiler or interpreter. PASCAL, FORTRAN, BASIC, COBOL, C and C++ are examples of third generation programming languages.

FOURTH GENERATION PROGRAMMING LANGUAGE
The fourth generation programming language or non-procedural language, often abbreviated as 4GL, enables users to access data in a database. A very high-level programming language is often referred to as goal-oriented programming language because it is usually limited to a very specific application and it might use syntax that is never used in other programming languages. SQL, NOMAD and FOCUS are examples of fourth generation programming languages.

FIFTH GENERATION PROGRAMMING LANGUAGE
The fifth generation programming language or visual programming language, is also known as natural language. Provides a visual or graphical interface, called a visual programming environment, for creating source codes. Fifth generation programming allows people to interact with computers without needing any specialised knowledge. People can talk to computers and the voice recognition systems can convert spoken sounds into written words. Prolog and Mercury are the best known fifth-generation languages.

EXT : OPEN PROGRAMMING LANGUAGE
The Open Programming Language (OPL) is an embedded programming language found in portable devices that run the Symbian Operating System. For example mobile telephones and PDAs. OPL is an interpreted language that is analogous to BASIC.

PROGRAM AND PROGRAMMING

PROGRAM
A computer program is a series of organised instructions that directs a computer to perform tasks. Without programs, computers are useless. A program is like a recipe. It contains a list of variables (called ingredients) and a list of statements (called directions) that tell the computer what to do with the variables.

PROGRAMMING
Programming is a creation of a set of commands or instructions which directs a computer in carrying out a task.

PROGRAMMING LANGUAGE
A programming language is a set of words, symbols and codes that enables humans to communicate with computers.

EXAMPLES PROGRAMMING LANGUAGE
Examples of programming languages are:

 BASIC (Beginner’s All Purpose Symbolic Instruction Code) ,  Pascal, C ,  Smalltalk.