“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” ~ Donald Knuth
“Both women and computer science are the losers when a geeky stereotype serves as an unnecessary gatekeeper to the profession.” ~ Cordelia Fine
“All problems in Computer Science can be solved by another level of indirection.” ~ Butler Lampson
Hey Girls
“Starting early and getting girls on computers, tinkering and playing with technology, games and new tools, is extremely important for bridging the gender divide that exists now in computer science and in technology.” ~ Beth Simone Noveck
I do not see that the sex of the candidate is an argument against her admission as a Privatdozent. After all, the Senate is not a bathhouse..” ~ David Hilbert.
“So hey, girls: Embrace the very fun career of science and technology. Look at computer science. That’s what I did.” ~ Julie Payette
“My hope is that in the future, women stop referring to themselves as ‘the only woman’ in their physics lab or ‘only one of two’ in their computer science jobs.” ~ Kirsten Gillibrand
“In life sciences, we find a reasonable balance between men and women. In engineering and computer science, we have a major problem. A very small percentage of women will be in computer science.” ~ Freeman A. Hrabowski III
“My undergraduate work was in computer science and economics. It just happened to be at that time when 34 percent of computer-science majors were women. We didn’t realize it was at the peak at the time.” ~ Melinda Gates
True That
Don’t worry about people stealing your ideas. If your ideas are any good, you’ll have to ram them down people’s throats. ~ Howard Aiken
“Computer science doesn’t know how to build complex systems that work reliably. This has been a well-understood problem since the very beginning of programmable computers.” ~ Matt Blaze
“Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.” ~ Ray Ozzie
The strange flavour of AI work is that people try to put together long sets of rules in strict formalisms which tell inflexible machines how to be flexible.
Douglas Hofstadter
“For one person who is blessed with the power of invention, many will always be found who have the capacity of applying principles.” ~ Charles Babbage
“Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.” ~ Fred Brooks
“If we look at the fact, we shall find that the great inventions of the age are not, with us at least, always produced in universities.” ~ Charles Babbage
“Study after study shows that the very best designers produce structures that are faster, smaller, simpler, clearer, and produced with less effort. The differences between the great and the average approach an order of magnitude.” ~ Fred Brooks
“I fear – as far as I can tell – that most undergraduate degrees in computer science these days are basically Java vocational training. I’ve heard complaints from even mighty Stanford University with its illustrious faculty that basically the undergraduate computer science program is little more than Java certification.” ~ Alan Kay
“A little retrospection shows that although many fine, useful software systems have been designed by committees and built as part of multipart projects, those software systems that have excited passionate fans are those that are the products of one or a few designing minds, great designers.” ~ Fred Brooks
“More software projects have gone awry for lack of calendar time than for all other causes combined.” ~ Fred Brooks
“Professors typically spend their time in meetings about planning, policy, proposals, fund-raising, consulting, interviewing, traveling, and so forth, but spend relatively little time at their drawing boards. As a result, they lose touch with the substance of their rapidly developing subject. They lose the ability to design; they lose sight of what is essential; and they resign themselves to teach academically challenging puzzles.” ~ Niklaus Wirth
“All programmers are optimists. ” ~ Fred Brooks
“If a machine is expected to be infallible, it cannot also be intelligent.” ~ Alan Turing
Whaddya Know
“Some compilers allow a check during execution that subscripts do not exceed array dimensions. This is a help, but not sufficient. First, many programmers do not use such compilers because They’re not efficient. (Presumably, this means that it is vital to get the wrong answers quickly.)” ~ Brian Kernighan
If computers are the wave of the future, displays are the surfboards.
Ted Nelson
“These days, the problem isn’t how to innovate; it’s how to get society to adopt the good ideas that already exist.” ~ Douglas Engelbart
“Consider a future device for individual use, which is a sort of mechanized private file and library. It needs a name, and, to coin one at random, “memex” will do. A memex is a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory.” ~ Vannevar Bush
“There will always be plenty of things to compute in the detailed affairs of millions of people doing complicated things.” ~ Vannevar Bush
You Don’t Say
“Remember how quickly our field [computer science] changes. That’s why you want to focus on learning things that don’t change: how to work well with other people, how to carefully assess a client’s real – as opposed to perceived – needs, and things like that.” ~ Randy Pausch
“Einstein repeatedly 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
“The real value of tests is not that they detect bugs in the code but that they detect inadequacies in the methods, concentration, and skills of those who design and produce the code.” ~ Tony Hoare
“Inside every large program is a small program struggling to get out.” ~ Tony Hoare
“The Waterfall Model is wrong and harmful; we must outgrow it.” ~ Fred Brooks
“I call it my billion-dollar mistake. It was the invention of the null reference in 1965.” ~ Tony Hoare
“Propose to an Englishman any principle, or any instrument, however admirable, and you will observe that the whole effort of the English mind is directed to find a difficulty, a defect, or an impossibility in it. If you speak to him of a machine for peeling a potato, he will pronounce it impossible: if you peel a potato with it before his eyes, he will declare it useless, because it will not slice a pineapple.” ~ Charles Babbage
“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.” ~ Tony Hoare
“Stop the life cycle-I want to get off!” ~ Barry Boehm
“I wish to God these calculations had been executed by steam.” ~ Charles Babbage
“There is nothing in the programming field more despicable than an undocumented program” ~ Edward Yourdon
“It was through the Second World War that most of us suddenly appreciated for the first time the power of man’s concentrated efforts to understand and control the forces of nature. We were appalled by what we saw.” ~ Vannevar Bush
“Inventing is a lot like surfing: you have to anticipate and catch the wave at just the right moment.” ~ Ray Kurzweil
“The screen is a window through which one sees a virtual world. The challenge is to make that world look real, act real, sound real, feel real.” ~ Ivan Sutherland
“A display connected to a digital computer gives us a chance to gain familiarity with concepts not realizable in the physical world. It is a looking glass into a mathematical wonderland.” ~ Ivan Sutherland
Software is a gas; it expands to fill its container.
Nathan Myhrvold
Personal Experience
“I can’t go to a restaurant and order food because I keep looking at the fonts on the menu.” ~ Donald Knuth
“The manuals we got from IBM would show examples of programs and I knew I could do a heck of a lot better than that. So I thought I might have some talent.” ~ Donald Knuth
“I was on this path to becoming a computer-science guy, but I didn’t like it. I got no joy from it. It was very, very scary. It was suffocating to think that I was just going to do this thing for the rest of my life.” ~ Kumail Nanjiani
“I have met bright students in computer science who have never seen the source code of a large program. They may be good at writing small programs, but they can’t begin to learn the different skills of writing large ones if they can’t see how others have done it.” ~ Richard Stallman
Hopes and Fears
“Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way.” ~ Richard Hamming
“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.” ~ Fred Brooks
“We need to substitute for the book a device that will make it easy to transmit information without transporting material.” ~ J. C. R. Licklider
“It seems reasonable to envision, for a time 10 or 15 years hence, a “thinking center” that will incorporate the functions of present-day libraries together with anticipated advances in information storage and retrieval and … a network of such centers, connected to one another by wide-band communication lines and to individual users by leased-wire services.” ~ J. C. R. Licklider
By 2029, computers will have emotional intelligence and be convincing as people.
Ray Kurzweil
Nothing could be more absurd than an experiment in which computers are placed in a classroom where nothing else is changed.
Seymour Papert
Predictions – hits
“The need to congregate workers in offices will gradually diminish.” ~ Ray Kurzweil
“As soon as an Analytical Engine exists, it will necessarily guide the future course of the science. Whenever any result is sought by its aid, the question will then arise — by what course of calculation can these results be arrived at by the machine in the shortest time?” ~ Charles Babbage
When the Mac first came out, Newsweek asked me what I [thought] of it. I said: Well, it’s the first personal computer worth criticizing. So at the end of the presentation, Steve came up to me and said: Is the iPhone worth criticizing? And I said: Make the screen five inches by eight inches, and you’ll rule the world.
Alan Kay
The Analytical Engine might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine… Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.
Ada Lovelace
The engine can arrange and combine its numerical quantities exactly as if they were letters or any other general symbols; and in fact it might bring out its results in algebraical notation, were provisions made accordingly.
Ada Lovelace
“Give these people money, let them play, and they’ll come up with something.” ~ Vannevar Bush
“The world has arrived at an age of cheap complex devices of great reliability, and something is bound to come of it.” ~ Vannevar Bush
“Wholly new forms of encyclopedias will appear, ready made with a mesh of associative trails running through them, ready to be dropped into the memex and there amplified.” ~ Vannevar Bush
Computer languages of the future will be more concerned with goals and less with procedures specified by the programmer.
Marvin Minsky
“The number of transistors on an integrated circuit will double in about 18 months.” ~ Gordon Moore
“In 1999, I said that in about a decade we would see technologies such as self-driving cars and mobile phones that could answer your questions, and people criticized these predictions as unrealistic.” ~ Ray Kurzweil
“The camera hound of the future wears on his forehead a lump a little larger than a walnut.” ~ Vannevar Bush
“One day ladies will take their computers for walks in the park and tell each other, “My little computer said such a funny thing this morning”.” ~ Alan Turing
Practically everyone is going to have a general purpose computer in their pocket, it’s so easy to underestimate that, that has got to be the really, really big one.
Marc Andreessen
Musicians and journalists are the canaries in the coalmine, but, eventually, as computers get more and more powerful, it will kill off all middle-class professions.
Jaron Lanier
What’s your personal computer, anyways? Your personal computer should be something that’s always on your person.
Bill Jo
“In 20 or 30 years, you’ll be able to hold in your hand as much computing knowledge as exists now in the whole city, or even the whole world.” ~ Douglas Engelbart
Predictions – misses
“It’s interesting that the greatest minds of computer science, the founding fathers, like Alan Turing and Claude Shannon and Norbert Wiener, they all looked at chess as the ultimate test. So they thought, “Oh, if a machine can play chess, and beat strong players, set aside a world champion, that would be the sign of a dawn of the AI era.” With all due respect, they were wrong.” ~ Garry Kasparov
“A computer would deserve to be called intelligent if it could deceive a human into believing that it was human.” ~ Alan Turing
“Unless you are very rich and very eccentric, you will not enjoy the luxury of a computer in your own home. ” ~ Edward Yourdon [1975]
By 2010 computers will disappear. They’ll be so small, they’ll be embedded in our clothing, in our environment. Images will be written directly to our retina, providing full-immersion virtual reality, augmented real reality. We’ll be interacting with virtual personalities.
Ray Kurzweil
Although I’m not prepared to move up my prediction of a computer passing the Turing test by 2029, the progress that has been achieved in systems like Watson should give anyone substantial confidence that the advent of Turing-level AI is close at hand. If one were to create a version of Watson that was optimized for the Turing test, it would probably come pretty close.
Ray Kurzweil
“Supercomputers will achieve one human brain capacity by 2010, and personal computers will do so by about 2020.” ~ Ray Kurzweil
“In a few years, men will be able to communicate more effectively through a machine than face to face. That is a rather startling thing to say, but it is our conclusion.” ~ J. C. R. Licklider
Advice
“Originality is no excuse for ignorance.” ~ Fred Brooks
I have stared long enough at the glowing flat rectangles of computer screens. Let us give more time for doing things in the real world…plant a plant, walk the dogs, read a real book, go to the opera.
Edward Tufte
“I never try to make any far-reaching predictions, so much can happen that it simply only makes you look stupid a few years later.” ~ Linus Torvalds
“When in doubt, use brute force.” ~ Ken Thompson
“Twenty percent of all input forms filled out by people contain bad data.” ~ Dennis Ritchie
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” ~ Brian Kernighan
“Remember how quickly our field [computer science] changes. That’s why you want to focus on learning things that don’t change: how to work well with other people, how to carefully assess a client’s real – as opposed to perceived – needs, and things like that.” ~ Randy Pausch
“If you find that you’re spending almost all your time on theory, start turning some attention to practical things; it will improve your theories. If you find that you’re spending almost all your time on practice, start turning some attention to theoretical things; it will improve your practice.” ~ Donald Knuth
“90% of the functionality delivered now is better than 100% delivered never.” ~ Brian Kernighan
“The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.” ~ Brian Kernighan
“An effective way to test code is to exercise it at its natural boundaries” ~ Brian Kernighan
“Get the weirdnesses into the data where you can manipulate them easily, and the regularity into the code because regular code is a lot easier to work with” ~ Brian Kernighan
“… the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. … If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.” ~ Donald Knuth
“People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird.” ~ Donald Knuth
One essential object is to choose that arrangement which shall tend to reduce to a minimum the time necessary for completing the calculation.
Ada Lovelace
“Don’t ever make the mistake [of thinking] that you can design something better than what you get from ruthless massively parallel trial-and-error with a feedback cycle. That’s giving your intelligence much too much credit.” ~ Linus Torvalds
“Imagine that everything you are typing is being read by the person you are applying to for your first job. Imagine that it’s all going to be seen by your parents and your grandparents and your grandchildren as well.” ~ Tim Berners-Lee
“I have never seen an experienced programmer who routinely made detailed flow charts before beginning to write programs.” ~ Fred Brooks
“The management question, therefore, is not whether to build a pilot system and throw it away. You will do that. Hence plan to throw one away; you will, anyhow.” ~ Fred Brooks
Wise Words
“Trees sprout up just about everywhere in computer science.” ~ Donald Knuth
“Code never lies, comments sometimes do.” ~ Ron Jeffries
“The best way to predict the future is to invent it.” ~ Alan Kay
“Good code is its own best documentation.” ~ Steve McConnell
“As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications.” ~ David Parnas
“Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.” ~ Ray Ozzie
“Computers are good at following instructions, but not at reading your mind.” ~ D
“The best theory is inspired by practice.” ~ Donald Knuth
“The best practice is inspired by theory.” ~ Donald Knuth
“The mark of good coding is not that the program does what you want, it’s that it also does something that you didn’t start out wanting.” ~ Linus Torvalds
“In open source, we feel strongly that to really do something well, you have to get a lot of people involved.” ~ Linus Torvalds
“Everything that has a computer in it will fail. Everything in your life, from a watch to a car to a radio, to an iPhone, it will fail if it has a computer in it.” ~ Steve Wozniak
“It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers” ~ Fred Brooks
“Given enough eyeballs, all bugs are shallow.” ~ Linus Torvalds