Software Evolution.

Q1. Write a note on software evolution.

Ans. A program serves the purpose of commanding the computer. The efficiency and usefulness of a program depends not only on proper use of commands but also on the programming language it is written in. the two major types of programming languages:

  • Low Level Languages
  • High Level Languages

Both of these languages offer different features of programming.

  • Low Level Languages

Low Level languages (that is, machine languages and assembly languages) are machine-oriented and require extensive knowledge of computer circuitry.

Machine language, in which instructions are written in binary code (using 1 and 0), is the only language the computer can execute directly.

Assembly language, in which instructions are written using symbolic names for machine operations (for example, READ, ADD, STORE etc) and operands, makes programming less tedious than machine language programming. However, assembly program is then converted into machine language using assembler software.

  • High Level Languages

High Level Languages, (HLLs), on other hand, offer English like keywords, constructs for sequence, selection (decision) and iteration (looping) and use of variables and constants. Thus it is very easy to program with such languages compared to low level languages. The programs written in HLLs are converted into machine language using compiler or interpreter a s a computer can work with machine language only.

a programming language should serve two related purposes:

  • It should provide a vehicle for the programmer to specify actions to be executed.
  • It should provide a set of concepts for the programmer to use when thinking about what can be done.

The first aspect ideally requires a language that is “close to the machine”, so that all important aspects of a machine are handles simply and efficiently in a way that is reasonably obvious to the programmer. The second aspect ideally requires a language that is ”close to the problem to be solved” so that the concepts of a solution can be expressed directly and concisely.

The low level languages serves only the first aspect that is, they are close to the machine and the high level languages serve only the second aspect that is a, they are close to the programmer. However, the languages ‘C’ and ‘C++’ serve both the aspects, hence can be called as ‘middle level languages’.

Leave a Reply

Your email address will not be published. Required fields are marked *