# Les mots des autres...

Quelques mots prononcés ou écrits par d'autres. Comme le rappelle Henrik Warne en 2016, toutefois, mieux vaut prendre ces remarques avec un peu de recul et de discernement :

First they ignore you, then they laugh at you, then they fight you, then you winMahatma Gandhi (merci à Pierre Prud'homme pour celle-ci)

Computer science is no more about computers than astronomy is about telescopesEdsger W. Dijkstra (j'aime bien cette citation, mais notez que certains ne sont pas d'accord)

The question of whether Machines Can Think... is about as relevant as the question of whether Submarines Can SwimEdsger W. Dijkstra (on le voit parfois aussi exprimé sous la forme The question of whether computers can think is just like the question of whether submarines can swimEdsger W. Dijkstra)

The lurking suspicion that something could be simplified is the world's richest source of rewarding challengesEdsger W. Dijkstra

Abstraction is selective ignoranceAndrew R. Koenig dans Ruminations on C++

Analogy: homomorphism between two abstractions, which are kinds of selective ignorance. What kinds they are mattersAndrew R. Koenig dans https://twitter.com/arks_remarks/status/743143735718928384

The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. – Edsger W. Dijkstra

Simplicity is prerequisite for reliability. – Edsger W. Dijkstra

The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka!" (I found it!) but "That's funny ..." – Isaac Asimov (pris sur)

D'un dénommé Rick Osborne, pris dans un commentaire sur un blogue quelque part : « Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. »

De Douglas Adams, dans Mostly Harmless : « 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. »

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning – Rich Cook

Code is like poetry; most of it shouldn't have been written – David Jacobs (via John D. Cook)

Keep for-body short -- no longer than composition of two functions with an operator. If it is longer, name itSean Parent (via Twitter)

Good code is short, simple, and symmetrical – the challenge is figuring out how to get thereSean Parent

If you use floating point you have $2.00001$ problemsStephan T. Lavavej (via Twitter)

Education's purpose is to replace an empty mind with an open one – Malcolm Forbes, dans Forbes Magazine (via Pierre Prud'homme)

Artificial intelligence has the same relation to intelligence as artificial flowers have to flowersDavid Parnas

A mathematician is a device for turning coffee into theoremsPaul Erdős

JavaScript is like having a chainsaw for a handBrendan Eich

The key to performance is elegance, not battalions of special cases – McIlroy and Bentley

If there's one thing worse than a program that doesn't work when it should, it's a program that does work when it shouldn't. – Bob Archer (lu via le blogue de Robert C. Martin, qui y commente la citation)

When your hammer is C++, everything begins to look like a thumbAlisdair Meredith

If you lie to the compiler, it will get its revenge – Henry Spencer

In programming, the sooner you start, the later you finish – Je ne connais pas l'auteur, mais merci à Pierre Prud'homme de me l'avoir envoyée

Philosophy of a library designer: I can't stop people from writing bad code. But I would be guilty of collusion if I made it easyEric Niebler

Fancy algorithms are slow when n is small, and n is usually smallRob Pike

OOP does model the real world! Things at the top of the hierarchy seemingly do nothing but tell those at the bottom what to do@fogus

Any sufficiently advanced technology is indistinguishable from magicArthur C. Clarke

Any sufficiently advanced incompetence is indistinguishable from malice @techbytom

Regular Expressions look like cartoon swear words for a reason – Scott Hanselman

When in doubt, use brute forceKen Thompson

If it's your decision, it's design; if not, it's a requirement – Alastair Cockburn

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. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structuresFrederik Brooks (voir aussi, de manière plus générale, les extraits sur http://www.grok2.com/progfun.html)

Don't be so afraid of. It's just a contract. You don't really need registration, type libraries, MIDL and whatnot to use– Sasha Goldshtein (tiré de https://twitter.com/goldshtn/status/630597369516716032)

Any sufficiently advanced bug is indistinguishable from a feature – Rich Kulawiec

All problems in Computer Science can be solved by another level of indirection, except for the problem of too many layers of indirectionDavid Wheeler

There's nothing in computing that can't be broken by another level of indirectionRob Pike

A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusableLeslie Lamport

Thinking doesn’t guarantee that we won’t make mistakes. But not thinking guarantees that we willLeslie Lamport

Good code is its own best documentationSteve McConnell

A week of coding can often save an hour of thoughtJoshua Bloch

The proper use of comments is to compensate for our failure to express ourself in codeRobert C. Martin

So if you want to go fast, if you want to get done quickly, if you want your code to be easy to write, make it easy to readRobert C. Martin

No matter how slow you are writing clean code, you will always be slower if you make a messRobert C. Martin

Inside every large program is a small program trying to get outTony Hoare

If debugging is the process of removing software bugs, then programming must be the process of putting them in   Edsger W. Dijkstra

Most code is bad, so just because you see something over and over doesn't mean it's a Pattern – Tony van Eerd pendant C++ Now 2016

Everyone will forgive you when you screw up. It's getting it right that will get you into troubleBjarne Stroustrup

C++ is designed to allow you to express ideas, but if you don't have any ideas or don't have any clue about how to express them, C++ doesn't offer much help  – Bjarne Stroustrup

The same solution can be a good pattern in some contexts and an antipattern in others. Its value depends on the context that you use it inMartin Fowler

When you feel the need to write a comment, first try to refactor the code so that any comment becomes superfluousMartin Fowler

A programming language is low level when its programs require attention to the irrelevantAlan J. Perlis

If you have a procedure with ten parameters, you probably missed someAlan J. Perlis

A language that doesn’t affect the way you think about programming is not worth knowingAlan J. Perlis

There are only two things wrong with C++: The initial concept and the implementationBertrand Meyer

"How to test?" is a question that cannot be answered in general. "When to test?" however, does have a general answer: as early and as often as possibleBjarne Stroustrup

One person's data is another person's programGuy L. Steele, Jr.

Falling in love with code means falling in love with problem solving and being a part of a forever ongoing conversation – Kathryn Barrett

Without requirements or design, programming is the art of adding bugs to an empty text file – Louis Srygley

A good programmer is someone who looks both ways before crossing a one-way street – Doug Linder

The proper use of comments is to compensate for our failure to express ourself in code Robert C. Martin

No matter how slow you are writing clean code, you will always be slower if you make a mess Robert C. Martin

Abstraction is the elimination of the irrelevant and the amplification of the essential Robert C. Martin

There is no programming language—no matter how structured—that will prevent programmers from making bad programs – Larry Flon

Rather than teach everyone to code, let's teach them to think. The coding can come later; it's easierRob Pike

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 beautyDonald Knuth

Science is everything we understand well enough to explain to a computerDonald Knuth

Design and programming are human activities; forget that and all is lostBjarne Stroustrup

A program is never less than $90\%$ complete, and never more than $95\%$ complete – Terry Baker

The first $90\%$ of the code accounts for $90\%$ of the development time. The remaining $10\%$ of the code accounts for the other $90\%$ of the development time – Tom Cargill

The most important single aspect of software development is to be clear about what you are trying to buildBjarne Stroustrup

What's the most used language in programming? Profanity – Alejandro Alkoba

On two occasions, I have been asked, — "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a questionCharles Babbage (aujourd'hui, on dirait simplement « Garbage In, Garbage Out »)

The problem with programmers is that you can never tell what a programmer is doing until it's too lateSeymour Cray

Trying to outsmart a compiler defeats much of the purpose of using oneBrian W. Kernighan

It is far, far easier to make a correct program fast than it is to make a fast program correctHerb Sutter

Languages that try to disallow idiocy become themselves idioticRob Pike

A program is only as good as it is usefulLinus Torvalds

Algorithmic complexity for structured programmers: All algorithms are $O(f(n))$, where $f$ is someone else's responsibility – Peter Cooper

To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledgeGrace Hopper

One accurate measurement is worth a thousand expert opinionsGrace Hopper

The most damaging phrase in the language is "We've always done it this way!"Grace Hopper

My definition of an expert in any field is a person who knows enough about what's really going on to be scared – P.J. Plauger

Trying to outsmart the compiler defeats much of the purpose of using oneBrian W. Kernighan et P.J. Plauger

If we wish to count lines of code, we should not regard them as 'lines produced' but as 'lines spent'Edsger W. Dijkstra

Low-level programming is good for the programmer's soulJohn Carmack

What one programmer can do in one month, two programmers can do in two monthsFrederik Brooks

Without requirements or design, programming is the art of adding bugs to an empty text file – Louis Srygley

The act of describing a program in unambiguous detail and the act of programming are one and the same – Kevlin Henney

A common fallacy is to assume authors of incomprehensible code will be able to express themselves clearly in comments – Kevlin Henney

If your code needs comments, consider refactoring it so it doesn’t – Kevlin Henney

The proper use of comments is to compensate for our failure to express ourselves in codeRobert C. Martin

Computer programming is like the ability or skill to see what Picasso saw from all the different angles at once – Erik Naggum

I would rather have questions that can't be answered than answers that can't be questionedRichard Feynman

With diligence it is possible to make anything run slowlyTom Duff

Everyday life is like programming, I guess. If you love something you can put beauty into itDonald Knuth

If something is conceptually simple, but hard to do in practice, it's only a matter of time before someone makes it simple in practice – Joe Duffy (tiré de https://twitter.com/xjoeduffyx/status/892231121349492739)

The only way to learn a new programming language is by writing programs in itDennis M. Ritchie

Debugging is like being the detective in a crime movie where you are also the murderer – Filipe Fortes

In programming, the hard part isn’t solving problems, but deciding what problems to solvePaul Graham

Any program is only as good as it is usefulLinus Torvalds

Measuring programming progress by lines of code is like measuring aircraft building progress by weightBill Gates

Simple things should be simple and complex things should be possibleAlan Kay

The most difficult problem in computer science is deciding which problems to solveJoe Armstrong (tiré de https://twitter.com/joeerl/status/905686559558643712)

What's important is not simplicity or complexity, but how you bridge the twoLarry Wall

The more complex a language is, the more idioms there are – Stephen Dewhurst

One person's constant is another person's variableSusan Gerhart

C is a bit like Latin these days. We no longer write everything in it, but knowing it affords deeper knowledge of more-recent languages – Norman Wilson (via https://twitter.com/oclsc/status/916778733566156800)

Write code as if you had to support it for the rest of your life – Yuriy Zubarev

The statements of science are not of what is true and what is not true, but statements of what is known with different degrees of certainty – Richard Feynman

Pour d'autres citations sympathiques :