Friday, April 29, 2011

Software Quotes


If someone shows off a very complicated software design to you, consider to quote the following:

"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult."
C.A.R. Hoare

Let's say everything in a huge project is clear - theoretically. Why should implementing it be difficult? Because...

"In theory, theory and practice are the same. In practice, they're not."
Yogi Berra


"The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."
Tom Cargill

Cutting the development time by throwing more developers into a project? Reply this:

"Nine people can't make a baby in a month."
Fred Brooks


"Whereas Europeans generally pronounce my name the right way ('Nick-louse Veert'), Americans invariably mangle it into 'Nickel's Worth.' This is to say that Europeans call me by name, but Americans call me by value."
Niklaus Wirth

Something every programmer of a large project at least said once in his life:

"It works on my machine."
Anonymous Programmer


"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."
Antoine de Saint Exupéry


You do deliberate practice to improve your ability to perform a task. It’s about skill and technique. Deliberate practice means repetition. It means performing the task with the aim of increasing your mastery of one or more aspects of the task. It means repeating the repetition. Slowly, over and over again, until you achieve your desired level of mastery. You do deliberate practice to master the task, not to complete the task.

Jon Jagger



1.If a program is incorrect, it matters little what the documentation says.
2.If documentation does not agree with the code, it is not worth much.
3.Consequently, code must largely document itself. If it cannot, rewrite the code rather than increase the supplementary documentation. Good code needs fewer comments than bad code does.
4.Comments should provide additional information that is not readily obtainable from the code itself. They should never parrot the code.
5.Mnemonic variable names and labels, and a layout that emphasizes logical structure, help make a program self-documenting

Kernighan and Plauger The Elements of Programming Style


Try and leave this world a little better than you found it.
Robert Stephenson Smyth Baden-Powell

Duplication Is Waste
Repetition in Process Calls for Automation
Repetition in Logic Calls for Abstraction
Steve Smith

No comments: