The Pragmatic Craftsman :: Simplicity from complexity : by Stanley Kubasek ::

Archive for the 'Quotes' Category

Steve Jobs on Simplicity October 7th, 2011
McConnell on Being Humble February 10th, 2011
Writing Good Code May 28th, 2010
Quote: Grady Booch on Simple Architecture June 28th, 2007
Einstein on Complexity May 2nd, 2007
Dijkstra on Simplicity August 4th, 2006
A Simple Design May 3rd, 2006
Martin on Bad Design March 29th, 2006
Constant Change — Beck February 24th, 2006
Do It Right — Wooden December 1st, 2005

Steve Jobs on Simplicity

focus and simplicity. Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.
–Steve Jobs in [BusinessWeek, May 25, 1998]

McConnell on Being Humble

Steve McConnell
–The poeple who are best at programming are the people who realize how small their brains are. They are humble. The people who are worst at programming are the people who refuse to accept the fact that their brains aren’t equal to the task. Their egos keep them from being great programmers. The more you learn to compensate for your small brain, the better a programmer you’ll be. The more humble you are, the faster you’ll improve.
in Code Complete

Do you agree with Steve?

Writing Good Code

No matter who. No matter what. No matter when. Short term.Long term. Any term. Writing good code is ALWAYS faster than writing bad code.
—Robert Martin (@UncleBob)

Is it because of pressure?

Is it because you want to be faster than others?

Or is it just because that’s the way you’ve been doing things and it has worked for you?

I hope it’s not the case. I hope you take the time to do it right. Because if not, as the saying goes, will you have the time to do it over? Or how will you look at it when you see the project codebase turning into spaghetti. Because it will.

I wish it was so clear cut. It’s usually not.

But I do believe in the theory of broken windows. One little “slack,” one not needed “if” statement starts this process. And then it goes downhill. It’s just a matter of time before somebody else puts another if. And another. Soon enough, you start searching where things have broken. It’s no longer easy to fix stuff. So you put another conditional.

That’s how things degenerate.

I’ve seen it many times in my career.

But I try to do it right. I think about consequences of my actions. Consequences of putting one line of code that will make things worse for others, worse for the codebase.

I take pride and always try to leave things in no worse condition when I found it. If I can, I try to make it better. I don’t always succeed. But I try to adjust. Learn. And always have “do it right” attitude. I think it matters.

If we had more people that cared about the quality, our dev world would be a better place.

Related
Write Your Good Code First – blog post by James Sugrue and Uncle Bob’s quote that I found there that gave me motivation to write this post.

Quote: Grady Booch on Simple Architecture

The best software designs look simple, but it takes a lot of hard work to design a simple architecture.
–Grady Booch
in OOAD with Applications

Einstein on Complexity

Any fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage — to move in the opposite direction.
–Albert Einstein

Dijkstra on Simplicity

Simplicity is prerequisite for reliability.
–Edsger W. Dijkstra
1930-2002, Dutch Computer Scientist

A Simple Design

Simplicity always wins, in my opinion. The following two quotes from Programming Pearls (book I’m reading now) need no further comment: they nail it.

A designer knows he has arrived at perfection not when there is no longer anything to add, but wen there is no longer anything to take away.
–Antoine de Saint-Exupery
the French writer and aircraft designer (quoted in Programming Pearls)
More programmers should judge their work by this criterion. Simple programs are usally more reliable, secure, robust and efficient than their complex cousins, and easier to build and maintain.
–Jon Bentley
in Programming Pearls

Martin on Bad Design

Parse error: syntax error, unexpected ‘http’ (T_STRING) in /srv/www/kubasek.com/public_html/wp-content/plugins/php-execution-plugin/includes/class.php_execution.php(273) : eval()’d code on line 1

Constant Change — Beck

[Programming] There is no such thing as straight and level. Even if things seem to be going perfectly, you don’t take your eyes off the road. Change is the only constant. Always be prepared to move a little this way, a little that way. Sometimes maybe you have to move in a completely different direction. That’s life as a programmer.

Everything in software changes. The requirements change. The design changes. The business changes. The technology changes. The team changes. The team members change. The problem isn’t change, per se, because change is going to happen; the problem, rather, is the inability to cope with change when it comes.

–Kent Beck
in Extreme Programming Explained

Do It Right — Wooden

If you don稚 have time to do it right, when will you have time to do it over?
–John Wooden
basketball coach

This is true in sports, but especially true when developing software. Ask yourself that question constantly and you’ll do a better job.

Favorite Quote

Topics

Tags

Archive

Currently Reading

Info

© 2001-2013 Stanley Kubasek About me :: Contact me

Me on Twitter

»see more

Recent Entries