The mark of an educated mind is to be able to entertain a certain thought without actually accepting it. 👌
Forgive him for he believes that the customs of his tribe are the laws of the nature. 👌
Another effective debugging technique is to explain your code to someone else. This will often cause you to explain the bug to yourself. Sometimes it takes no more than a few sentences, followed by an embarrassed Never mind. I see what’s wrong. Sorry to bother you. This works remarkably well; you can even use non-programmers as listeners.
The romantic image of an über-programmer is someone who fires up Emacs, types like a machine gun, and delivers a flawless final product from scratch. A more accurate image would be someone who stares quietly into space for a few minutes and then says Hmm. I think I’ve seen something like this before. 👌
Most programmers have seen them, and most good programmers realize they’ve written at least one. They are huge, messy, ugly programs that should have been short, clean, beautiful programs. 👌
To me, the prohibition of inspecting the representation of other objects is one of the defining characteristics of object oriented programming.
My Compiler Compiles Your Compiler. I Still Am A C++ Fanatic.
If you think C++ is not overly complicated, just what is a
protected abstract virtual base pure virtual privatedestructor and when was the last time you needed one?
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg.
No, no, you’re not thinking, you’re just being logical. 👌
The proper use of comments is to compensate for our failure to express ourselves in code.
If you want a product with certain characteristics, you must ensure that the team has those characteristics before the product’s development.
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
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.
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
First, solve the problem. Then, write the code.
You can’t trust code that you did not totally create yourself.
Unix has retarded OS research by 10 years and linux has retarded it by 20.
This is one of the reasons Lisp doesn’t get anywhere. The trend to promote features so clever that you stop thinking about your problem and start thinking about the clever features. CL’s loop is so powerful that people invented functional programming so that they’d never have to use it.
Code never lies, comments sometimes do. 👌
The most important single aspect of software development is to be clear about what you are trying to build.
If it doesn’t work, it doesn’t matter how fast it doesn’t work.
If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside. 👌
In programming the hard part isn’t solving problems, but deciding what problems to solve. 👌
The trick is to fix the problem you have, rather than the problem you want.