I also like Steve McConnell. I like his idea of designing in greater and greater detail until you feel that implementing the design would be easier than designing in more detail. I also hold dear the belief that good software design/architecture/development is about managing complexity.
This idea relates to a fantastic insight from Juval Lowy in his WCF book.
He points out two very important things.
Quote:
"…If you examine the brief history of software engineering just outlined, you notice a pattern: every new methodology and technology generation incorporates the benefits of its preceding technology and improves on the deficiencies of its preceding technology. However, every new generation also introduces new challenges. I say that MODERN SOFTWARE ENGINEERING IS THE ONGOING REFINEMENT OF THE EVER-INCREASING DEGREES OF DECOUPLING."
…
Quote:
"…Good coupling is business-level coupling…Bad coupling is anything to do with writing plumbing."
This is important when you look at the disadvantages of too much coupling.
Juval also points out in his book the relationship between service(or component) sizes and the number of services(or components) in a system.
The integration cost is proportional to x squared and the cost per service(or component) is proportional to 1 on z squared, where x is the number of services and z is the size of each service.
So for some values of x and z the product x*z will be a minimum and this is the minimal cost.
My best quote was spoken to me by a veteran mainframe programmer when I was young(er) and while discussing with him several options that would be included in a new feature we were about to begin to implement together.
He said: “That can be an enhancement”
Very wise man, I’ve stated it to customers numerous times since.
Funny stuff. A little nerdy, but I can appreciate it. This actually might be where my friend gets all of his coding/informatics quotes. Some of these seemed familiar…
Of late, Josh Bloch and Bruce Tate. (Yes, I am a Java coder.) Over the long term I cannot think of any one person…they have all mashed together over the course of time.
Excellent quote links. I’ve been collection quotes for a while. One of my favs:
“This is not to say that design is unnecessary. But after a certain point, design is just speculation.” --Philip Chu
I don’t know if I have a favorite quote, many of the ones already posted are funny and original.
Its hard to say who have been my greatest influences as a developer. You would think it would be with some of the writers of the code I have maintained or looked at over the years.
Sadly, after millions of lines of code, very few contain the author or date in which it was written. Its funny that no one actually authors thier code (or very rarely) in some form of comment. Of course you can go to source control, but usually it user ABC1234 or some Windows log in name.
So, my greatest influence has the been the unknown coder. Some of the unknown coder’s code has been good, some ugly, and some bad.
“PL/I and Ada started out with all the bloat, were very daunting languages, and got bad reputations (deservedly). C++ has shown that if you slowly bloat up a language over a period of years, people don’t seem to mind as much.” --James Hague