A computer is a machine. The computer does what it is told to do. So the computer needs to be instructed to do the work. Each such instruction is called a command. A program is when the commands are arranged in order to solve a problem.
photo credit: https://pixabay.com/
The computer has to give instructions in a language that it understands. The language that computer can understand is called programming language. Programming language is again divided into two parts:
1. No level language or machine language – which can be directly understood by the computer. Such programs are written using binary numbers.
2. High level language – A language is created in a way similar to human spoken language. Example: PASCAL, BASIC, FORTRAN, C++ etc.
Different levels of programming languages:
Hundreds of programming languages have been invented since 1945. All these languages can be divided into five levels or generations, according to their characteristics. For example:
- First Generation Language (1945): Machine Language
- Second Generation Language (1950): Assembly language
- Third Generation Languages (1960): High level languages
- Fourth Generation Language (1970): Very high level language
- Fifth Generation Language (1980): Normal or Natural Language
Machine language, or assembly language, is called low level language. The reason these two languages are called low-level languages is that they are computer languages (0 or 1) or close to it. On the other hand, higher-level languages are closer to human languages, such as English.
Steps in writing programming:
A program is written to solve a problem or to make a computer perform a task. So a programmer has to be very careful and follow certain rules while writing the program. It reduces the chances of making mistakes and allows the work to be done smoothly.
There are five steps in creating a program to solve a computer problem:
1. Analysis of the problem
2. Program design
3. Program development or coding
4. Program implementation (testing and program debugging)
5. Program maintenance
Problem Analysis:
After defining the problem, it is necessary to collect various data about the problem and analyze it. For this, the problem is divided into smaller parts. Requirement charts, lists, graphs, etc. have to be resorted to, it is called system analysis. The following points should be emphasized in the current system of problem analysis:. For example:
- Input detection and
- Output detection
Program Design:
Program design refers to outlining the form of a new system by making necessary modifications to the existing system to solve the problem. In most cases, if a complex problem can be properly analyzed, its simple solution comes out. Solving the problem involves dividing the problem into parts, thinking about each part separately and thinking about all the parts as a whole. The interrelationship of the various parts also has to be judged. The financial aspects of the new system have to be considered. Program design includes the following. For example –
- Input design
- Output design
- Relationship between input and output
Then, thinking holistically, the following points need to be made to implement the different parts of the program. For example-
- Algorithm
- Flowchart and
- Sudo code
Program development or coding:
This stage of program writing is very important. At this stage, every task needs to be converted into computer language. That is, instructions or coding must be given for what the computer wants to do. At this time, computer language rules have to be followed. Otherwise, the program will not provide correct results.
Program Implementation:
After coding the program, the program is implemented. This phase starts with testing the program and after testing, it is modified as needed. Errors in the program are corrected. A program error is called a program bug. And fixing these bugs is called debugging.
Program Maintenance:
Changes in outside conditions sometimes require minor changes to the program. This is called maintenance. Usually, after a few years of computer deployment in an organization, more time is spent maintaining old programs than developing new ones. Complex programs are usually divided into a number of small modules, each module which performs a specific task. Proper documentation of the program is to be created to facilitate program maintenance.
Programming languages are divided into different levels, where higher-level languages improve productivity and ease of use and lower-level languages give more control over hardware. The particular needs and limitations of the project determine the programming language and abstraction level to be used. In the end, successful software development depends on having a solid understanding of the various programming language levels and the appropriate uses for each.