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.
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.
Nobody should call themselves a professional if they only knew one language.
Design and programming are human activities; forget that and all is lost.
The standard library saves programmers from having to reinvent the wheel.
The most fundamental problem in software development is complexity. There is only one basic way of dealing with complexity: divide and conquer.
Our civilization depends critically on software, and we have a dangerously low degree of professionalism in the computer fields.
Anybody who comes to you and says he has a perfect language is either naive or a salesman.
One of my most productive days was throwing away 1,000 lines of code.
Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.
Talk is cheap. Show me the code.
In open source, we feel strongly that to really do something well, you have to get a lot of people involved.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
The thing with Linux is that the developers themselves are actually customers too: that has always been an important part of Linux.
Avoiding complexity reduces bugs.
I think, fundamentally, open source does tend to be more stable software. It’s the right way to do things.