When done well, software is invisible.
There’s an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone.
The most important single aspect of software development is to be clear about what you are trying to build.
An organization that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
Certainly not every good program is object-oriented, and not every object-oriented program is good.
To many managers, getting rid of the arrogant, undisciplined, over-paid, technology-obsessed, improperly-dressed etc. programmers would appear to be a significant added benefit.
Too many managers and executives try to reduce programming to a low-level assembly-line activity. That’s inefficient, wasteful, costly in the long run, and inhumane to programmers.
If you think it’s simple, then you have misunderstood the problem.
A program that has not been tested does not work.
The first law of computer science: Every problem is solved by yet another indirection.
Java isn’t platform independent; it is a platform.
People who passionately want to believe that the world is basically simple react to this with a fury that goes beyond what I consider appropriate for discussing a programming language.
It’s easy to win forgiveness for being wrong; being right is what gets you into real trouble.
Nobody should call themselves a professional if they only knew one language.
Clearly, I reject the view that there is one way that is right for everyone and for every problem.
Design and programming are human activities; forget that and all is lost.