"Integration testing" is something you tell the customer you're doing.
Dan Drake
"Virtual" means never knowing where your next byte is coming from.
...speed is a virtue, but we have finally reached the point of computational affluence where other things are more important.
Dan Ingalls
...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 fished out listings of their operating system.
Bill Gates
...the harm was done: the topic became known as "computer science"---which, actually, is like referring to surgery as "knife science"---and it was firmly implanted in people's minds that computing science is about machines and their peripheral equipment.
Edsgar Dijkstra
...you have to go back to the very early 60s to find [mainframe] operating systems that are designed as poorly as the ones on micros.
Alan Kay, in 1985
Proof Techniques
1) Proof by referral to non-existent
authorities
2) Reduction ad nauseam
3) Proof by
assignment
4) Method of least
astonishment
5) Proof by handwaving
More Proof Techniques
6) Proof by intimidation
7) Method of deferral
until later in the course
8) Proof by reduction to a
sequence of unrelated lemmas
9) Method of convergent
irrelevancies
640k ought to be enough for anybody.
Bill Gates, 1981
A 'hacker' is any person who derives joy from discovering ways to circumvent limitations.
Robert Bickford
A computer lets you make more mistakes faster than any invention in human history --- with the possible exceptions of handguns and tequila.
Mitch Ratcliffe
Greer's Third Law
A computer program does what you tell it to do, not what you want it to do.
A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.
Leslie Lamport
A good system can't have a weak command language.
Alan J. Perlis
A great programmer loves to look at his or her own code and go through it. Greatness is the notion of always wanting to simplify, always thinking you can make it better, and really loving to look at your own code.
Bill Gates, CEO of Microsoft
A logician trying to explain logic to a programmer is like a cat trying to explain to a fish what it's like to get wet.
A nerd is a guy who spends all day in front of his computer... A geek is a nerd that's proud of it.
A programming language is low level when its programs require attention to the irrelevant.
Alan J. Perlis
APL is a write-only language --- you can write it, but not read it.
Roy Kier
Adapting old programs to fit new machines usually means adapting new machines to behave like old ones.
Alan J. Perlis
Adding manpower to a late software project makes it later.
Fred Brooks
An approximate answer to the right problem is worth a good deal more than an exact answer to an approximate problem.
John Tukey
IBM Proposed Corporate Motto
An ounce of image is worth a pound of performance.
Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin.
John Von Neumann
Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network.
Tim Berners-Lee
Artificial intelligence, like fusion power, has been ten years away for the last 30 years.
Conrad Strack
As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
Maurice Wilkes discovers debugging, 1949
At Group L, Stoffel oversees six first-rate programmers, a managerial challenge roughly comparable to herding cats.
The Washington Post Magazine, 9 June 9 1985
Brilliance is typically the act of an individual, but incredible stupidity can usually be traced to an organization.
Jon Bentley
Shaw's Principle
Build a system that even a fool can use, and only a fool will want to use it.
But what...is it good for?
Engineer at the Advanced Computing Systems Division of IBM commenting on the microchip, 1968.
Civilization advances by extending the number of important operations that we can perform without thinking about them.
Alfred North Whitehead
Come to think of it, there are already a million monkeys on a million typewriters, and Usenet is *nothing* like Shakespeare.
Blair Houghton
Computer system analysis is like child-rearing; you can do grievous damage, but you cannot ensure success.
Tom DeMarco
Computers are useless. They can only give you answers.
Pablo Picasso (1881-1973)
Computers in the future may weigh no more than 15 tons.
"Popular Mechanics," forecasting the relentless march of science, 1949
Computers save time the way kudzu prevents soil erosion.
Al Castanoli
Counting in binary is just like counting in decimal if you are all thumbs.
Glaser and Way
Counting in octal is just like counting in decimal, if you don't use your thumbs.
Tom Lehrer
A Thinking Man's Creed for Crypto
Cryptography is like literacy in the Dark Ages. Infinitely potent, for good and ill... yet basically an intellectual construct, an idea, which by its nature will resist efforts to restrict it to bureaucrats and others who deem only themselves worthy of such privilege.
Vin McLellan
DOS computers manufactured by companies such as IBM, Compaq, Tandy, and millions of others are by far the most popular, with about 70 million machines in use worldwide. Macintosh fans, on the other hand, may note that cockroaches are far more numerous than humans, and that numbers alone do not denote a higher life form.
New York Times, November 26, 1991
Death has come to our windows.
Jeremiah 9:21
(undoubtedly a Biblical reference
to a Microsoft product!)
Developing on IBM mainframes is very, very difficult. They're hard to use. The operating system is extremely cumbersome and very difficult to do anything with. They don't have any tools for the programmer.
Don Nelson, Chairman, Codasyl COBOL Committee
Digital is to analog as steps are to ramps.
Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits.
Alan J. Perlis
Don't have good ideas if you aren't willing to be responsible for them.
Alan J. Perlis
Computer terminology
Easy to learn = hard to use.
Easy to use = hard to
learn.
Easy to learn and use = won't do what you want it
to.
Powerful = hard to learn and use.
Menu-driven = easy
to learn.
Stephen Manes
Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
Fred Brooks
Every program has at least one bug and can be shortened by at least one instruction --- from which, by induction, one can deduce that every program can be reduced to one instruction which doesn't work.
Every tool carries with it the spirit by which it was created.
Werner Heisenberg
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.
Edsgar W. Dijkstra, writing in the 70's
Give a man a fish,
and
he will eat for a day;
Teach a man to
fish,
and he will eat for
a lifetime.
The moral? READ THE MANUAL!
Sign on a computer system consultant's desk
Has everyone noticed that all the letters of the word "database" are typed with the left hand? Now the layout of the QWERTYUIOP typewriter keyboard was designed, among other things, to facilitate the even use of both hands. It follows, therefore, that writing about databases is not only unnatural, but a lot harder than it appears.
I can always spot a programmer who has only worked on one architecture. He or she looks on the basic data types of that machine as God-given. The same goes for how the system names files, how it represents lines of text, and dozens of other arbitrary design decisions. There is a level of abstract thinking that comes only from writing code that is intended to be portable across architectures.
P.J.Plauger
I have always wished that my computer would be as easy to use as my telephone. My wish has come true. I no longer know how to use my telephone.
Bjarne Stroustrup, designer of C++ (1950- )
I have never seen anything fill up a vacuum so fast and still suck.
Rob Pike, commenting on the X Window System
I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won't last out the year.
Editor in charge of business books for Prentice Hall, 1957
I recognize that a class of criminals and juvenile delinquents has taken to calling themselves 'hackers', but I consider them irrelevant to the true meaning of the word; just as the Mafia calls themselves 'businessmen' but nobody pays that fact any attention.
Robert Bickford
I suspect that the more precisely you measure something, the less important it really is.
Daniel McCracken
I think there is a world market for maybe five computers.
Thomas Watson, chairman of IBM, 1943
I'd rather write programs to write programs than write programs.
Dick Sites, DEC
IBM is not a necessary evil. IBM is not necessary.
Ted Nelson
IBM: It may be slow, but it's hard to use.
Andrew Tannenbaum
If I have not seen as far as others, it is because giants were standing on my shoulders.
Hal Abelson
Weinberg's Second Law
If builders built buildings the way programmers write programs, then the first woodpecker that came along would destroy civilization.
If it weren't for C, we'd be writing programs in BASI, PASAL, and OBOL.
What is this 'Virtual' stuff?
If it's there and you can see it ---
it's real.
If it's not there and you can see it ---
it's virtual.
If it's there and you can't see it ---
it's transparent.
If it's not there and you can't
see it --- you erased it!
If the designers of X Windows built cars, there would be no fewer than five steering wheels hidden about the cockpit, none of which follow the same principles --- but you'd be able to shift gears with your car stereo. Useful feature, that.
If you were plowing a field, which would you rather use? Two strong oxen or 1024 chickens?
Seymour Cray
If you don't have a good system, make sure you get good users.
If you have a procedure with ten parameters, you probably missed some.
Alan J. Perlis
Consultant's Creed
If you think *I'm* expensive, wait until you hire an amateur.
If you were plowing a field, which would you rather use? Two strong oxen or 1024 chickens?
Seymour Cray
If your computer speaks English, it was probably made in Japan.
Alan J. Perlis
If you're building something and you have a tech writer trying to document it, and the tech writer walks into your office and says, "I don't know how to describe this," it means one of two things. Either you've got a really stupid tech writer who you should fire. Or much more likely, you've got a bad piece of design and you ought to rethink it. You have to rethink, because an API that isn't comprehensible isn't usable.
James Gosling
In addition to prototyping, Dan put together a reference card for users. If we couldn't figure out how to explain a feature on the reference card we would change the program. The original method for copying formulas was too complicated so we just changed the design rather than try to explain it.
Bob Frankston, author (with Dan Bricklin) of VisiCalc
In fact, you can throw away the last three syllables of 'superhighway'. It's a soup. Call it Information Soup and we're getting somewhere
Charles S. Murray
In headlines today, the dreaded killfile virus spread across the country adding 'aol.com' to people's Usenet kill files everywhere. The programmer of the virus still remains anonymous, but has been nominated several times for a Nobel peace prize.
Mark Atkinson
In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included.
Edsgar W. Dijkstra
Increasingly, people seem to misinterpret complexity as sophistication, which is baffling---the incomprehensible should cause suspicion rather than admiration. Possibly this trend results from a mistaken belief that using a somewhat mysterious device confers an aura of power on the user.
Niklaus Wirth, inventor of the Pascal language
Indeed, it would not be an exaggeration to describe the history of the computer industry for the past decade as a massive attempt to keep up with Apple.
Byte magazine, December 1994
Information's pretty thin stuff unless mixed with experience.
Clarence Day
Inside every large program is a small program struggling to get out.
C. A. R. Hoare
It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail, and learning to be self-critical?
Alan J. Perlis
It is easier to write an incorrect program than understand a correct one.
Alan J. Perlis
It is impossible to make anything foolproof, because fools are so ingenious.
It is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead.
Edsgar W. Dijkstra
It is not possible to simultaneously understand and appreciate the Intel architecture.
Ben Scott
It is not the computer's fault that Maxwell's equations are not adequate to design the electric motor.
Alan J. Perlis
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.
Edsgar W. Dijkstra
It is professionally unacceptable to write a program that does something out of control merely because a naive (or malicious) customer contrives to type input at it that is out of the ordinary.
P.J.Plauger
It occurred to me a while ago that Unix is much like the U.S.
Government:
A long time ago, a few brilliant men created
a system that empowered its users, gave them freedom, and provided
a few essential services. Now it is old, slow, easily corrupted,
overly restrictive, too large and confusing for anyone to
understand, plagued with inconsistencies, and run by men who only
care about money.
lee@puck.mport.com
Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems. The code written by topnotch programmers may appear obvious, once it is finished, but it is vastly more difficult to create.
Charles Connell
Knowing what to optimize matters as much as knowing how to optimize. Otherwise, you'll optimize the wrong thing, and end up with really fast slow code.
Michael Abrash
Linux is free only if your time has no value.
Jamie Zawinski
Logic is a system whereby one may go wrong with confidence.
Charles Kettering
MS-DOS is the OS/360 of the 1980s.
Hal W. Hardenbergh in 1985
Many years ago, IBM's customer base insisted that IBM retain its old familiar operating systems. Those customers today suffer from obsolete, clumsy, inefficient, and troublesome software that is truly laughable by today's standards.
John R. Culleton
Measuring software productivity by lines of code is like measuring progress on an airplane by how much it weighs.
Bill Gates
Most of the VAX instructions are in microcode, but HALT and NO-OP are in hardware for efficiency.
My experience trying to "sell" the concepts of swarm intelligence to the commercial world is that managers would rather live with a problem they can't solve than with a solution they don't fully understand or control.
Eric Bonabeau
Gray's Law of Programming
N+1 trivial tasks are expected to be accomplished in the same time as N trivial tasks.
Computer Acquisition Policy
Never accept second best when you can get third best for only twice the price.
Steinbach's Guideline for Systems Programmers
Never test for an error condition you don't know how to handle.
Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway
Andrew S. Tanenbaum
Petreley's First Law of Computer Journalism
No technology exists until Microsoft invents it.
Nicholas Petreley
Of course, unless one has a theory, one cannot expect much help from a computer (unless _it_ has a theory)...
Marvin Minsky
Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk!
One can't proceed from the informal to the formal by formal means.
Alan J. Perlis
One man's constant is another man's variable.
Alan J. Perlis
One of my most productive days was throwing away 1000 lines of code.
Ken Thompson
One of the chief triumphs of modern mathematics consists in having discovered what mathematics really is.
Bertrand Russell, 1901
One of the other great ironies of the early 21st Century is that it is trivial for secretaries to put cubicle floorplans in their documents, but nearly impossible for programmers to put class diagrams in code.
Gregory V. Wilson
Overall, OS/2's problems fall into two categories: IBM and Microsoft.
Jean-Louis Gassee
PROGRAM n. A magic spell cast over a computer allowing it to turn one's input into error messages. tr.v. To engage in a pastime similar to banging one's head against a wall, but with fewer opportunities for reward.
Perhaps there should be a new 'quantum' datatype; you would be able to take its address or value, but not both simultaneously.
Michael Shields (in comp.std.c++)
Profanity is the language all programmers know best.
Programmers are tools for converting caffeine into code.
Programming is like sex: One mistake and you're providing support for a lifetime.
Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians.
Edsgar W. Dijkstra
Prolonged contact with the computer turns mathematicians into clerks and vice versa.
Alan J. Perlis
Q: How many Microsoft programmers does it take to change
a light bulb?
A: None. They don't bother with that;
they just declare darkness a standard.
Q: How many software engineers does it take to change
a lightbulb?
A: None; it's a hardware problem.
Restrictive, centralized control of personal computer use results in the exact problems this control is intended to prevent: computers lying idle or underutilized on the desks of unmotivated, untrained, unsupported workers.
J.E.Fawcette of InfoWorld
Science is supposedly the method by which we stand on the shoulders of those who came before us. In computer science, we all are standing on each others' feet.
G. Popek
Consultant's Creed
Sell a man a fish and he will eat for a day and come back tomorrow to buy another one from you. Teach a man to fish and your consulting company will be out of business.
Dan Drake
So we went to Atari and said, "Hey, we've got this amazing thing, even built with some of your parts, and what do you think about funding us? Or we'll give it to you. We just want to do it. Pay our salary, we'll come work for you." And they said, "No." So then we went to Hewlett-Packard, and they said, "Hey, we don't need you; you haven't got through college yet."
Apple Computer founder Steve Jobs on attempts to get Atari and HP interested in his and Steve Wozniak's personal computer.
Software entities are more complex for their size than perhaps any other human construct because no two parts are alike. If they are, we make the two similar parts into a subroutine --- open or closed. In this respect, software systems differ profoundly from computers, buildings, or automobiles, where repeated elements abound.
Fred Brooks
Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics; i.e., it always increases.
Norman R. Augustine
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
Jamie Zawinski
Sufficiently advanced cluelessness is indistinguishable from malice.
Alex Martelli
Systems programmers are the high priests of a low cult.
B. S. Barton, 1967
The cheapest and fastest parts of a system are those that don't exist.
Gordon Bell of DEC
The day Microsoft creates a product that doesn't suck is the day they make vacuum cleaners.
The human race will decree from time to time: "There is something at which it is absolutely forbidden to laugh."
Nietzche on C++
The limits of my language mean the limits of my world.
Ludwig Wittgenstein
The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
Douglas Adams
The meta-Turing test counts a thing as intelligent if it seeks to apply Turing tests to objects of its own creation.
The practical scientist is trying to solve tomorrow's problem with yesterday's computer; the computer scientist...often has it the other way around.
William H. Press
The purpose of software engineering is to control complexity, not to create it.
Pamela Zave
The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.
Edsgar W. Dijkstra
The stored-program digital computer has three major attributes: it is fast, it is accurate, and it is stupid. The first two attributes are often used to disguise the third.
P.J.Plauger
The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.
Edsgar W. Dijkstra
The use of anthropomorphic terminology when dealing with computing systems is a symptom of professional immaturity.
Edsgar W. Dijkstra
There are many reasons why Apple 'does poorly vis a vis Microsoft'. Most of them have nothing to do with technology. One big reason is that people are stupid, easily fooled, and seem to be extraordinarily willing to spend their money on inferior products. This is not something unique to the computer industry.
John Norstad (author of Disinfectant)
There are ten kinds of people in world: those who understand binary, and those who don't.
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 way is to make it so complicated that there are no obvious deficiencies.
C. A. R. Hoare
There are two ways to write error-free programs; only the third one works.
Alan J. Perlis
There is no reason anyone would want a computer in their home.
Ken Olson, president, chairman and founder of Digital Equipment Corp, 1977
Those who do not understand Unix are condemned to reinvent it, poorly.
Henry Spencer
To understand recursion, you must first understand recursion.
Trying to outsmart a compiler defeats much of the purpose of using one.
Kernighan & Plauger, "The Elements of Programming Style"
Unix *is* user-friendly; it's just picky about its friends.
We all live in a yellow subroutine.
We have arrived at the megabyte millenium, using our sophisticated worldwide communications system to talk dirty to strangers.
Ellen Goodman, The Boston Globe
Smith's Test for Artifical Life
When animal-rights activists and right-to-life protesters are marching outside your laboratory, then you know you've definitely made progress in your artificial life research.
Donald A. Smith
When cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl.
When someone says 'I want a programming language in which I need only say what I wish done,' give him a lollipop.
Alan J. Perlis
Whenever two programmers meet to criticize their programs, both are silent.
Alan J. Perlis
Who can afford to do professional work for nothing? What hobbyist can put three man-years into programming, finding all bugs, documenting his product, and distribute it for free?
Bill Gates, 1976
Why does my UPS have an ON/OFF switch?
Windows95: It's like upgrading from Reagan to Bush.
Andy G Ihnatko
Writing a new OS only for the 386 in 1991 gets you your second F for this term.
Prof. Andrew S. Tanenbaum (author of Minix) in a newsgroup posting to Linus Torvalds (author of Linux)
Writing a program is nothing but debugging a blank page.
An anonymous but frustrated Stanford programmer
X Windows n. A system for displaying pixels along the X-axis using xlib calls. Two-dimensional displays require the addition of ylib.
Stan Kelly-Bootle
You can identify members of the Mandelbrot Set by beards, glasses, computers, and jugs of real ale.
Charlie Stross
You don't need a great product today to be successful, just a good product. Marketing always beats technology.
Ron Ricci, Cunningham Communications
How to tell you've been hanging around computers for too long
You remember when the documentation was a looseleaf binder that you could tuck under your arm, and it took a forklift to move the computer.
You shouldn't anthropomorphize computers; they don't like it.
You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program.
Alan J. Perlis