Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law
Douglas HofstadterRead
Topic
44 quotes
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
JavaScript is the world's most misunderstood programming language.
A programming language is like a natural, human language in that it favors certain methaphors, images, and ways of thinking.
When certain concepts of TeX are introduced informally, general rules will be stated; afterwards you will find that the rules aren't strictly true. In general, the later chapters contain more reliable information than the earlier ones do. The author feels that this technique of deliberate lying will actually make it easier for you to learn the ideas. Once you understand a simple but false rule, it will not be hard to supplement that rule with its exceptions.
It's [programming] the only job I can think of where I get to be both an engineer and an artist. There's an incredible, rigorous, technical element to it, which I like because you have to do very precise thinking. On the other hand, it has a wildly creative side where the boundaries of imagination are the only real limitation.
The only way to learn a new programming language is by writing programs in it.
I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.
Good code is its own best documentation. As you're about to add a comment, ask yourself, "How can I improve the code so that this comment isn't needed?" Improve the code and then document it to make it even clearer.
I made up the term "object-oriented," and I can tell you I did not have C++ in mind.
Lisp isn't a language, it's a building material.
C is quirky, flawed, and an enormous success.
If you only have a hammer, you tend to see every problem as a nail.
A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer.
In the practical use of our intellect, forgetting is as important as remembering.
If we can really understand the problem, the answer will come out of it, because the answer is not separate from the problem.
Beware of bugs in the above code; I have only proved it correct, not tried it.
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
Talk is cheap. Show me the code.
Ah, but a man's reach should exceed his grasp, Or what's a heaven for?
Subscribe for the occasional hand-picked quote. No noise.