Coding is today’s language of creativity. All our children deserve a chance to become creators instead of consumers of computer science.
You’re either the one that creates the automation or you’re getting automated.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Good code is its own best documentation.
It’s better to wait for a productive programmer to become available than it is to wait for the first available programmer to become productive.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
Controlling complexity is the essence of computer programming.
Believe the terrain, not the map.
90% of the functionality delivered now is better than 100% delivered never.
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
Trying to outsmart a compiler defeats much of the purpose of using one.
An effective way to test code is to exercise it at its natural boundaries.
Don’t document bad code – rewrite it.
A good programmer is someone who always looks both ways before crossing a one-way street.
The best programmers are not marginally better than merely good ones. They are an order-of-magnitude better, measured by whatever standard: conceptual creativity, speed, ingenuity of design, or problem-solving ability.
Programming is a Dark Art, and it always will be. The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. These are not things you can overcome with a “methodology” or on a schedule.
The programmers of tomorrow are the wizards of the future. You’re going to look like you have magic powers compared to everybody else.
Testing proves a programmer’s failure. Debugging is the programmer’s vindication.
The mark of a mature programmer is willingness to throw out code you spent time on when you realize it’s pointless.
Python is an experiment in how much freedom programmers need. Too much freedom and nobody can read another’s code; too little and expressiveness is endangered.