We learnt in the previous class about what a computer program and programming means.
We thus know that we need a language to be able to "talk" or communicate with a computer. There are three basic types of programming languages. A computer can however understand ONLY Machine Language directly. The earliest computer programs were written in machine language.
Machine Language: is expressed in binary using only 0 and 1.
- Directly understandable by the computer
- Processing and results were extremely fast
- Being represented in Binary form, the codes were was very difficult to learn and understand by humans
- All the data and instructions had to be manually transcribed into Machine Language (Binary Form) and all results had to be decoded from Machine Language to Human Readable form
- Coding and Decoding took a long time
- Length of the program used to be immense and subsequently resulted in errors
Assembly Language: this language applied the use of Mnemonics (human memory aids) with restricted use of Machine Language. These aids came in the form of abbreviations for standard repeated functions such as AD or ADD for addition, SUB for subtraction, HLT for halting or stoping the program, etc. It also started the use of Octal or Hexadecimal codes as short hands for Binary codes.
- Easier code as compared to binary (Machine Language)
- Shorter programs
- Lack of uniformity: Abbreviations used by Assembly Language differed from machine to machine. Thus, each assembly language code was restricted to a particular machine and required a Translator to convert it to a machine usable form
High Level Language (HLL): transcribe programs as "statements" using limited vocabulary from English. Examples of High Level Languages are – BASIC, PASCAL, FORTRAN, COBOL, ALGOL, CORAL-66, FORTH, etc. Infact, what we use today as programming languages are all examples of High Level Languages.
- Uniformity achieved: overrides the deficiency of machine dependent code
- Use of English with proper syntax made it easier to write programs
- Programs written in High Level Languages are much shorter, versatile and faster to work with and debug
We come to the end of our today's lesson. Next we take a quick look into a few more basic but important concepts that help understanding the concept of programming such as translators, algorithms, flowcharts, etc before we take to writing computer programs!