A program can be good by the following features:
- Portable : A good program must be able to run in any platform(Operating System).
- Documented : A good program should be documented properly so that it will be helpful to the user of the program to use as well as other programmer to understand it and further make some useful changes in it.
- Clarity : The program should be well readable so that the program can be studied well.
- Flexibility : A good program should be flexible enough to handle most of the changes without having to rewrite the entire program.
If you have any doubt, let me know...