Skip to content

Instantly share code, notes, and snippets.

@transducer
Created November 28, 2018 16:56
Show Gist options
  • Save transducer/f6612b3dc01a6c141d7a5cbbc8ed6c96 to your computer and use it in GitHub Desktop.
Save transducer/f6612b3dc01a6c141d7a5cbbc8ed6c96 to your computer and use it in GitHub Desktop.
defprogramming.org quotes in fortune file
"Formal education will make you a living. Self-education will make you a
fortune."
~ Jim Rohn
%
"Programming is not easy like Sunday morning, it is silent poetry."
~ Waseem Latif
%
"The best way to get the right answer on the internet is not to ask a question;
it's to post the wrong answer."
~ Cunningham's Law
%
"A good API is not just easy to use but also hard to misuse."
~ JBD
%
"In carpentry you measure twice and cut once. In software development you never
measure and make cuts until you run out of time."
~ Adam Morse
%
"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
%
"If you say "I told you so", you are the one who has failed. Because you knew,
but did not manage to stop the train wreck."
~ Robert C. Martin
%
"What one programmer can do in one month, two programmers can do in two months."
~ Frederick P. Brooks
%
"Programmers have to fight against the two most destructive forces in the
universe: entropy and stupidity."
~ Damian Conway
%
"Promoting a good developer to management is often a twofold bad move: you'll
lose a good developer and get a poor manager."
~ Mario Fusco
%
"Software being "Done" is like lawn being "Mowed"."
~ Jim Benson
%
"90% of the functionality delivered now is better than 100% delivered never."
~ Brian W. Kernighan & P. J. Plaugher
%
"Bad programmers worry about the code. Good programmers worry about data
structures and their relationships."
~ Linus Torvalds
%
"The competent programmer is fully aware of the strictly limited size of his own
skull; therefore he approaches the programming task in full humility, and among
other things he avoids clever tricks like the plague."
~ E. W. Dijkstra
%
"Almost every attempt at making something better will be regarded by someone
else as a personal attack."
~ Chris Sacca
%
"An evolving system increases its complexity unless work is done to reduce it."
~ Meir Lehman
%
"UNIX is simple. It just takes a genius to understand its simplicity."
~ Dennis M. Ritchie
%
"Go is the language JavaScript programmers retire to when they get old. Like the
Florida of programming languages."
~ Jed Schmidt
%
"I know testers who make good devs. I know devs who make good testers. I know
Scrum Masters who make good coffee."
~ David Evans
%
"We crave for new sensations but soon become indifferent to them. Wonders of
yesterday are today common occurrences."
~ Nikola Tesla
%
"Hardware eventually fails. Software eventually works."
~ Michael Hartung
%
"That which optimizes one part of the system necessarily undermines the system
as a whole."
~ Eric Ries
%
"Every great developer you know got there by solving problems they were
unqualified to solve until they actually did it."
~ Patrick McKenzie
%
"Teams are immutable. Every time someone leaves, or joins, you have a new team,
not a changed team."
~ Richard Dalton
%
"Start out with finding the right problem to solve. This is a combination of
"what customers are asking for", "what customers don't even know they want yet"
and "what can be solved with something simple to understand and manage""
~ Radia Perlman
%
"There's nothing more permanent than a temporary hack."
~ Kyle Simpson
%
"It can be better to copy a little code than to pull in a big library for one
function. Dependency hygiene trumps code reuse."
~ Rob Pike
%
"A programmer does not primarily write code; rather, he primarily writes to
another programmer about his problem solution. The understanding of this fact is
the final step in his maturation as technician."
~ anonymous
%
"Telling a programmer there's already a library to do X is like telling a
songwriter there's already a song about love."
~ Pete Cordell
%
"The best error message is the one that never shows up."
~ Thomas Fuchs
%
"Almost without exception, the best products are developed by teams with desire
to solve a problem; not a company's need to fulfil a strategy."
~ Jeff Weiner
%
"A Fallacy of Software: If it works, and we don't change anything, it will keep
working."
~ Jessica Kerr
%
"(...) Thinking this way will teach you two things about computers: One, there's
no magic, no matter how much it looks like there is. There's just work to make
things look like magic. And two, it's crazy in there."
~ Paul Ford
%
"Programmers are often angry because they're often scared."
~ Paul Ford
%
"Well-designed components are easy to replace. Eventually, they will be replaced
by ones that are not so easy to replace."
~ Sustrik's Law
%
"Things that are impossible just take longer."
~ Ian Hickson
%
"Always bet on JavaScript."
~ Brendan Eich
%
"Organizations which design systems are constrained to produce designs which are
copies of the communication structures of these organizations."
~ Conway's law
%
"Good engineers make solutions obsolete. Great engineers make themselves
obsolete."
~ Jordan W
%
"Big data is like teenage sex: everyone talks about it, nobody really knows how
to do it, everyone thinks everyone else is doing it, so everyone claims they are
doing it..."
~ Dan Ariely
%
"And the reason these things take a generation is because ultimately we do not
change people's minds. We have to wait for the previous generation to retire or
die before we can get critical mass on the next idea. So it's like we look
around: "Are they gone?""
~ Douglas Crockford
%
"There is no single development, in either technology or management technique,
which by itself promises even one order-of-magnitude improvement within a decade
in productivity, in reliability, in simplicity."
~ Frederick P. Brooks
%
"Treat your code like poetry and take it to the edge of the bare minimum."
~ Ilyo
%
"The best reaction to "this is confusing, where are the docs" is to rewrite the
feature to make it less confusing, not write more docs."
~ Jeff Atwood
%
"Data dominates. If you've chosen the right data structures and organized things
well, the algorithms will almost always be self-evident. Data structures, not
algorithms, are central to programming."
~ Rob Pike
%
"No code is faster than no code."
~ merb motto
%
"When in doubt, leave it out."
~ Joshua Bloch
%
"Languages that try to disallow idiocy become themselves idiotic."
~ Rob Pike
%
"Security is a state of mind."
~ NSA Security Manual
%
"A program is like a poem: you cannot write a poem without writing it."
~ E. W. Dijkstra
%
"The key is to acknowledge from the start that you have no idea how this will
grow. When you accept that you don't know everything, you begin to design the
system defensively... You should spend most of your time thinking about
interfaces rather than implementations."
~ Nicholas Zakas
%
"It's important to remember that when you start from scratch there is absolutely
no reason to believe that you are going to do a better job than you did the
first time. First of all, you probably don't even have the same programming team
that worked on version one, so you don't actually have "more experience". You're
just going to make most of the old mistakes again, and introduce some new
problems that weren't in the original version."
~ Joel Spolsky
%
"I hate code, and I want as little of it as possible in our product."
~ Jack Diederich
%
"The craft of programming begins with empathy, not formatting or languages or
tools or algorithms or data structures."
~ Kent Beck
%
"Writing software as if we are the only person that ever has to comprehend it is
one of the biggest mistakes and false assumptions that can be made."
~ Karolina Szczur
%
"Scrum is like the rules of soccer. Following them does not make you a good
player."
~ Jeff Sutherland
%
"The art of programming is the art of organizing complexity, of mastering
multitude and avoiding its bastard chaos as effectively as possible."
~ E. W. Dijkstra
%
"What matters for simplicity is that there's not interleaving."
~ Rich Hickey
%
"Blame the implementation, not the technique."
~ Tim Kadlec
%
"Programmers are as emotional and irrational as normal people."
~ Douglas Crockford
%
"Simplicity is about subtracting the obvious and adding the meaningful."
~ John Maeda
%
"If you're actually doing TDD, you're throwing away tests all the time, as your
understanding of what the code is changes."
~ Kerri Miller
%
"Programs, like people, get old. We can't prevent ageing, but we can understand
its causes, limit its effects and reverse some of the damage."
~ Mario Fusco
%
"A person without data is just another person with an opinion."
~ anonymous
%
"Get out of the way of your developers or lose them to someone who will."
~ Adrian Cockcroft
%
"As a Lead JavaScript Engineer, I try to get my team to write as little
JavaScript as possible."
~ anonymous
%
"Most of the biggest problems in software are problems of misconception."
~ Rich Hickey
%
"Easy is not to be underestimated. Easy taps the pool of talent and ideas out
there that were turned off by hard."
~ Chris Anderson
%
"What exactly makes a great platform? It's about what your business puts into
its platform and what your consumers and/or business partners get out of it. And
that's the point. A platform either fits into an overall corporate strategy or
it doesn't."
~ Phil Simon
%
"If you are choosing a JavaScript library purely based on popularity, I think
you deserve what you get."
~ Tom Dale
%
"It's a lot easier to talk about code than it is to write code."
~ John O'Nolan
%
"Not all eyes that notice bugs in Open Source code belong to saints who will
report or repair them in the interest of the public good."
~ Martin Fowler
%
"The amount of energy necessary to refute bullshit is an order of magnitude
bigger than to produce it."
~ Alberto Brandolini
%
"A human being should be able to change a diaper, plan an invasion, butcher a
hog, conn a ship, design a building, write a sonnet, balance accounts, build a
wall, set a bone, comfort the dying, take orders, give orders, cooperate, act
alone, solve equations, analyze a new problem, pitch manure, program a computer,
cook a tasty meal, fight efficiently, die gallantly. Specialization is for
insects."
~ Robert A. Heinlein
%
"A generalist is a jack-of-all-trades but a master of none, whereas a
generalizing specialist is a jack-of-all-trades and master of a few. Big
difference."
~ Scott Ambler
%
"A generalist is a jack-of-all-trades but a master of none, whereas a
generalizing specialist is a jack-of-all-trades and master of a few. Big
difference."
~ Scott Ambler
%
"Do not use humans for jobs computers can do better - this is a waste of human
energy and creativity, the only real resource on this planet, and demeans the
human spirit."
~ J. Paul Morrison
%
"Feature-based releases expand to fill all available time until someone feels
guilty for not finishing the feature on a magical, wish-fulfillment schedule,
and hey, has it been a couple of years already?"
~ chromatic
%
"Users who want critical bug fixes and new features without actually upgrading
their software also want magic flying candy-dropping ponies."
~ chromatic
%
"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
%
"First do it, then do it right, then do it better."
~ Addy Osmani
%
"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
%
"When in doubt, use brute force."
~ Ken Thompson
%
"If McDonald's were run like a software company, one out of every hundred Big
Macs would give you food poisoning, and the response would be, "We're sorry,
here is a coupon for two more.""
~ Mark Minasi
%
"Rails has done more for startups than a whole boatload of Venture Capitalists."
~ Eric Ries
%
"No matter how slick the demo is in rehearsal, when you do it in front of a live
audience the probability of a flawless presentation is inversely proportional to
the number of people watching, raised to the power of the amount of money
involved."
~ Mark Gibbs
%
"Tests are the Programmer's stone, transmuting fear into boredom."
~ Kent Beck
%
"Simple doesn't mean stupid. Thinking that it does, does."
~ Paul Krugman
%
"You do not really understand something unless you can explain it to your
grandmother."
~ Albert Einstein
%
"Just because something is easy to measure doesn't mean it's important."
~ David Heinemeier Hansson
%
"In many ways, the prism of computer science is harmful for the development of
information systems."
~ David Heinemeier Hansson
%
"Talk is cheap. Show me the code."
~ Linus Torvalds
%
"[Most managers] may defend the schedule and requirements with passion; but
that's their job. It's your job to defend the code with equal passion."
~ Robert C. Martin
%
"Perl: The only language that looks the same before and after RSA encryption."
~ Keith Bostic
%
"If Java had true garbage collection, most programs would delete themselves upon
execution."
~ Robert Sewell
%
"If builders built buildings the way programmers wrote programs, then the first
woodpecker that came along would destroy civilization."
~ Gerald Weinberg
%
"One of my most productive days was throwing away 1000 lines of code."
~ Ken Thompson
%
"When debugging, novices insert corrective code; experts remove defective code."
~ Richard Pattis
%
"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 W. Kernighan
%
"Nine people can't make a baby in a month."
~ Frederick P. Brooks
%
"The most important property of a program is whether it accomplishes the
intention of its user."
~ C. A. R. Hoare
%
"Object-oriented design is the roman numerals of computing."
~ Rob Pike
%
"The problem with object-oriented languages is they've got all this implicit
environment that they carry around with them. You wanted a banana but what you
got was a gorilla holding the banana and the entire jungle."
~ Jason Gorman & Joe Armstrong
%
"Node.js is a tumor on the programming community, in that not only is it
completely braindead, but the people who use it go on to infect other people who
can't think for themselves."
~ Ted Dziuba
%
"The first step of any project is to grossly underestimate its complexity and
difficulty."
~ Nicoll Hunt
%
"Sure I could program in PHP, but I could also use a sundial to tell time."
~ anonymous
%
"Write code every day."
~ John Resig
%
"The strength of JavaScript is that you can do anything. The weakness is that
you will."
~ Reg Braithwaite
%
"Sometimes, the elegant implementation is just a function. Not a method. Not a
class. Not a framework. Just a function."
~ John Carmack
%
"The most secure code in the world is code which is never written."
~ Colin Percival
%
"If we have data, let's look at data. If all we have are opinions, let's go with
mine."
~ Jim Barksdale
%
"The proper use of comments is to compensate for our failure to express ourself
in code."
~ Robert C. Martin
%
"Linux is only free if your time has no value."
~ Jamie Zawinski
%
"One of the best programming skills you can have is knowing when to walk away
for awhile."
~ Oscar Godson
%
"If there is a feature of a language that is sometimes problematic, and if it
can be replaced with another feature that is more reliable, then always use the
more reliable feature."
~ Douglas Crockford
%
""That hardly ever happens" is another way of saying "it happens"."
~ Douglas Crockford
%
"Programming uses head and gut."
~ Douglas Crockford
%
"At some point software design becomes less about what and more about when."
~ Kent Beck
%
"Hope is not a plan."
~ Jonathan Rosenberg
%
"All programming languages are shit. But the good ones fertilize your mind."
~ Reg Braithwaite
%
"Hiring bad developers is like drinking seawater. It seems to satisfy a need
while actually increasing it."
~ Michael Nygard
%
"Good programmers don't just write programs. They build a working vocabulary."
~ Guy Steele
%
"Any app that can be written in JavaScript, will eventually be written in
JavaScript."
~ Jeff Atwood
%
"You won't get anything done by planning."
~ Karl Pilkington
%
"It would be nice if products and programming languages were designed to have
only good parts."
~ Douglas Crockford
%
"It would be nice if products and programming languages were designed to have
only good parts."
~ Douglas Crockford
%
"The older I get, the more I believe that the only way to become a better
programmer is by not programming."
~ Jeff Atwood
%
"Later equals never."
~ Le Blanc's law
%
"This is essentially what a program was, a love letter from the programmer to
the hardware, full of the intimate details known only to partners in an affair."
~ Michael Marcotty
%
"The secret to building large apps is never build large apps. Break your
applications into small pieces. Then, assemble those testable, bite-sized pieces
into your big application."
~ Justin Meyer
%
"JavaScript is the only language that I'm aware of that people feel they don't
need to learn before they start using it."
~ Douglas Crockford
%
"In the end, regardless of where you are on the development hierarchy, keep
coding. It's where you're most valuable."
~ The Developer's Code
%
"We build systems like the Wright brothers built airplanes - build the whole
thing, push it off the cliff, let it crash, and start over again."
~ Nato Software Engineering Conference '68
%
"Optimism is an occupational hazard of programming; feedback is the treatment."
~ Kent Beck
%
"There are only two industries that refer to their customers as "users"."
~ Edward Tufte
%
"Any fool can use a computer. Many do."
~ Ted Nelson
%
"Hardware: the parts of a computer system that can be kicked."
~ Jeff Pesis
%
"That's what's cool about working with computers. They don't argue, they
remember everything, and they don't drink all your beer."
~ Paul Leary
%
"Computers are like bikinis. They save people a lot of guesswork."
~ Sam Ewing
%
"Most software today is very much like an Egyptian pyramid with millions of
bricks piled on top of each other, with no structural integrity, but just done
by brute force and thousands of slaves."
~ Alan Kay
%
"Features, quality, time: pick two."
~ anonymous
%
"XML is like violence - if it doesn't solve your problems, you are not using
enough of it."
~ anonymous
%
"Saying that Java is good because it works on all platforms is like saying anal
sex is good because it works on all genders."
~ anonymous
%
"I love deadlines. I like the whooshing sound they make as they fly by."
~ Douglas Adams
%
"A computer lets you make more mistakes faster than any other invention in human
history, with the possible exceptions of handguns and tequila."
~ Mitch Ratcliffe
%
"XML documents are much like humans - they are cute and fun to deal with when
they're small but can get really annoying as they grow bigger."
~ Andy Hunt
%
"The most obvious common 'personality' characteristics of hackers are high
intelligence, consuming curiosity, and facility with intellectual abstractions.
Also, most hackers are 'neophiles', stimulated by and appreciative of novelty
(especially intellectual novelty). Most are also relatively individualistic and
anti-conformist."
~ Eric Raymond
%
"If you give someone a program, you will frustrate them for a day; if you teach
them how to program, you will frustrate them for a lifetime."
~ anonymous
%
"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
%
"The cardinal rule of writing unmaintainable code is to specify each fact in as
many places as possible and in as many ways as possible."
~ Roedy Green
%
"The longer it takes for a bug to surface, the harder it is to find."
~ Roedy Green
%
"Incorrect documentation is often worse than no documentation."
~ Bertrand Meyer
%
"The sooner you start to code, the longer the program will take."
~ Roy Carlson
%
"Don't have good ideas if you aren't willing to be responsible for them."
~ Alan J. Perlis
%
"A language that doesn't affect the way you think about programming is not worth
knowing."
~ Alan J. Perlis
%
"Law 1: Every program can be optimised to be smaller. Law 2: There's always one
more bug. Corollary: Every program can be reduced to a one-line bug."
~ anonymous
%
"Good programming is 99% sweat and 1% coffee."
~ anonymous
%
"Estimate always goes wrong. That too in one way."
~ Sumit Agrawal
%
"Ready, fire, aim: the fast approach to software development. Ready, aim, aim,
aim, aim: the slow approach to software development."
~ anonymous
%
"Without requirements or design, programming is the art of adding bugs to an
empty text file."
~ Louis Srygley
%
"In order to understand recursion, one must first understand recursion."
~ anonymous
%
"And the users exclaimed with a laugh and a taunt: It's just what we asked for
but not what we want."
~ anonymous
%
"Better train people and risk they leave - than do nothing and risk they stay."
~ anonymous
%
"Why do we never have time to do it right, but always have time to do it over?"
~ anonymous
%
"One of the big lessons of a big project is you don't want people that aren't
really programmers programming, you'll suffer for it!"
~ John Carmack
%
"A complex system that works is invariably found to have evolved from a simple
system that worked. The inverse proposition also appears to be true: A complex
system designed from scratch never works and cannot be made to work."
~ John Gall
%
"The standard rule is, when you're in a hole, stop digging; that seems not to
apply [to] software nowadays."
~ Ron Minnich
%
"Such is modern computing: everything simple is made too complicated because
it's easy to fiddle with; everything complicated stays complicated because it's
hard to fix."
~ Rob Pike
%
"So-called "smart" software usually is the worst you can imagine."
~ Christian Neukirchen
%
"The trick is to fix the problem you have, rather than the problem you want."
~ Bram Cohen
%
"The adjustment period from solo programming to collaborative programming was
like eating a hot pepper. The first time you try it, you may not like it because
you are not used to it. However the more you eat it, the more you like it."
~ anonymous
%
"The key to making programs fast is to make them do practically nothing."
~ Mike Haertel
%
"We're programmers. Programmers are, in their hearts, architects, and the first
thing they want to do when they get to a site is to bulldoze the place flat and
build something grand. We're not excited by incremental renovation: tinkering,
improving, planting flower beds."
~ Joel Spolsky
%
"Machines should work. People should think."
~ IBM Pollyanna Principle
%
"Good software, like wine, takes time."
~ Joel Spolsky
%
"At the source of every error which is blamed on the computer you will find at
least two human errors, including the error of blaming it on the computer."
~ anonymous
%
"Any non-trivial program contains at least one bug."
~ anonymous
%
"After you finish the first 90% of a project, you have to finish the other 90%."
~ Michael Abrash
%
"The best way to predict the future is to implement it."
~ Alan Kay
%
"A lack of planning on your part does not constitute an emergency on my part."
~ anonymous
%
"In software, we rarely have meaningful requirements. Even if we do, the only
measure of success that matters is whether our solution solves the customer's
shifting idea of what their problem is."
~ Jeff Atwood
%
"I've finally learned what "upward compatible" means. It means we get to keep
all our old mistakes."
~ Dennie van Tassel
%
"Real programmers can write assembly code in any language."
~ Larry Wall
%
"Software and cathedrals are much the same - first we build them, then we pray."
~ anonymous
%
"There are two ways to write error-free programs; only the third works."
~ Alan J. Perlis
%
"Before software can be reusable, it first has to be usable."
~ Ralph Johnson
%
"Sometimes the problem is to discover what the problem is."
~ Gordon Glegg
%
"Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses
remove it."
~ Alan J. Perlis
%
"Every program has two purposes: The one for which it was written and another
for which it wasn't."
~ Alan J. Perlis
%
"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 Raymond
%
"The value of a prototype is in the education it gives you, not in the code
itself."
~ Alan Cooper
%
"First, solve the problem. Then, write the code."
~ John Johnson
%
"Measuring programming progress by lines of code is like measuring aircraft
building progress by weight."
~ Bill Gates
%
"The question of whether Machines Can Think... is about as relevant as the
question of whether Submarines Can Swim."
~ E. W. Dijkstra
%
"One of the things I've been trying to do is look for simpler or rules
underpinning good or bad design. I think one of the most valuable rules is avoid
duplication. 'Once and only once' is the Extreme Programming phrase."
~ Martin Fowler
%
"Constraints are advantages in disguise. Limited resources force you to make do
with what you've got. There's no room for waste. And that forces you to be
creative."
~ 37Signals
%
"You broke the build!"
~ Agnes
%
"The function of good software is to make the complex appear to be simple."
~ Grady Booch
%
"In corporate environments the product don't have to be good. Sometimes they
don't even have to exist... if you are a thoughtful developer, you are in the
wrong place!"
~ Jeff Atwood
%
"A language that doesn't have everything is actually easier to program in than
some that do."
~ Dennis M. Ritchie
%
"When you feel the need to write a comment, first try to refactor the code so
that any comment becomes superflous."
~ Martin Fowler
%
"It comes from saying no to 1,000 things to make sure we don't get on the wrong
track or try to do too much."
~ Steve Jobs
%
"Programs must be written for people to read, and only incidentally for machines
to execute."
~ Gerald Jay & Harold Abelson
%
"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."
~ E. W. Dijkstra
%
"A programming language is low level when its programs require attention to the
irrelevant."
~ Alan J. Perlis
%
"To me programming is more than an important practical art. It is also a
gigantic undertaking in the foundations of knowledge."
~ Grace Hopper
%
"Programming today is a race between software engineers striving to build bigger
and better idiot-proof programs, and the universe trying to build bigger and
better idiots. So far, the universe is winning."
~ Rick Cook
%
"Adding manpower to a late software project makes it later."
~ Frederick P. Brooks
%
"The cleaner and nicer the program, the faster it's going to run. And if it
doesn't, it'll be easy to make it fast."
~ Joshua Bloch
%
"It's not a bug - it's an undocumented feature."
~ anonymous
%
"Playfully doing something difficult, whether useful or not, that is hacking."
~ Richard M. Stallman
%
"Learn the principle, abide by the principle, and dissolve the principle."
~ Bruce Lee
%
"The object-oriented model makes it easy to build up programs by accretion. What
this often means, in practice, is that it provides a structured way to write
spaghetti code."
~ Paul Graham
%
"Reusing pieces of code is liked picking off sentences from other people's
stories and trying to make a magazine article."
~ Bob Frankston
%
"Make everything as simple as possible, but not simpler."
~ Albert Einstein
%
"It's better to wait for a productive programmer to become available than it is
to wait for the first available programmer to become productive."
~ Steve McConnell
%
"Managing senior programmers is like herding cats."
~ Dave Platt
%
"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."
~ Frederick P. Brooks
%
"I am rarely happier than when spending entire day programming my computer to
perform automatically a task that it would otherwise take me a good ten seconds
to do by hand."
~ Douglas Adams
%
"In programming, the hard part isn't solving problems, but deciding what
problems to solve."
~ Paul Graham
%
"Good programming is good writing."
~ John Shore
%
"Programming is similar to a game of golf. The point is not getting the ball in
the hole but how many strokes it takes."
~ Harlan Mills
%
"It's okay to figure out murder mysteries, but you shouldn't need to figure out
code. You should be able to read it."
~ Steve McConnell
%
"One man's crappy software is another man's full time job."
~ Jessica Gaston
%
"Great software, likewise, requires a fanatical devotion to beauty. If you look
inside good software, you find that parts no one is ever supposed to see are
beautiful too. I'm not claiming I write great software, but I know that when it
comes to code I behave in a way that would make me eligible for prescription
drugs if I approached everyday life the same way. It drives me crazy to see code
that's badly indented, or that uses ugly variable names."
~ Paul Graham
%
"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?""
~ Steve McConnell
%
"Beta. Software undergoes beta testing shortly before it's released. Beta is
Latin for "still doesn't work.""
~ anonymous
%
"A good programmer is someone who always looks both ways before crossing a
one-way street."
~ Doug Linder
%
"Another effective technique is to explain your code to someone else. This will
often cause you to explain the bug to yourself. Sometimes it takes no more than
a few sentences, followed by an embarrassed "Never mind, I see what's wrong.
Sorry to bother you." This works remarkably well; you can even use
non-programmers as listeners. One university computer center kept a teddy bear
near the help desk. Students with mysterious bugs were required to explain them
to the bear before they could speak to a human counselor."
~ Brian W. Kernighan & Rob Pike
%
"All programmers are playwrights and all computers are lousy actors."
~ anonymous
%
"Programmer - an organism that turns coffee into software."
~ anonymous
%
"Theory and practice sometimes clash. And when that happens, theory loses. Every
single time."
~ Linus Torvalds
%
"Your task is not to foresee the future, but to enable it."
~ Antoine de Saint Exupéry
%
"Sometimes it pays to stay in bed on Monday, rather than spending the rest of
the week debugging Monday's code."
~ Christopher Thompson
%
"Anything that can possibly go wrong, will go wrong."
~ Murphy's Law
%
"There is not now, nor has there ever been, nor will there ever be, any
programming language in which it is the least bit difficult to write bad code."
~ Flon's Law
%
"Software sucks because users demand it to."
~ Nathan Myhrvold
%
"We are just as proud of what our products don't do as we are as what they do."
~ 37Signals
%
"Any fool can write code that a computer can understand. Good programmers write
code that humans can understand."
~ Martin Fowler
%
"Most good programmers do programming not because they expect to get paid or get
adulation by the public, but because it is fun to program."
~ Linus Torvalds
%
"First learn computer science and all the theory. Next develop a programming
style. Then forget all that and just hack."
~ George Carrette
%
"Learning to program has no more to do with designing interactive software than
learning to touch type has to do with writing poetry."
~ Ted Nelson
%
"In the one and only true way. The object-oriented version of 'Spaghetti code'
is, of course, 'Lasagna code'. (Too many layers)."
~ Roberto Waltman
%
"A sentence should be enough to get the idea across."
~ 37Signals
%
"Computer science education cannot make anybody an expert programmer any more
than studying brushes and pigment can make somebody an expert painter."
~ Eric Raymond
%
"Eagleson's Law: Any code of your own that you haven't looked at for six or more
months might as well have been written by someone else."
~ Alan Eagleson
%
"Programming is like sex: one mistake and you're providing support for a
lifetime."
~ Michael Sinz
%
"Always code as if the guy who ends up maintaining your code will be a violent
psychopath who knows where you live."
~ Martin Golding
%
"Don't waste your time typing up that long visionary tome; no one's going to
read it. Take consolation in the fact that if you give your product enough room
to grow itself, in the end it won't resemble anything you wrote about anyway."
~ Gina Trapani
%
"When you come across a stumbling block because the code doesn't quite fit
anymore, or you notice two things that should really be merged, or anything else
at all strikes you as being "wrong", <em>don't hesitate to change it</em>.
There's no time like the present."
~ Andy Hunt & Dave Thomas
%
"Encoded names are seldom pronounceable and are easy to miss-type."
~ Robert C. Martin
%
"Programmers must avoid leaving false clues that obscure the meaning of code."
~ Robert C. Martin
%
"Write shy code - modules that don't reveal anything unnecessary to other
modules and that don't rely on other modules' implementations."
~ Andy Hunt & Dave Thomas
%
"A design is "simple" if it follows these rules: Runs all the tests; Contains no
duplication; Expresses the intent of the programmer; Minimizes the number of
classes and methods."
~ Kent Beck
%
"Workaholics aren't heroes. They don't save the day, they just use it up. The
real hero is already because she figured out a faster way to get things done."
~ 37Signals
%
"Whenever there is a sticking point, ask, "are we staying true to the vision?"."
~ 37Signals
%
"Each new user of a new system uncovers a new class of bugs."
~ Brian W. Kernighan
%
"I don't care if it works on your machine! We are not shipping your machine!"
~ Vidiu Platon
%
"Profanity is the one language all programmers know best."
~ anonymous
%
"Code never lies, comments sometimes do."
~ Ron Jeffries
%
"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."
~ anonymous
%
"Testing can show the presence of errors, but not their absence."
~ E. W. Dijkstra
%
"Premature optimization is the root of all evil in programming."
~ anonymous
%
"Theory is when you know something, but it doesn't work. Practice is when
something works, but you don't know why. Programmers combine theory and
practice: Nothing works and they don't know why."
~ anonymous
%
"Compatibility means deliberately repeating other people's mistakes."
~ David Wheeler
%
"Correctness is clearly the prime quality. If a system does not do what it is
supposed to do, then everything else about it matters little."
~ Bertrand Meyer
%
"Just because the standard provides a cliff in front of you, you are not
necessarily required to jump off it."
~ Norman Diamond
%
"A program is portable to the extent that it can be easily moved to a new
computing environment with much less effort than would be required to write it
afresh."
~ W. Stan Brown
%
"Simplicity is prerequisite for reliability."
~ E. W. Dijkstra
%
"The central enemy of reliability is complexity."
~ Daniel Geer
%
"If you're willing to restrict the flexibility of your approach, you can almost
always do something better."
~ John Carmack
%
"Deleted code is debugged code."
~ Jeff Sickel
%
"True innovation often comes from the small startup who is lean enough to launch
a market but lacks the heft to own it."
~ Timm Martin
%
"You don't have a scaling problem yet."
~ 37Signals
%
"A happy programmer is a productive programmer. That's why we optimize for
happiness and you should too. Don't just pick tools and practices based on
industry standards or performance metrics. Look at the intangibles: Is there
passion, pride, and craftmanship here? Would you truly be happy working in this
environment eight hours a day?"
~ 37Signals
%
"It's not at all important to get it right the first time. It's vitally
important to get it right the last time."
~ Andy Hunt & Dave Thomas
%
"Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do
it yet."
~ Michael A. Jackson
%
"The trouble with programmers is that you can never tell what a programmer is
doing until it's too late."
~ Seymour Cray
%
"Never trust a programmer in a suit."
~ anonymous
%
"The difference between theory and practice is smaller in theory than in
practice."
~ anonymous
%
"The most exciting phrase to hear in science, the one that heralds new
discoveries, is not 'Eureka!' but 'That's funny...'"
~ Isaac Asimov
%
"Perfection is achieved, not when there is nothing more to add, but when there
is nothing left to take away."
~ Antoine de Saint Exupéry
%
"Computer Science is no more about computers than astronomy is about
telescopes."
~ E. W. Dijkstra
%
"PHP is a minor evil perpetrated and created by incompetent amateurs, whereas
Perl is a great and insidious evil perpetrated by skilled but perverted
professionals."
~ Jon Ribbens
%
"Don't comment bad code - rewrite it."
~ Brian W. Kernighan & P. J. Plaugher
%
"Be careful to preserve the orthogonality of your system as you introduce
third-party toolkits and libraries. Choose your technologies wisely."
~ Andy Hunt & Dave Thomas
%
"DRY - Don't Repeat Yourself - Every piece of knowledge must have a single,
unambiguous, athoritative representation within a system."
~ Andy Hunt & Dave Thomas
%
"The ideal numbers of arguments for a function is zero (niladic). Next comes one
(monadic), followed closely by two (dyadic). Three arguments (triadic) should be
avoided where possible. More than three (polyadic) requires very special
justification - and then shouldn't be used anyway."
~ Robert C. Martin
%
"The first rule of functions is that they should be small. The second rule of
functions is that <em>they should be smaller than that</em>."
~ Robert C. Martin
%
"Code smells."
~ Martin Fowler
%
"Functions should do one thing. They should do it well. They should do it only."
~ Robert C. Martin
%
"Don't live with broken windows."
~ Andy Hunt & Dave Thomas
%
"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 Borenstein
%
"Refuctoring - the process of taking a well-designed piece of code and, through
a series of small, reversible changes, making it completely unmaintainable by
anyone except yourself."
~ Jason Gorman
%
"If debugging is the process of removing software bugs, then programming must be
the process of putting them in."
~ E. W. Dijkstra
%
"It works on my machine."
~ anonymous
%
"There are only two kinds of languages: the ones people complain about and the
ones nobody uses."
~ Bjarne Stroustrup
%
"Some people, when confronted with a problem, think "I know, I'll use regular
expressions." Now they have two problems."
~ Jamie Zawinski
%
"If you want to set off and go develop some grand new thing, you don't need
millions of dollars of capitalization. You need enough pizza and Diet Coke to
stick in your refrigerator, a cheap PC to work on and the dedication to go
through with it."
~ John Carmack
%
"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
%
"Walking on water and developing software from a specification are easy if both
are frozen."
~ Edward V. Berard
%
"To iterate is human, to recurse divine."
~ L. Peter Deutsch
%
"That's the thing about people who think they hate computers. What they really
hate is lousy programmers."
~ Larry Niven
%
"Most of you are familiar with the virtues of a programmer. There are three, of
course: laziness, impatience, and hubris."
~ Larry Wall
%
"There's an old story about the person who wished his computer were as easy to
use as his telephone. That wish has come true, since I no longer know how to use
my telephone."
~ Bjarne Stroustrup
%
"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
%
"Controlling complexity is the essence of computer programming."
~ Brian W. Kernighan
%
"Objects are abstractions of processing. Threads are abstractions of schedule."
~ James O. Coplien
%
"The Three Laws of TDD: 1) You may not write production code until you have
written a failing unit test. 2) You may not write more of a unit test than is
sufficient to fail, and not compiling is failing. 3) You may not write more
production code than is sufficient to pass the currently failing test."
~ Robert C. Martin
%
"Complexity kills. It sucks the life out of developers, it makes products
difficult to plan, build, and test."
~ Ray Ozzie
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment