Meaning of a Program
A computer program is a general term used to describe the set of instructions that the computer use to performs a specific task. A computer program is usually written by a computer programmer using a programming language.
Characteristics of a Good Program
A good computer program should have following characteristics:
Portability: Portability refers to the ability of an application to run on different platforms (operating systems) with or without minimal changes.
Readability: The program should be written in such a way that it makes other programmers or users to follow the logic of the program without much effort.
Efficiency: Every program requires certain processing time and memory to process the instructions and data. A program should be laid out in such a manner that it utilizes the least amount of memory and processing time.
Structural: To develop a program, the task must be broken down into a number of subtasks which are developed independently, and each subtask is able to perform the assigned job without the help of any other subtask. If a program is developed structurally, it becomes more readable, and the testing and documentation process also gets easier.
Flexibility: A good program should allow changes without having to rewrite the entire program. Most programs are developed for a certain period and they require modifications from time to time.
Accuracy/Correctness: Accuracy ensures that the program does what it is meant to do according to the design specification.
Generality: Generality means that if a program is developed for a particular task, then it should also be used for all similar tasks of the same domain. For example, if a program is developed for a particular organization, then it should suit all the other similar organizations.
Maintainability: Maintainability is the ease with which changes can be made to the program to satisfy new requirements. Maintainability allows the program to be upgraded or revised when the need arises.
Reusability: Reusability is the ease with which a program can be reused in developing other program. By reusing existing program, developers can create more complex program in a shorter amount of time.
Clarity: The program should be clear enough to be understood by others.
Security: This ensures that the software protects the information it is responsible for.
User-friendliness: It ensures that the program is easy to use by the intended users. It should have a sensitive user interface that will enable the user to interact with the program without any difficulty.
Robustness: The program should be provided with the mechanism to respond to unexpected conditions, e.g., if wrong input is entered into it.