Recent posts
- Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for.
- Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
- More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity.
- Testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence.
- Imagination is more important than knowledge.
- When I am working on a problem I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong.
- Good code is short, simple, and symmetrical - the challenge is figuring out how to get there.
- If you think your users are idiots, only idiots will use it.
- Once you stop learning you start dying.
- No code is faster than no code.
- Over half of the time you spend working on a project is spent thinking, and no tool, no matter how advanced, can think for you.
- We could, for instance, begin with cleaning up our language by no longer calling a bug a bug but by calling it an error. It is much more honest because it squarely puts the blame where it belongs, viz. with the programmer who made the error. The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation. The nice thing of this simple change of vocabulary is that it has such a profound effect: while, before, a program with only one bug used to be "almost correct", afterwards a program with an error is just "wrong".
- Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road.
- A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work.
- The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry.
- I am never satisfied until I have said as much as possible in a few words, and writing briefly takes far more time than writing at length.
- There are only two kinds of languages: the ones people complain about and the ones nobody uses.
- The purpose of software engineering is to control complexity, not to create it.
- Unix is simple. It just takes a genius to understand its simplicity.
- A language that doesn’t have everything is actually easier to program in than some that do.