Friday, January 8, 2016

Computer Language and Language Processor

Computer Language
        In all over the world, language is the source of  communication among human beings. Different countries/regions have different language. Similarly, in order to communicate with the computer user also needs to have a language that should be understood by the computer. For this purpose, different languages are developed for performing different types of work on the computer. Basically, languages are divided into two categories according to their interpretation.

  1. Low Level Languages
  2. High Level Languages
1. Low Level Languages
       Low level computer languages are machine codes or close to it. Computer cannot understand instructions given in high level languages or in English. It can only understand and execute instructions given in the form of machine language i.e. language of 0 and 1. There are two level languages:
  • Machine Language.
  • Assembly Language
Machine Language:
           It is the lowest and most elementary level of Programming language and was the first type of programming language to be Developed. Machine Language is basically the only language which computer Can understand. In fact, a manufacturer designs a computer to obey just one Language, its machine code, which is represented inside the computer by a String of binary digits (bits) 0 and 1. The symbol 0 stands for the absence of Electric pulse and 1 for the presence of an electric pulse. Since a computer is Capable of recognizing electric signals, therefore, it understand machine language.

Advantages of Machine Language:
  • It makes fast and efficient use of the computer.
  • It requires no translator to translate the code i.e. Directly understood by the computer.
Disadvantages of Machine Language:
  • All operation codes have to be remembered
  • All memory addresses have to be remembered.
  • It is hard to amend or find errors in a program written in the machine language
  • These languages are machine dependent i.e. a particular Machine language can be used on only one type of computer.
Assembly Language
         It was developed to overcome some of the man inconveniences of machine language. This is another law level but a very important language in which operation codes and operands are given in the form of alphanumeric symbols instead of 0's and 1's. These alphanumeric symbols will be known as mnemonic codes and can have maximum up to 5 letter combination e.g. ADD for addition, SUB for subtraction, START, LABEL etc. Because of this feature it is also known as 'Symbolic Programming Language'. This language is also very difficult and needs a lot of practice to master it because very small English support is given to this language. The language mainly helps in compiler orientations. The instructions of the Assembly language will also be converted to machine codes by language translator to be executed by the computer.

Advantages of Assembly Language:
  • It is easier to understand and use as compared to machine language.
  • It is easy to locate and correct errors.
  • It is modified easily
Disadvantages of Assembly Language:
  • Like machine language it is also machine dependent.
  • Since it is machine dependent therefore programmer should have the knowledge of the hardware also.
2. High Level Languages
          High level computer languages give formats close to English language and the purpose of developing high level languages is to enable people to write programs easily and in their own native language environment (English). 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 many machine language instructions thus showing one-to -many translation.

Types of High Level Languages
          Many languages have been developed for achieving different variety of tasks, some are fairly specialized others are quite general purpose. These are categorized according to their use as:

a) Algebraic Formula-Type Processing. These languages are oriented towards the computational procedures for solving mathematical  and statistical problem. problem. Examples are:
  • BASIC (Beginners All Purpose Symbolic Instruction Code).
  • FORTRAN (Formula Translation)
  • PL/I (Programming Language, Version 1).
  • ALGOL ( Algorithmic Language).
  • APL (A Programming Language).
b) Business Data Processing:
          These languages emphasize their capabilities for maintaining data processing procedures and files handling problems. Example are:
  • COBOL (Common Business Oriented Language).
  • RPG (Report Program Generator)
c) String and List Processing: These are used for string manipulation including search for patterns, inserting and deleting characters. Example are:
  • LISP (List Processing).
  • Prolog (Program in Logic).
d) Object Oriented Programming Language
          In OOP, the computer program is divided into objects. Example are:
  • C++
  • Java
e) Visual programming language: These are designed for building Windows-based applications.           Example are:      
  • visual Basic 
  • Visual Java
  • Visual C
Advantages of High Level Language
         Following are the advantages of a high level language:
  • User-friendly
  • Similar to English with vocabulary of words and symbols
  • Therefore it is easier to learn.
  • They required less time to write.
  • They are easier to maintain.
  • Problem oriented rather than 'machine' based.
  • Program written in a high-level language can be translated into many machine language and therefore can run on any computer for which there exists an appropriate translator.
  • It is independent of the machine on which it is used i.e. Programs developed in high level language can be run on any Computer.
Disadvantages of High Level Language
  • 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.

Language Processor
         The only language computer understands is machine language. Apart from machine language, there are many languages which are used in computer programming. In order to execute the programs in these languages, they are to be translated to computer understandable form. These translations are performed by language processors.
         Language processors are the software that translate the other language codes to the machine code. Some of the commonly used language processors are:
  • Assemblers
  • Interpreters
  • Compilers
Assemblers
          An assembler is a program that takes basic computer instructions and converts them into a pattern of bits that the computer's processor can use to perform its basic operations. Some people call these instructions assembler language and others use the term assembly language.

Interpreter
         An interpreter is a software that translates high level language code into machine language codes and executes them. Interpreters perform one-to-one translation i.e. one program instruction in high level language is translated to respective machine codes at a time. And their execution is done. If there occurs any error, interpreter stops the execution by providing some message. Now the user can modify the statement and immediately see the result.

Compilers
          A compiler is a program that translates a source program written in some high-level programming language (such as Java) into machine code for some computer architecture (such as the Intel Pentium architecture). The generated machine code can be later executed many times against different data each time.

No comments:

Post a Comment

Disqus Shortname

Comments system