The real value of learning to program can only be understood if we look at learning to program as an exercise of the intellect, as a kind of modern-day Latin that we learn to sharpen our minds. - R. Schank
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. -Revised Report on the Algorithmic Language Scheme.
To iterate is human, to recurse divine. -L. Peter Deutsch
Education is not the filling of a pail, but the lighting of a fire. - W.B. Yeats
The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -Bertrand RussellHe [John von Neumann] had the invaluable faculty of being able to take the most difficult problem and separate it into its components, whereupon everything looked brilliantly simple. - S. UlamThe first step towards wisdom is calling things by their right names. - Chinese Proverb
The first step in fixing a broken program is getting it to fail repeatably (on the simplest example possible). - T. Duff
When I am working on a problem, I never think about beauty. I think only of how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong. - B. Fuller
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - M. Golding
Any sufficiently complicated C or Fortran program contains an ad hoc informally specified bug-ridden slow implementation of half of Lisp. - P. Greenspun
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. - C.A.R. Hoare
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. - C.A.R. Hoare
If I had more time, I would have written a shorter letter.- B. Pascal
Never put off until run time what can be done at compile time. - A. Glew
He who is ashamed of asking is ashamed of learning. -Danish Proverb
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?'-Steve McConnell
If you give someone Fortran, he has Fortran. If you give someone Lisp, he has any language he pleases. - Guy L. Steele
[Lisp] is the only computer language that is beautiful. - Neal Stephenson
We have seen that computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. - Donald E. Knuth
Programs must be written for people to read, and only incidentally for machines to execute. - H. Abelson and G. Sussman
We have also obtained a glimpse of another crucial idea about languages and program design. This is the approach of statified design, the notion that a complex system should be structured as a sequence of levels that are described using a sequence of languages. Each level is constructed by combining parts that are regarded as primitive at that level, and the parts constructed at each level are used as primitives at the next level. The language used at each level of a stratified design has primitives, means of combination, and means of abstraction appropriate to that level of detail. - H. Abelson and G. Sussman
They know enough who know how to learn. - J. Adams
If I had eight hours to chop down a tree, I would spend 6 hours sharpening an axe. - Anonymous
In theory, there is no difference between theory and practice, but not in practice. - Anonymous
Measure twice, cut once. - Anonymous
Time is an excellent teacher; but eventually it kills all its students. - Anonymous
More than the act of testing, the act of designing tests is one of the best bug preventers known. The thinking that must be done to create a useful test can discover and eliminate bugs before they are coded - indeed, test-design thinking can discover and eliminate bugs at every stage in the creation of software, from conception to specification, to design, coding and the rest. - B. Bezier
John von Neumann draws attention to what seemed to him a contrast. He remarked that for simple mechanisms, it is often easier to describe how they work than what they do, while for more complicated mechanisms, it is usually the other way around. - E. Dijkstra
Testing can show the presence of errors, but not their absence. - E. Dijkstra
The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities. - E. Dijkstra
Realizing this [programming as sketching] has real implications for software design. It means that a programming language should, above all, be malleable. A programming language is for thinking of programs, not for expressing programs you've already thought of. It should be a pencil, not pen. - P. Graham
In the beginning we must simplify the subject, thus unavoidably falsifying it, and later we must sophisticate away the falsely simple beginning. - M. Maimonides
Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it. - A. Perlis
If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea. - A. de Saint-Exupery