...rediscover the joy of coding

A Double Handful of Programming Quotes

I'm busy tidying up a few loose ends with work at the moment, before family arrive for Xmas - and I just haven't have any time for in-depth articles. So instead of my own words, here's a few of my favourites from other people:

"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."

- Brian Kernighan

"There are only two kinds of languages: the ones people complain about and the ones nobody uses."

- Bjarne Stroustrup

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."

- Martin Fowler

"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

"Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves."

-  Alan Kay

"Measuring programming progress by lines of code is like measuring aircraft building progress by weight."

- Bill Gates

"If you want to set off and go develop some grand new thing, you don't need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on and the dedication to go through with it."

- John Carmack

"Programs must be written for people to read, and only incidentally for machines to execute."

- Abelson / Sussman

"Question: How does a large software project get to be one year late? Answer: One day at a time!"

- Fred Brooks

"Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. And don't expect people to jump in and help you. That's not how these things work. You need to get something half-way useful first, and then others will say "hey, that almost works for me", and they'll get involved in the project."

- Linus Torvalds