Tech Quotes

Science, Computers, etc.

My impression was and is that many programming languages and tools represent solutions looking for problems, and I was determined that my work should not fall into that category. Thus, I follow the literature on programming languages and the debates about programming languages primarily looking for ideas for solutions to problems my colleagues and I have encountered in real applications. Other programming languages constitute a mountain of ideas and inspiration—but it has to be mined carefully to avoid featurism and inconsistencies.
Bjarne Stroustrup, The Design and Evolution of C++

A friend of mine once said that there are problems and there are difficulties. A problem is something you savor. You say, "Well that's an interesting problem. Let me think about that problem a while." You enjoy thinking about it, because when you find the solution to the problem, it's enlightening.
And then there are difficulties. Computers are famous for difficulties. A difficulty is just a blockage from progress. You have to try a lot of things. When you finally find what works, it doesn't tell you a thing. It won't be the same tomorrow. Getting the computer to work is so often dealing with difficulties.
Ward Cunningham, interviewed by Bill Venners

Master plans have two additional unhealthy characteristics. To begin with, the existence of a master plan alienates the users… After all, the very existence of a master plan means, by defnition, that the members of the community can have little impact on the future shape of their community, because most of the important decisions have already been made. In a sense, under a master plan people are living with a frozen future, able to affect only relatively trivial details. When people lose the sense of responsibility for the environment they live in, and realize that they are merely cogs in someone else's machine, how can they feel any sense of identifcation with the community, or any sense of purpose there?
Christopher Alexander, The Oregon Experiment

If the map and the terrain disagree, trust the terrain.
Swiss Army Aphorism

There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies and the other is to make it so complicated that there are no obvious deficiencies.
C.A.R. Hoare

The first step toward the management of disease was replacement of demon theories and humours theories by the germ theory. That very step, the beginning of hope, in itself dashed all hopes of magical solutions. It told workers that progress would be made stepwise, at great effort, and that a persistent, unremitting care would have to be paid to a discipline of cleanliness. So it is with software engineering today.
Frederick P. Brooks Jr., No Silver Bullet: Essence and Accidents of Software Engineering

The sciences do not try to explain, they hardly even try to interpret, they mainly make models. By a model is meant a mathematical construct which, with the addition of certain verbal interpretations, describes observed phenomena. The justifaction of such a mathematical construct is solely and precisely that it is expected to work.
John Von Neumann

It's an experience like no other experience I can describe, the best thing that can happen to a scientist, realizing that something that has happened in his or her mind exactly corresponds to something that happens in nature. One is surprised that a construct of one's own mind can actually be realised in the honest-to-goodness world out there. A great shock, and a great, great joy.
Leo Kadanoff

Why is programming Fun?
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. Yet the program construct, unlike the poet's words, is real in the sense that in moves and works, producing visible outputs seperate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on the keyboard, and a display screen comes to life, showing things that never were nor could be.
Frederic P. Brooks, The Mythical Man-Month

As he designs his first work, frill after frill, embellishment after embillishment occur to him. These get stored away to be used "next time." Sooner or later the first system is finished, with firm confidence and a demonstrated mastery of that class of systems, is ready to build a second system. This second is the most dangerous system a man ever designs.
Frederic P. Brooks, The Mythical Man-Month

Perfection [in design] is achieved not when there is nothing more to add, but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

Never let your sense of morals prevent you from doing what is right.
Isaac Asimov, Foundation