Computer programming languages are developed with the primary objective of facilitating a large number of people to use computers without the need to know in detail the internal structure of the computer.
Languages are matched to the type of operations to be performed in algorithms for various application Languages are also designed to be machine-independent.
In the other words, the structure of a programming language would not depend upon the internal structure of a specified computer. Ideally, one should be able to execute a program on any computer regardless of who manufactured it or what model it is.
A language is a system of communication. The process of writing a program in any language is called programming. There are three broad categories of computer languages
- Machine Language
- Assembly Language
- High Level Language
Machine language (I generation Language)
Computers depend upon the instructions provided by others to accomplish data processing tasks, and a set of such instructions is commonly called a programming language. Many of these languages were developed as prototypes and therefore could only see on the machines for which they were designed. These languages are called machine-dependent programming languages or Low level languages.
Machine language is the fundamental language of the computer. It is written in combinations of O's and 1's. A computer can understand this language without using any translation program. The circuitry of a computer is wired in such a way that it immediately recognizes the machine language and converts it into the electrical signals needed to run the computer.
Advantages of machine language
- The computer can execute programs written in machine language very fast. This is mainly because there is no need of translation program like interpreter or compiler.
- The instructions of the machine language program are immediately executable.
- Machine language instructions can be used to manipulate the individual bits in a byte of computer storage.
Disadvantages of Machine Language
- Machine language requires high level of programming skill the language is machine dependent. Because the in design of every type of computer is different from every other type of computer is different from every other type of computer and needs different electrical signals to operate; the machine language also is different from computer to computer. The actual design or construction of the ALU, the control unit and the size as well as the word length of the memory Unit determines it. Hence suppose after becoming proficient in the machine code of a particular computer, a company decides to change to another computer, the programmer may be required to learn a new machine language and would have to rewrite all the existing programs.
- Difficult to write programs. Although easily used by the computer, machine language is difficult to write into programs. Besides dozens of code for every letter, a programmer has to keep track of data and instruction and hardware structure of the computer.
- Error prone. For writing programs in machine language, since a programmer has to remember the OPCODES and he must also keep track of the storage location of the data and instructions, it becomes difficult for him to concentrate fully on the logic of the program. This frequently results in program errors. Hence, it is easy to make errors while using machine code.
- Difficult to modify. It is difficult to modify and correct the machine language programs. Checking errors is very time consuming and tedious.
Assembly Language
Although ML programs are easily stored in memories of computers, humans do not easily program them. Writing instructions in 0 and 1 is boring, tedious and prone to errors. Thus, to improve programmer productivity, II Generation language called ASSEMBLY LANGUAGE were developed.
These Programming Language substitute alphabetic or numeri symbols for binary code of machine language, thereby enabling programmers to express computer instructions more easily.
One of the first steps in improving the program preparation process was to substitute letter symbols pneumonic for the numeric operation codes of machine language. A mnemonic is any kind of mental trick we use to help to summarize. Mnemonics comes in various shapes and sizes. For example the mnemonic for subtraction can be "SUB".
The language which substitute the binary combination with symbols and letter is called assembly language or symbolic language. The translator programs which converts an assembly language program into machine language equal is called an assembler.
Advantages of Assembly Language (II GL)
- Assembly Language is easier to use than Machine Language.
- An assembler is useful for detecting programming errors.
- Programmers do not have to remember the addresses of data values.
- Assembly Language encourages programming in modules.
Drawbacks of II generation language (Assembly Language)
- Assembly Language programs are not immediately executable.
- There is almost a one for one correspondence between Assembly Language and Machine Language instructions.
- Assembly Language is machine dependent.
- Programming in Assembly Language requires a high level of programming skills.
High level language (III GL)
Both Machine Language and Assembly Language were machine dependent.
High level language was developed to allow application program to be run on a variety of computers. These languages are machine independent and procedure oriented.
One statement in a high level language would be translated into many statements in its machine language equivalent.
III GL or High Level Programming Language (HLPL) was developed in part to avoid the expense and trouble of machine-dependent programming. e.g. BASIC, FORTRAN)
III Generation Languages, a language such as C, COBOL and FORTRAN OR PASCAL that provides developers with considerable flexibility at cost of ease use)
Most III GL can handle such detailed tasks memory manipulation a physical disk assess which most IV GL's cannot handle.
III GL's however complex and require more development time for application. The problem with most III GL is that they are procedural programming languages i.e. lang.'s that focus on programming procedures rather than results. A term applied to languages designed for interacting with programmer, often used to define languages used with relational data basis. The interest to imply that such languages are a step up from standard high level programming lang. such as C, PASCAL, COBOL.IV GL's are generally preferable for creating data base applications and for use with popular development tools.
IV Generation Language
- Interactive code: A programmer enters English like phrases or on menu choices to formulate an inquiry or define a task.
- Limited training required: Using IV GL's a novice (user) can often design a simple program including everything from describing a data file to designing a formatted data screen with just one training.
- Emphasis on end results: The thrust of these languages is on specifying the dimensions of a problem rather than a complicated set of procedures with which to solve the problem. These speeds programming because the problem is almost always what the user understands best and therefore can best specify.
- Increase productivity.
- Increased CPU memory requirement.
0 comments:
Post a Comment