As among human beings language is a source of communication to each other, as same in order to communicate with computer system we must have a language that can be understandable by the computer. For the purpose of performing different types of work on the computer system, we developed different types of computer languages.
Basically, computer languages are divided into two categories- Low-Level programming Languages and High-Level programming Languages. A language that corresponds directly to a specific machine language is called Low-Level languages where as any language that is independent of the machine is called high-Level Languages.
There are some other classifications of computer languages-
• System languages: These are designed for low-level tasks, like memory and process management.
• Scripting languages: These tend to be high-level and very powerful.
• Domain-specific languages: These are only used in very specific contexts.
• Visual languages: Languages that is not text-based.
Machine language-
It is the most elementary language and was the first programming language to be developed. It is the only language, which computer can understand without any language translator. The machine language is represented inside the computer by a string of binary digits (bits) 0 and 1. The symbol 0 stands for the absence of an electric pulse and 1 for the presence of an electric pulse, so that a computer is capable of recognizing electric signals.
Advantages-
• It makes fast and efficient use of the computer.
• It does not require any language translator, because it is directly understood by the computer itself.
• It takes very less time to execute a program, because there is no conversion takes place.
Disadvantages-
• All memory addresses have to be remembered.
• All operation codes have to be remembered.
• It is hard to find errors in a program written in the machine language.
Assembly Language-
It was developed to overcome some of the inconveniences of machine language. In assembly language operation codes and operands are given in the form of alphanumeric symbols instead of 0’s and 1’s in machine language. These alphanumeric symbols will be known as mnemonic codes and can be easier to understand e.g. ADD for addition, SUB for subtraction, START LABEL etc. The instructions of the assembly language will be converted to machine language by assembler to be executed by the computer.
Advantages-
• Assembly language is easier to understand and use as compared to machine language.
• It is easy to locate and correct errors.
• It is easily modified.
Disadvantages-
• Like machine language, it is also machine dependent/specific.
• Since it is machine dependent, the programmer also needs to understand the hardware.
High Level Languages-
High-level languages are basically symbolic languages that use English words and/or mathematical symbols rather than mnemonic codes. Each instruction in the high-level language is translated into machine language instructions that the computer can understand. High-level computer languages use formats that are similar to English. The purpose of developing high-level languages was to enable people to write their own programs easily.
Advantages-
• User-friendly
• Similar to English with vocabulary of words, all symbols therefore it is easier to learn.
• It require less time to write and easier to maintain
• Problem oriented rather than machine based.
• Shorter than their low-level equivalents. One statement translates into many machine code instructions.
Disadvantages-
• A high-level language has to be translated into the -machine language by a translator and thus a price in computer time is paid.
• The object code generated by a translator might be inefficient compared to an equivalent assembly language program.