Friday, January 1, 2010

Programming Quotes and Other Life Truths

A compendium from here, here, and other sources.

Bjarne Stroustrup:
There are only two kinds of programming languages: those people always bitch about and those nobody uses.

More good code has been written in languages denounced as bad than in languages proclaimed wonderful -- much more.

C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg.

Edsger Dijkstra:
Simplicity is prerequisite for reliability.

The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.

A most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits.

Being abstract is something profoundly different from being vague... The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.

Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.

Albert Einstein:
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.

Imagination is more important than knowledge.

The only real valuable thing is intuition.

Everything should be made as simple as possible, but not simpler.

Technological progress is like an ax in the hands of a pathological criminal.

We can't solve problems by using the same kind of thinking we used when we created them.

Not everything that counts can be counted, and not everything that can be counted counts.

Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth.
Sherlock Holmes by Sir Arthur Conan Doyle

Black holes are where God divided by zero.
Steven Wright

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
Antoine de Saint Exupery

Never mistake motion for action.
Ernest Hemingway

I've had a wonderful time, but this wasn't it.
Groucho Marx

When I am working on a problem I never think about beauty. I only think about how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong.
Buckminster Fuller< A good programmer is someone who looks both ways before crossing a one-way street. Doug Linder, systems administrator

I think there is a world market for maybe five computers.
Thomas Watson

There is no reason anyone would want a computer in their home.
Ken Olson, president, chairman and founder of Digital Equipment Corp., 1977

Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.
Bill Clinton, former President of the United States

He can compress the most words into the smallest idea of any man I know.
Abraham Lincoln

For a long time it puzzled me how something so expensive, so leading edge, could be so useless, and then it occurred to me that a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match.
Bill Bryson, author, from Notes from a Big Country

Given enough eyeballs, all bugs are shallow (e.g., given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone).
Eric S. Raymond, programmer and advocate of open source software, from The Cathedral and the Bazaar

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?' Improve the code and then document it to make it even clearer.
Steve McConnell, software engineer and author, from Code Complete

Inside every well-written large program is a well-written small program.
Charles Antony Richard Hoare, computer scientist

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.
Nathaniel S. Borenstein, computer scientist

The man who does not read good books has no advantage over the man who cannot read them.
Mark Twain

If you were plowing a field, which would you rather use? Two strong oxen or 1024 chickens?
Seymour Cray father of supercomputing

#3 pencils and quadrille pads.
Seymoure Cray when asked what CAD tools he used to design the Cray I supercomputer

Interesting - I use a Mac to help me design the next Cray.
Seymoure Cray when he was told that Apple Inc. had recently bought a Cray supercomputer to help them design the next Mac.

Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
Bill Gates, co-founder of Microsoft Corporation

Programs must be written for people to read, and only incidentally for machines to execute.
Harold Abelson and Gerald Jay Sussman, computer scientists and authors, from The Structure and Interpretation of Computer Programs

The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
Tom Cargill, object-oriented programming expert at Bell Labs

The important point is that the cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. Sure, any given feature list can be implemented, given enough coding time. But in addition to coming out late, you will usually wind up with a codebase that is so fragile that new ideas that should be dead-simple wind up taking longer and longer to work into the tangled existing web. The trick is to pick the features that don't fight each other.
John Carmack, computer game programmer

The key to performance is elegance, not battalions of special cases. The terrible temptation to tweak should be resisted unless the payoff is really noticeable.
Jon Bently and M. Douglas McIlroy, both computer scientists at Bell Labs

The last good thing written in C was Franz Schubert's Symphony Number 9.
Erwin Dieterich, programmer

The problem with using C++ ... is that there's already a strong tendency in the language to require you to know everything before you can do anything.
Larry Wall, developer of the Perl language

The sooner you start to code, the longer the program will take.
Roy Carlson, University of Wisconsin

The value of a prototype is in the education it gives you, not in the code itself.
Alan Cooper, software author, from The Inmates are Running the Asylum

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.
Charles Antony Richard Hoare

Ugly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.
Eric S. Raymond

Unknown authors:
Most debugging problems are fixed easily; identifying the location of the problem is hard.

Hey! It compiles! Ship it!

Weeks of programming can save you hours of planning.

When a programming language is created that allows programmers to program in simple English, it will be discovered that programmers cannot speak English.

Managing programmers is like herding cats.

Real programmers don't comment their code. If it was hard to write, it should be hard to understand.

The C programming language -- a language which combines the flexibility of assembly language with the power of assembly language.

There are 10 kinds of programmers, those that understand binary, ....

No comments:

Post a Comment

Follow by Email