Programming is similar to a game of golf. The point is not getting the ball in the hole but how many strokes it takes.
Computer science is to biology what calculus is to physics. It's the natural mathematical technique that best maps the character of the subject.
You have to honor failure, because failure is just the negative space around success.
A programming language is like a natural, human language in that it favors certain methaphors, images, and ways of thinking.
A computer is like a violin. You can imagine a novice trying first a phonograph and then a violin. The latter, he says, sounds terrible. That is the argument we have heard from our humanists and most of our computer scientists. Computer programs are good, they say, for particular purposes, but they aren’t flexible. Neither is a violin, or a typewriter, until you learn how to use it.
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.
There is a race between the increasing complexity of the systems we build and our ability to develop intellectual tools for understanding their complexity. If the race is won by our tools, then systems will eventually become easier to use and more reliable. If not, they will continue to become harder to use and less reliable for all but a relatively small set of common tasks. Given how hard thinking is, if those intellectual tools are to succeed, they will have to substitute calculation for thought.
We think only through the medium of words. Languages are true analytical methods. Algebra, which is adapted to its purpose in every species of expression, in the most simple, most exact, and best manner possible, is at the same time a language and an analytical method. The art of reasoning is nothing more than a language well arranged.
In the beginning we must simplify the subject, thus unavoidably falsifying it, and later we must sophisticate away the falsely simple beginning.
The only way for errors to occur in a program is by being put there by the author. No other mechanisms are known. Programs can't acquire bugs by sitting around with other buggy programs. Right practice aims at preventing insertion of errors and, failing that, removing them before testing or any other running of the program.
The truth is, when all is said and done, one does not teach a subject, one teaches a student how to learn it.
Whenever there is a hard job to be done I assign it to a lazy man; he is sure to find an easy way of doing it.
FORTRAN, the infantile disorder, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
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.
If you're as clever as you can be when you write it, how will you ever debug it?
It is easier to port a shell than a shell script.
Computer system analysis is like child-rearing; you can do grievous damage, but you cannot ensure success.
People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones.
Every now and then go away, have a little relaxation, for when you come back to your work your judgment will be surer.
Making the simple complicated is commonplace.
Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.
Nothing has ever been achieved by the person who says, ‘It can’t be done.’
The discipline of programming is most like sorcery. Both use precise language to instruct inanimate objects to do our bidding. Small mistakes in programs or spells can lead to completely unforseen behavior: e.g., see the story, "The Sorcerer's Apprentice". Neither study is easy: "...her [Galinda's] early appetite for sorcery had waned once she'd heard what a grind it was to learn spells and, worse, to understand them." from the book "Wicked" by G. Maguire.
The tools we use have a profound and devious influence on our thinking habits, and therefore on our thinking abilities.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: