Some thoughts on Good Programming and Bad Programming:
Good Programming makes even complex things seem simple.
Bad Programming makes even simple things complex.
Good programming is self-explanatory.
Bad Programming requires explanation.
Good Programming takes more time now, but less time in future.
Bad Programming takes less time now, but more time in future.
Good Programming involves considering present and future requirements.
Bad Programming focuses only on the present and may not work in future.
Good Programs are easy to maintain.
Bad Programs are hard to maintain.
Good Programs have a longer lifespan, and may even outlast the purpose for which they were created.
Bad Programs have short lifespan and barely usable outside their working scope.
Good Programs are like good habits, whose effects last for a long time and solves the problem almost permanently.
Bad Programs are like painkillers, whose effects last for only short time and solves the problem mostly temporarily.
Good Programming is clean and disciplined.
Bad Programming is messy and chaotic.
Good Programming is learned, practiced and mastered over a period of years.
Bad Programming is self brought, and when practiced for long time makes it even more difficult to learn good programming.
Good Programming is knowing when to invent and when to reuse.
Bad Programming is inventing what's already invented, and reusing what can be better invented.
Good Programming is relying on your own instincts and knowledge, gained after years of good programming practice.
Bad Programming is relying blindly on others knowledge and experience, without applying your own understanding.
Good Programs can be transferred from one programmer to another programmer.
Bad Programs can only be understood and implemented by the same programmer.
Good Programmer doesn't memorize piece of code. He relies on his logical skills and understanding, and can enhance the code easily in future.
Bad Programmer memorizes the piece of code instead of taking right efforts to learn it, and has difficulty in making changes to the code.
Good Programs are good for similar reasons like simplicity, readability, and efficiency.
Every Bad Program is bad for its own reason.
Good Programming Concepts outlast the life of a programmer.
Bad Programming Concepts die with the programmer.