Talk is cheap. Show me the code.
FORTRAN is not a flower but a weed - it is hardy, occasionally blooms, and grows in every computer.
The best way to prepare [to be a programmer] is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating systems.
The first step in fixing a broken program is getting it to fail repeatably [on the simplest example possible].
Question authority; but, raise your hand first.
Every now and then go away, have a little relaxation, for when you come back to your work your judgment will be surer.
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.
Text is linear; it is black and white; it doesn't zoom around the page in 3-D; it isn't intelligent by itself; in fact, in terms of immediate reaction it is quite boring. I can't imagine a single preliterate was ever wowed at the first sight of text, and yet text has been the basis of arguably the most fundamental intellectual transformation of the human species. It and its subforms, such as algebra, have made science education for all a plausible goal.
If our designs are failing due to the constant rain of changing requirements, it is our designs that are at fault. We must somehow find a way to make our designs resilient to such changes and protect them from rotting.
Code never lies, comments sometimes do.
What I can't create I don't understand
Not only is example the best way to teach, it is the only way.
The truth is, when all is said and done, one does not teach a subject, one teaches a student how to learn it.
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
When building a complex system, having crackerjack programmers (who can make any design work, even a bad one) can be a liability. The result, after lots of effort, is a working system that cannot be easily maintained or upgraded. Good -but not great- programmers would fail early, causing a realization that the system must be redesigned, and then reimplemented. The extra cost is paid once, early in the system's cycle (when it is cheap), instead of repeatedly paid late in the system's cycle (when it is more expensive).
When teaching a rapidly changing technology, perspective is more important than content.
One purpose of CRC cards [a design tool] is to fail early, to fail often, and to fail inexpensively. It is a lot cheaper to tear up a bunch of cards that it would be to reorganize a large amount of source code.
The structure of a software system provides the ecology in which code is born, matures, and dies. A well-designed habitat allows for the successful evolution of all the components needed in a software system.
Computer system analysis is like child-rearing; you can do grievous damage, but you cannot ensure success.
There are different kinds of people in the world.
I was eventually persuaded of the need to design programming notations so as to maximize the number of errors which cannot be made, or if made, can be reliably detected at compile time.
In the development of the understanding of complex phenomena, the most powerful tool available to the human intellect is abstraction. Abstraction arises from the recognition of similarities between certain objects, situations, or processes in the real world and the decision to concentrate on these similarities and to ignore, for the time being, their differences.
No matter how slick the demo is in rehearsal, when you do it in front of a live audience the probability of a flawless presentation is inversely proportional to the number of people watching, raised to the power of the amount of money involved.
To treat programming scientifically, it must be possible to specify the required properties of programs precisely. Formality is certainly not an end in itself. The importance of formal specifications must ultimately rest in their utility -in whether or not they are used to improve the quality of software or to reduce the cost of producing and maintaining software.
Making the simple complicated is commonplace.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: