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 :
Plusieurs des citations ci-dessous proviennent de https://twitter.com/CodeWisdom
First they ignore you, then they laugh at you, then they fight you, then you win – Mahatma Gandhi (merci à Pierre Prud'homme pour celle-ci)
Computer science is no more about computers than astronomy is about telescopes – Edsger 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 Swim – Edsger 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 swim – Edsger W. Dijkstra)
The lurking suspicion that something could be simplified is the world's richest source of rewarding challenges – Edsger W. Dijkstra
If debugging is the process of removing software bugs, then programming must be the process of putting them in – Edsger W. Dijkstra
Simplicity is prerequisite for reliability – Edsger W. Dijkstra
If we wish to count lines of code, we should not regard them as lines produced but as lines spent – Edsger W. Dijkstra
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
Abstraction is the elimination of the irrelevant and the amplification of the essential – Robert C. Martin
Abstraction is selective ignorance – Andrew R. Koenig dans Ruminations on C++
Analogy: homomorphism between two abstractions, which are kinds of selective ignorance. What kinds they are matters – Andrew 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 it – Sean Parent (via Twitter)
Good code is short, simple, and symmetrical – the challenge is figuring out how to get there – Sean Parent
If you use floating point you have problems – Stephan 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 flowers – David Parnas
A mathematician is a device for turning coffee into theorems – Paul Erdős
JavaScript is like having a chainsaw for a hand – Brendan 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 thumb – Alisdair 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 easy – Eric Niebler
Fancy algorithms are slow when n is small, and n is usually small – Rob 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 magic – Arthur 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 force – Ken 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 structures – Frederik 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 COM. It's just a contract. You don't really need registration, type libraries, MIDL and whatnot to use COM – 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 indirection – David Wheeler
There's nothing in computing that can't be broken by another level of indirection – Rob Pike
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
Thinking doesn't guarantee that we won't make mistakes. But not thinking guarantees that we will – Leslie Lamport
Good code is its own best documentation – Steve McConnell (la citation complète est : 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)
A week of coding can often save an hour of thought – Joshua Bloch
The proper use of comments is to compensate for our failure to express ourself in code – Robert 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 read – 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
Inside every large program is a small program trying to get out – C.A.R. Hoare
The most important property of a program is whether it accomplishes the intention of its user – C.A.R. 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 trouble – Bjarne 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 in – Martin Fowler
When you feel the need to write a comment, first try to refactor the code so that any comment becomes superfluous – Martin Fowler
When to use iterative development? You should use iterative development only on projects that you want to succeed – Martin Fowler
A programming language is low level when its programs require attention to the irrelevant – Alan J. Perlis
If you have a procedure with ten parameters, you probably missed some – Alan J. Perlis
A language that doesn't affect the way you think about programming is not worth knowing – Alan J. Perlis
There are two ways to write error-free programs; only the third works – Alan J. Perlis
There are only two things wrong with C++: The initial concept and the implementation – Bertrand 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 possible – Bjarne Stroustrup
One person's data is another person's program – Guy L. Steele, Jr.
Good programmers don't just write programs. They build a working vocabulary – Guy 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 easier – Rob 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 beauty – Donald Knuth
Science is everything we understand well enough to explain to a computer – Donald Knuth
Design and programming are human activities; forget that and all is lost – Bjarne Stroustrup
A program is never less than complete, and never more than complete – Terry Baker
The first of the code accounts for of the development time. The remaining of the code accounts for the other of the development time – Tom Cargill
The most important single aspect of software development is to be clear about what you are trying to build – Bjarne 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 question – Charles 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 late – Seymour Cray
Trying to outsmart a compiler defeats much of the purpose of using one – Brian W. Kernighan
It is far, far easier to make a correct program fast than it is to make a fast program correct – Herb Sutter
Languages that try to disallow idiocy become themselves idiotic – Rob Pike
A program is only as good as it is useful – Linus Torvalds
Algorithmic complexity for structured programmers: All algorithms are , where 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 knowledge – Grace Hopper
One accurate measurement is worth a thousand expert opinions – Grace Hopper
The most damaging phrase in the language is "We've always done it this way!" – Grace Hopper
Thus we must have a language and a structure that will take care of the data descriptions and priorities, as well as the operations we wish to perform – 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 one – Brian 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 soul – John Carmack
What one programmer can do in one month, two programmers can do in two months – Frederik Brooks
Without requirements or design, programming is the art of adding bugs to an empty text file – Louis Srygley
Bad programmers worry about the code. Good programmers worry about data structures and their relationships – Linus Torvalds
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
If you're using a language today there is a chance it takes ideas from Algol 68. You don‘t know Algol 68? Well you don't know your great grandfather either: you still have genetics from him – Kevlin Henney
JavaScript developers criticising C for being low-level & idiosyncratic either have a very well developed sense of irony... or none at all – Kevlin Henney
The proper use of comments is to compensate for our failure to express ourselves in code – Robert 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 questioned – Richard Feynman
Science is the belief in the ignorance of experts – Richard Feynman
With diligence it is possible to make anything run slowly – Tom Duff
Everyday life is like programming, I guess. If you love something you can put beauty into it – Donald 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 it – Dennis 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 solve – Paul Graham
Any program is only as good as it is useful – Linus Torvalds
Measuring programming progress by lines of code is like measuring aircraft building progress by weight – Bill Gates
Simple things should be simple and complex things should be possible – Alan Kay
The most difficult problem in computer science is deciding which problems to solve – Joe Armstrong (tiré de https://twitter.com/joeerl/status/905686559558643712)
What's important is not simplicity or complexity, but how you bridge the two – Larry Wall
Computer language design is just like a stroll in the park. Jurassic Park, that is – Larry Wall
The more complex a language is, the more idioms there are – Stephen Dewhurst
One person's constant is another person's variable – Susan 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
Falling in love with code means falling in love with problem solving and being a part of a forever ongoing conversation – Kathryn Barrett
So much complexity in software comes from trying to make one thing do two things – Ryan Singer
Looking at code you wrote more than two weeks ago is like looking at code you are seeing for the first time – Dan Hurvitz
The strength of JavaScript is that you can do anything. The weakness is that you will – Reginald Braithwaite
The best performance improvement is the transition from the nonworking state to the working state – John Ousterhout
(Code) Simplicity is an act of generosity to whoever will come after you... Who is likely to be you – Kate Gregory
A rule of thumb for any good math talk is that it should have one proof and one joke and they should not be the same – Ron Graham
Programming languages, like pizza, come in only two sizes: too big and too small – Richard Pattis
I keep telling people "programming is understanding" - the computer is a machine that tests if your ideas are correct. Once you understand a problem the program can usually be written pretty quickly. Understanding a problem can take years – Joe Armstrong (via https://twitter.com/joeerl/status/934475706263851008)
The longer it takes for a bug to surface, the harder it is to find – Roedy Green (via https://twitter.com/CodeWisdom/status/935879537006702592)
Stay away from negative people. They have a problem for every solution – Albert Einstein
The best debugger ever made is a good night's sleep – Sasha Laundy (via https://twitter.com/SashaLaundy/status/936661004137635840)
If you really want to understand something, the best way is to try and explain it to someone else. That forces you to sort it out in your mind. And the more slow and dim-witted your pupil, the more you have to break things down into more and more simple ideas. And that's really the essence of programming. By the time you've sorted out a complicated idea into little steps that even a stupid machine can deal with, you've learned something about it yourself – Douglas Adams (tel que rapporté par Ólafur Waage dans https://twitter.com/olafurw/status/941233238072332288)
Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity – David Gelernter
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want – Niklaus Wirth
The code you write makes you a programmer. The code you delete makes you a good one. The code you don't have to write makes you a great one – Mario Fusco
We manage complexity of a system by applying "divide and conquer": Recursively splitting it into cohesive functional units such as methods, classes, packages, modules and webservices. The biggest challenge is defining clear boundaries with the right level of abstraction – Marcus Biel
If you can get today's work done today, but you do it in such a way that you can't possibly get tomorrow's work done tomorrow, then you lose – Kent Beck
"Coding is hard" will discourage some people from attempting it. "Coding is easy" will discourage some people who are attempting it and finding it challenging. Alternative: Learning to code is a neverending journey with a set of challenges and delights unique to each person – April Wensel
Code is like humor. When you have to explain it, it's bad – Cory House
It turns out that style matters in programming for the same reason that it matters in writing. It makes for better reading – Douglas Crockford
Absence is beauty, in error logs – Leonard Bogdonoff
Write shy code - modules that don't reveal anything unnecessary to other modules and that don't rely on other modules' implementations – Dave Thomas
Programming is like cooking: in Python, you use pre-made bolognese sauce; in C++, you start from fresh tomatoes and minced meat; in Assembly, you have a farm where you grow your tomatoes and raise your cow. – Gustavo V. Barroso
The Titanic Effect: The thought that disaster is impossible often leads to an unthinkable disaster – Gerald Weinberg
Functions should do one thing. They should do it well. They should do it only. – Robert C. Martin
Artificial intelligence has the same relation to intelligence as artificial flowers have to flowers – David Parnas
Pour d'autres citations sympathiques :