Programming Language for SS1

Programming Language for SS1
Definition of Terms

Program : A computer program is a sequence of related instruction (command) that tell the computer how to accomplish a specific task. A program can also be defined as a set of instruction that is executed by the CPU.
Programming: Programming is the act of writing computer program. A computer program are written by trained and qualify people called programmer.
Computer language: Computer language is a language used by, or associated with the computer.
Programming Language: A computer programming language is an artificial language that can be used to control the behavior of a machine particularly a computer. Programming language is a means through which programmer communicate with the computer in solving different categories of problems. A set of rules governing how the words in the language are written is called syntax and the meaning associated with each word is called semantic. Markup languages like HTML are generally not regarded as programming languages, but they are computer language. Programming language foster the communication of programs among programmers and computer; markup language communicate the formatting or structure of document among human and computer.
Levels of Programming Language
There are three levels of programming language
1. Machine Language
2. Low Level Language (Assembly Language)
3. High Level Language
Machine Language
This was the first generation programming language. A computer will only understand one language, which is the machine language. There are two symbols in machine language; these are 1 and 0 generally called binary digits or bits.
Advantages
1. Machine language makes fast and efficient use of the computer.
2. It requires no translator to translate the code. It is directly understood by the computer.
Disadvantages
1. All operation codes have to be remembered
2. It is machine dependent
3. It is hard to amend or find errors in a program written in the machine language.
Low Level Language
A low Level programming Language is a programming that provides little or no abstraction from a computer’s microprocessor. The word low does not imply that the language is inferior to high level programming languages but rather refers to the small or nonexistent amount of abstraction between the language and machine: because of this, low level languages are sometimes described as being “close to the hardware. The example of low-level language is the assembly language, and it was the second generation programming language, or 2GL. It was developed to overcome some of the many inconveniences of machine language. 
Assembly language is a mnemonic representation of machine language. It is one level above machine language. A program for translating low assembly language is called assembler.
Advantages of Assembly Language
1. It is easier to understand and use as compared to machine language.
2. It is easy to locate and correct error as compared to machine language
3. Program written in assembly language executes faster than that of high level language.
Disadvantages of Assembly Language
1. Assembly language, like machine code is also machine dependent
2. Difficult to remember the syntax.
High Level Programming Language
These are programming languages that allow for programs to be written in forms that are readable to human beings. A high level language is a programming language that, in comparison to low level programming languages, may be more abstract, easier to use, or more portable across platforms.
Examples of High Level Language include
a. PASCAL
b. BASIC (Beginners All-purpose Symbolic Instruction Code)
c. C ++
d. Java
e. FORTRAN (Formula Translation)
f. COBOL (Common Business Oriented Language)
g. PROLOG
h. ALGOL (Algorithmic language)
i. APL (A Programming Language)
j. RPG (Report Program Generator)
k. Python
Advantages of High Level Language
1. It is easier to learn and use
2. It user friendly
3. Programs in high level language requires less time to write
4. It is easier to maintain
5. It is machine independent
6. It does not require programmer to have knowledge of the computer hardware architecture.
Disadvantages of High Level Languages
1. It takes time to execute or run because it must first be translated into machine code by a translator before it can be executed.
2. Programmers need to remember a large set of syntax and semantics.
Comparison of Machine Language, Low Level Language (assembly language) and High Level language
Different Languages Characteristics or Features
1. Machine Language
1. Machine dependent
2. Uses special code and the assignment of storage location.
2. Low Level Language (Assembly language) 
1. Machine dependent
2. Uses mnemonics(symbolic operation code) and operand (symbolic storage address)
3. 1 to 1 language
3. High Level Language 
1. Machine independent
2. Uses instructions that seem English like
3. 1 to many language, i.e. for one high level instruction, many machine level statement may be generated.