My all-time favorite programming quote has to be this Nathaniel Borenstein bon mot:
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.
It's too perfect. Never have programmers been more neatly summarized.
There are a few great collections of programming quotes on the web which are fun to browse through:
If I find a quote that resonates with me, I research the person behind the quote. Larry Wall is a good example:
I think that the biggest mistake people make is latching onto the first idea that comes to them and trying to do that. It really comes to a thing that my folks taught me about money. Don't buy something unless you've wanted it three times. Similarly, don't throw in a feature when you first think of it. Think if there's a way to generalize it, think if it should be generalized. Sometimes you can generalize things too much. I think like the things in Scheme were generalized too much. There is a level of abstraction beyond which people don't want to go. Take a good look at what you want to do, and try to come up with the long-term lazy way, not the short-term lazy way.
Jason Kottke did most of the work for me by putting together a great Larry Wall reading list:
If that's too much rah-rah Perl action for you, read this article questioning the future of Perl in Bugzilla to get some equal time. But I don't have to dogmatically accept Perl to respect Larry Wall. I doubt Larry would want me to, anyway. It's not about the language; it's about learning to understand programmers as human beings.
You can't know every notable personality in the field of computer science. But reading through some of their quotes is as good a place as any to start. It's one way to find out, at least peripherally, who the giants are in the industry, and what they're most famous for. Browsing through quotes also lets you figure out who your influences are-- or should be. Personally, I'd cite Jef Raskin and Steve McConnell as my two greatest influences.
Who are the greatest influences on your work as a software developer? And more importantly, what's your favorite quote from your influences?
I'd have to say Ditto on Steve McConnell. Reading Code Complete actually inspired a passion for programming I didn't quite have up to that point.
Haacked on May 8, 2007 2:12 AMI have to add this quote too because it's one of my all time favorites:
"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
Another site with a nice list of quotes is Cluefire (http://www.cluefire.net/)
Jivlain on May 8, 2007 2:15 AM"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
Pete Kirkham on May 8, 2007 2:22 AMhaha nice quotes Jeff and Jivlain. I am developing ethics tools, so the quote from Nathaniel Borenstein is perfect. :-)
Don’t know if I have any fancy software developers, but I have always admired John Carmack [ID Software] a lot, but maybe that was more because I enjoyed his Quake games.
“Low-level programming is good for the programmer's soul.”
John Carmack
Programmers, by nature, want to write good programs.
When the completion of a program becomes more important than having a good program, then said program is neither good nor complete.
-James D. Shea
and another:
" Don't study the idea to death with experts and committees. Get on with it and see if it works. "
Ken Iverson
[Sonium] someone speak python here?
[lucky] HHHHHSSSSSHSSS
[lucky] SSSSS
[Sonium] the programming language
One of my favorites is Michael Jackson's story about Fred and Jane, entitled "Brilliance". It is a bit too long to quote here, but I recently quoted it on my blog: http://www.code-muse.com/blog/?p=13
It says a lot about programmers as human beings, which is I think very interesting...
Gertjan Zwartjes on May 8, 2007 2:53 AMwithout hesitation, the greatest influence on my work as a software developper is Niklaus Wirth. from "Algorithms + Data Structures = Programs" to "A Plea for Lean Software", i just plain love his work and admire his writing skills.
i will simply quote his most famous pun, which also best describes his value through my eyes:
"Whereas Europeans generally pronounce my name the right way ('Ni-klows Wirt'), Americans invariably mangle it into 'Nick-les Worth'. This is to say that Europeans call me by name, but Americans call me by value."
there is much to learn from is work, but you know people never really learn. the best proof comes from the Dartmouth Basic manual, edited in 1964: "typing is no substitute for thinking". how many people around you are following this advice, 40 years later ?
rien on May 8, 2007 2:55 AM"Don't include a single line in your code which you could not explain to your grandmother in a matter of two minutes."
And of course... assume your grandmother is not Ada Lovelace.
Anonymous on May 8, 2007 2:57 AMhttp://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html
Every single one of Alan J. Perlis epigrams is a gem.
Here's one favorite:
Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves.
pINGVA on May 8, 2007 3:07 AMThe best thing about a boolean is even if you are wrong, you are only off by a bit.
Thanks, Bryan.
ej on May 8, 2007 3:19 AMWhen we don't understand a process, we fall into magical thinking about results.
--Jef Raskin
True greatness is measured by how much freedom you give to others, not by how much you can coerce others to do what you want.
--Larry Wall
Simple things should be simple, complex things should be possible.
-- Alan Kay
Good design adds value faster than it adds cost.
--Thomas C. Gale
It is not about bits, bytes and protocols but profits, losses and margins.
-- Lou Gerstner
Reading influences you a lot. Read through the "Real Programmers" section of Wikiquote without the prior knowledge that it was meant to be funny, and you get theDailyWTF...
Yuvi on May 8, 2007 3:42 AMMy all-time favorite is:
Simplicity and elegance are unpopular because thy require hard work and discipline to achieve and education to be appreciated. -- Edsger Dijkstra
Cheers!
Michael on May 8, 2007 3:45 AMI'd create a City class and implement IDisposable. City resources (especially in Baghdad) are unmanaged... ;)
On Perl:
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]
boohoo on May 8, 2007 3:53 AM@Siegfried: LOL :)
Are you aiming for quotes that describe programmers to laypeople? Or quotes that inspire programmers to program?
"How To Become a Better Programmer by Not Programming"
- Jeff Atwood
http://www.codinghorror.com/blog/archives/000543.html
"Go To Statement Considered Harmful"
- Edsger W. Dijkstra
The statement itself is controversial. But not only that, the related discourse is insightful. Question language criticism.
http://en.wikipedia.org/wiki/Considered_harmful
1) "I don't care if it works on your machine! We are not shipping your machine!"
It's the blog tagline of one Ovidiu Platon, Romanian Microsoft Student Partner [link http://studentclub.ro/ovidiupl/default.aspx ]
Unfortunately it disagrees with the "Works on my machine" Certification. Damn shame!
2) "If the user can't find it, the function's not there"
It's my blog tagline :) [link http://www.tudorvlad.ro ] I'll probably change it and keep it for when I grow up.
3) "In theory, theory and practice are the same. In practice, they aren't even close"
It can be applied to many fields, but goes great with programming.
You can have it:
1) Good
2) Fast
3) Cheap
Pick two.
great one!!!!!!!!!!!!!!!
Shalini on May 8, 2007 4:03 AMI like one Robert Martin told me once. I asked him how you convince the uninitiated that Test-First was the right way to program, and he responded:
"Would you rather Test-First, or Debug-later?"
Eric on May 8, 2007 4:22 AM"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
Rafajafar on May 8, 2007 4:47 AMC++ Class's, Friend and Private Keywords:
"Only a Friend is allowed to touch my privates."
Joe on May 8, 2007 4:49 AMFrom a college teacher I had, while comparing two lines of Fortran -- one which was "human readable" and a second one that was syntactically and functionally correct, shorter, but gibberish:
"The programmer who wrote this should be shot, but then again, many programmers should be shot."
"Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence." - Edsger Dijkstra
Patrik on May 8, 2007 4:58 AMI have many favourites. Just two of them that fit in the context of this blog:
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." -- John F. Woods
"We know about as much about software quality problems as they knew about the Black Plague in the 1600s. We've seen the victims' agonies and helped burn the corpses. We don't know what causes it; we don't really know if there is only one disease. We just suffer -- and keep pouring our sewage into our water supply." -- Tom Van Vleck
Michael Suess on May 8, 2007 5:04 AMSome people program with rocks. Others use a hammer. I prefer a contractors’-grade pneumatic nail gun with a belt-fed magazine. Have fun "becoming one with the metal", I've got real work to do.
-- Said many times in response to "VB programmers are not real programmers".
Jonathan Allen on May 8, 2007 5:07 AMI love deadlines. I like the whooshing sound they make as they fly by.
Douglas Adams
Note that, I don't take this as an influence :)
Gokhan on May 8, 2007 5:08 AMWhen they first built the University of California at Irvine they just put the buildings in. They did not put any sidewalks, they just planted grass. The next year, they came back and put the sidewalks where the trails were in the grass. Perl is just that kind of language. It is not designed from first principles. Perl is those sidewalks in the grass -Larry Wall
It's from here: http://www.softwarequotes.com/ShowQuotes.asp?ID=618Name=Wall,_LarryType=Q
Disclaimer: I don't know Perl. But that's one of the smartest things
I've ever read. Not strictly related to programming.
C programmers never die. They are just cast into void.
TixXio on May 8, 2007 5:26 AMA boss gave me a book years ago called "Systemantics" (now unfortunately renamed to "The Systems Bible") by John Gall, a pediatrician of all things. It used to be you'd order it from the good doctor's office personally, but now it's on Amazon and available to all. Anyway, this is a tongue-in-cheek-but-still-quite-worthy look at systems theory, including how systems are built, work, and more importantly, how they fail. And we're talking all types of systems, of which computer systems are only one small part. I have passed on this book to more people than I can count.
The book is full of quotable lines, especially around the "axioms, theorems and corollaries" Gall puts forward. Here is a sampling. He uses other people's ideas and quotes (with attribution), but much of the book is original, and given that the first edition was published in 1975, if you think someone else said it first, you may have to prove it predates the Ford presidency:
o Cherish your exceptions.
o New systems generate new problems.
o Systems tend to grow and as they grow they encroach.
o A temporary patch will very likely be permanent.
o People in systems do not do what the system says they are doing.
o The system itself does not do what is says it is doing.
o Systems attract systems people.
o A complex system that works is invariably found to have evolved from a simple system that worked.
o In complex systems, malfunction and even total non-function may not be detectable for long periods, if ever.
o Any large system is going to be operating most of the time in failure mode.
o If it doesn't fail here, it will fail there.
o When a fail-safe system fails, it fails by failing to fail safe.
o In setting up a new system, tread softly. You may be disturbing another system that is actually working.
o Experience isn't hereditary - it ain't even contagious.
o The message sent is not necessarily the message received.
o Every picture tells a story - but not the same story.
o You can't *not* communicate.
o The meaning of a communication is the behavior that results.
o Loose systems last longer and function better.
o Great advances do not come out of systems designed to produce great advances.
And my personal favorites:
o Systems develop goals of their own the instant they come into being.
o Intrasystem goals come first.
Jim on May 8, 2007 5:35 AMAnything by Donald Knuth.
There's one quote I've read that was attributed to him that went something like:
"Computer scientists study computers in the same way that astronomers study telescopes."
I can't remember the exact phrasing, and google isn't helping me.
David H on May 8, 2007 5:40 AMOn design:
Perfection [in design] is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupry
Make everything as simple as possible, but not simpler.
-- Albert Einstein
On user queries/feature requests:
On two occasions I have been asked [by members of Parliament!], '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
On the importance of testing:
Beware of bugs in the above code; I have only proved it correct, not tried it.
-- Donald Knuth
"Simple things should be simple, and complex things should be possible." - Alan Kay
"no ethically-trained software engineer..."
What does that about the Microsoft software engineer who wrote a href="http://msdn2.microsoft.com/en-us/library/ms441219.aspx"HideTaiwan()/a
Eugene Katz on May 8, 2007 5:48 AM"documentation" for HideTaiwan() method
http://msdn2.microsoft.com/en-us/library/ms441219.aspx
"...In fact, never ever use gets() or sprintf(), period. If you do - we
will send evil dwarfs after you."
--FreeBSD Secure Programming Guidelines
Liam on May 8, 2007 5:51 AMA couple of my favourites are Kernighan's Law:
"Debugging is twice as hard as writing the program, so if you write the program as cleverly as you can, by definition, you won’t be clever enough to debug it."
and
On friend functions in C++ Scott Meyers wrote:
"Friends, much as in real life, are often more trouble than their worth."
^^The latter I don't believe is true, but I find it to be quite a window into a man who dedicated his book to his dog.
Paul on May 8, 2007 5:57 AMvoid foo()
{
auto_ptrCity Bagdad( new City );
//... some more code ...
}
// and Bagdad destroyed as it goes out of scope
"Brevity is the soul of wit." by William Shakespeare
is a quote I think captures some of the essens of programming...
Edward on May 8, 2007 6:06 AMI put together a few of my favourites last year (http://dsingleton.co.uk/archive/programming-quotes/2006/09/06/), my favourite being;
"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
David Singleton on May 8, 2007 6:10 AM"Talk is cheap. Show me the code." - Linus Torvalds
http://lkml.org/lkml/2000/8/25/132
Can Berk on May 8, 2007 6:13 AMThe very first "stupid users" quote ever recorded:
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
-- Charles Babbage (1791-1871)
One of my most productive days was throwing away 1,000 lines of code. -- Ken Thompson
Phil O. Despotos on May 8, 2007 6:40 AM"Mostly, when you see programmers, they aren't doing anything. One of the attractive things about programmers is that you cannot tell whether or not they are working simply by looking at them. Very often they're sitting there seemingly drinking coffee and gossiping, or just staring into space. What the programmer is trying to do is get a handle on all the individual and unrelated ideas that are scampering around in his head." - Charles M Strauss
"A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer." - Bill Gates
"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter." - Eric Raymond
Most of my favorites have already been posted in comments, but I think the greatest source of witty programming quotations is Stan Kelly-Bootle's "Computer Contradictionary" (http://en.wikipedia.org/wiki/The_Computer_Contradictionary).
It's now, sadly, out of print. I've been bugging Stan, off and on, to update it. Stan worked on the EDSAC in the late 1940's and is the world's first CS post-grad; he'll be turning 80 soon, I believe.
Rainer Brockerhoff on May 8, 2007 6:45 AMFrom my list of potential siglines:
"The best programmers are not marginally better than merely good
ones. They are an order of magnitude better, measured by whatever
standard: conceptual creativity, speed, ingenuity of design, or
problem-solving ability."
-- Randall E. Stross
Programming languages should be designed not by piling feature
on top of feature, but by removing the weaknesses and
restrictions that make additional features appear necessary.
---From Revised4 Report on the Algorithmic Language Scheme
"The creation of genuinely new software has far more in
common with developing a new theory of physics than
it does with producing cars or watches on an assembly
line."
-- T. Bollinger
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
Premature optimization is the root of all evil in programming.
---C.A.R. Hoare
... with proper design, the features come cheaply. This
approach is arduous, but continues to succeed.
---Dennis Ritchie
Simple things should be simple, complex things should be possible.
-- Alan Kay
Programs must be written for people to read,
and only incidentally for machines to execute.
---Abelson and Sussman
Do not lie to the programmer, for he will get his revenge.
---Chip Salzenberg
It's hard to read through a book on the principles of
magic without glancing at the cover periodically to make
sure it isn't a book on software design.
---Bruce Tognazzini
The lyf so short, the craft so long to lerne.
---Geoffrey Chaucer
"There are 10 kinds of people in the world - those who understand binary and those who don't."
Other humor in the GNU Humor Collection. Joke was submitted by Colin Sharpe
Gilson on May 8, 2007 6:56 AM"Any configuration 'feature' sufficiently hidden is indistinguishable from a bug"... in reply to a rumored compile parameter to increase the nagios perf string limit higher than 500+ characters.
Upon further investigation, it was determined that editing a C header file was not, arguably, a configuration option... until now.
Eric on May 8, 2007 7:11 AMMy personal favorite is from Michael Sinz. "Programming is like sex. One mistake and you have to support it for the rest of your life."
Nick on May 8, 2007 7:30 AMGilson, I have my own counter-quote that goes
"There are 10 kinds of people in the world, those who think the 'binary 10 types of people' joke is funny, and those who don't."
My favorite new programming-type quote is Hofstadter's Law:
"It always takes longer than you expect, even when you take into account Hofstadter's Law."
Peter {faa780ce-0f0a-4c28-81d2-3667b71287fd} on May 8, 2007 7:32 AMEdsger Dijkstra made some very quotable statements, including this classic:
blockquoteThe competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague./blockquote
There's a nice collection of Dijkstra quotes here: http://www.brainyquote.com/quotes/authors/e/edsger_dijkstra.html
Ken Dyck on May 8, 2007 7:48 AMGOTO is a four letter word.
Edsger W. Dijkstra
"Woh, All this computer hacking is making me thirsty. Where's my tab?" - Homer Simpson
CR on May 8, 2007 7:57 AMKernighan's law, quoted above, is my current mantra - perhaps b/c I have a tendency to out-clever myself.
An old favorite of mine that someone jogged my memory of before:
"Documentation is like sex. When its good, it's oh-so-good. When its bad its better than nothing."
Dave on May 8, 2007 8:08 AMFrom http://w-uh.com/articles/030101-w-uh.html
I hold the following to be the "equation of life":
W=UH
Where W=wrongness, U=ugliness, and H=hardness. In English this equation means:
"if something is ugly or hard, it is wrong"
Adam Finlayson on May 8, 2007 8:11 AM"code is poetry" I think wordpress is using it.
AjiNIMC - Gmail a part of my personal nerve center on May 8, 2007 8:12 AMI ran across this one shortly after I started in IT. Printed it out and hung it up. Not "programming" per se, but still puts me in stitches.
"The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents."
Nathaniel Borenstein
aaron on May 8, 2007 8:29 AM[quote] "In theory, theory and practice are the same. In practice, they aren't even close"
It can be applied to many fields, but goes great with programming.[/quote]
Someone's signature - "That's all very good in practice, but how does it work in *theory*?"
"Programmers have no idea how good (or bad) they are at programming. In fact, we all think we're pretty darn good at it."
and related:
"So now I have no idea how far along the programmer-proficiency curve I am, but I can at least see that I'm nowhere near the high end; I'm not even to the halfway point. My ego still assures me I'm past the 25% mark, but realistically, I doubt it. I'm probably flush with the y-axis."
Both from Steve Yegge
Eric on May 8, 2007 8:46 AM1) Ooops...
2) What the....
3) But why!?!
4) Hmmm...
...etc :)
OJ on May 8, 2007 9:19 AMOn OO coding run amok:
The JavaBean spec designers threw the getter/setter idiom into the picture because they thought it would be an easy way to quickly make a bean—something you can do while you're learning how to do it right. Unfortunately, nobody did that.
-- Allen Holub/2003
and
I particularly dislike classes with a lot of get and set functions.
-- Bjarne Stroustrup/2003
(The current OO practice ignores what Objects have, capabilities; and manipulates what is irrelevant, data)
For coders, generally, run amok in data:
Proper data management is the key to great architecture. Ignoring this and abstracting data access and data management away just to have a convenient programming model is … problematic. ... Many of the proponents of O/R mapping that I run into (and that is a generalization and I am not trying to offend anyone – just an observation) are folks who don't know SQL and RDBMS technology in any reasonable depth and/or often have no interest in doing so.
-- Clemens Vasters/2006
and
In CS we don't have a lot of formal models to guide us, as in engineering or other science. Much of CS is entirely ad-hoc. However we do have a sound and complete model for data storage (relational model) and hardly anyone uses it. It boggles my mind. Do people not *want* their programs to work predictably?
-- Anonymous Coward/2005
"Web Services are like teenage sex. Everyone's talking about doing it, but most people aren't; and the one's who are doing it aren't doing it very well." - Not sure who said that
Tim on May 8, 2007 9:29 AM"Trivia rarely affect efficiency." --The Elements of Programming Style, Kernighan and Plauger
Jimmy on May 8, 2007 9:48 AMC is for Cookie. That good enough for me.
C. Monster on May 8, 2007 9:53 AMYou can have it:
1) Good
2) Fast
3) Cheap
Pick two.
"Programming is an art form that fights back"
Chad Z. Hower (aka Kudzu)
"Programming is like kicking yourself in the face, sooner or later your nose will bleed" ~ Programming Legend Kyle Woodbury
James on May 8, 2007 10:19 AMOne of my favorites:
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
I keep a collection of my favorite programming quotes at:
http://www.dynamicajax.com/fr/Great_Software_Quotes-200_306.html
You even have some out there Jeff.
Ryan Smith on May 8, 2007 10:23 AMI watched one of Raymond Chen's talks from a PDC about a year ago. I liked this quote:
"One of the questions I get is, "My app is slow to startup, what are the super secret evil tricks you guys at Microsoft are using to get your apps to startup faster?" And the answer is ... the super evil trick ... is to do less stuff. Because the stuff you don't do ... it turns out I can do nothing really fast!"
Rick Brewster on May 8, 2007 10:24 AM"portability is for canoes" Jim McCarthy, dynamics of software development
Your mom is so fat she sat on a binary tree and turned it into a linked list in constant time!
and ...
Saying Java is good because it works on all OSes is like saying anal sex is good because it works on all genders.
Andrei on May 8, 2007 10:44 AMI just remembered this. " What is the object oriented way of getting rich?"
- Inheritance
:)
Sesh on May 8, 2007 10:51 AM"The function of good software is to make the complex appear to be simple." - Grady Booch
Dan Esparza on May 8, 2007 10:58 AMAlthough I have no real name to credit, a fellow by the nickname of MFen is quoted from #python on freenode.net with this gem: Python's a drop-in replacement for BASIC in the sense that Optimus Prime is a drop-in replacement for a truck.
Calvin Spealman on May 8, 2007 10:59 AMWhen in doubt, use brute force
-- Ken Thompson
And another theory/practice saying:
The difference between theory and practice is that, in theory, there is no difference between theory and practice.
-- Richard Moore (KDE Developer)
@Tudor Vlad: I always heard it as: "The difference between theory and practice is smaller in theory than in practice."
Adam Blinkinsop on May 8, 2007 11:26 AM"Mostly, when you see programmers, they aren't doing anything. One of the attractive things about programmers is that you cannot tell whether or not they are working simply by looking at them. Very often they're sitting there seemingly drinking coffee and gossiping, or just staring into space. What the programmer is trying to do is get a handle on all the individual and unrelated ideas that are scampering around in his head." - Charles M Strauss
The above quote by Adam Goldstein on May 8, 2007 05:43 AM is exactly how I feel like when I am programming. It really captures my state of mind. Thank you Adam for this quote.
Cosmic Ovungal on May 8, 2007 11:32 AM"If builders built buildings the way programmers wrote programs, then the next woodpecker that came along would destroy civilization." - Unknown.
"Thomas Dolby -- The man who put Apple software into a Coleco Adam computer and came up with the first computer with the knowledge of good and evil." - Comic strip I saw in college.
Buck on May 8, 2007 11:35 AM"In C expressions, you can assume that *, /, and % come before + and -. Put parentheses around everything else."
Steve Oualline (C Elements of Style)
Two RSS feeds of programming quotations:
"Quotations from the World of Programming (softwarequotes.com)"
http://feedchopper.ning.com/index.php/main/feed/showUrl?id=2848668
"Programming Quotations"
http://feedchopper.ning.com/index.php/main/feed/showUrl?id=2833755
"If it's not documented, it doesn't exist." -unknown
The thing I've read that most describes why I like to program is the section titled "The Joys of the Craft" from chapter one of "The Mythical Man-Month" by Frederick P. Brooks, Jr.
Some examples:
"As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design."
"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."
"The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be."
Kuerwen on May 8, 2007 11:52 AM@David H
The quote is by Dijkstra, and it's my favorite of all time:
"Computer science is no more about computers than astronomy is about telescopes." - Dijkstra
The most important one for me is not about software only, but still applies: "If it ain't broke, don't fix it".
Rodrigo on May 8, 2007 12:13 PMAnd here's one from today that I think is relevant, if not actually aphorismical:
You'll be better off if you not only keep the actual datas, but also compare the original estimate with the actual result in a project post-mortem. 2007 Scott Hanselman.
Moz on May 8, 2007 12:18 PMAnd here's one from today that I think is relevant, if not actually aphorismical:
You'll be better off if you not only keep the actual datas, but also compare the original estimate with the actual result in a project post-mortem.
OK, the actual link is: http://www.hanselman.com/blog/SoftwareEstimationRememberThatTargetsAreNotEstimates.aspx
Moz on May 8, 2007 12:19 PMSpeaking of McConnell, did you happen to catch his letter to the editor in IEEE Computer last month, where he refuted a (stupid) article which actually claimed that software engineering isn't an actual discipline of engineering? Steve totally shut that guy down -- IMO it was a ridiculous article to have been published in Computer in the first place...
David Markle on May 8, 2007 12:24 PMPaul Graham has some good ones: http://www.paulgraham.com/quo.html
Tom on May 8, 2007 12:37 PMEvery program has at least one faulty line of code.
Every program can be shortened one line.
Conclusion: Every program can be reduced to one single faulty line of code.
dummy on May 8, 2007 12:52 PMProbably the two biggest influences: Bertrand Meyer and Niklaus Wirth, both of whom I have the big fortune of knowing personally (but then, I studied at ETHZ, so that's no big surprise).
Biggest influence in the "trying to avoid doing the same thing" way: Bjarne Stroustrup (after having attended one of his lectures about C++).
LKM on May 8, 2007 12:53 PMThe biggest influence I have had is from blogs like this. Here are some I really like to follow:
1. coding horror
2. blogs.msdn.com (Microsoft developer blogs)
e.g. http://blogs.msdn.com/devdev/
3. http://headrush.typepad.com/
4. http://www.charlespetzold.com/blog/blog.xml
5. Google blogs (check out at googleblog.blogspot.com)
6. And the numerous links you get from these
Some books that have really helped me are:
1. Programming Pearls
2. Code Complete
3. Applied .net framework programming
4. Win32 API
Sesh
Sesh on May 8, 2007 12:55 PMmy favorite is
The three chief virtues of a programmer are: Laziness, Impatience and Hubris.
by Larry Wall
as it matches with my moto when programming "be lazy"
lazy as in http://www.paulgraham.com/procrastination.html by paul graham
I think the method name DestroyCity is confusing,
are we destroying the instance of the city object
or are we attacking a place represented by the city object?
Terminology and percieved or dual meanings can change a clear and concise piece of code (in one persons mind) into a confusing and uncertain piece of code (in another persons mind)
Martin on May 9, 2007 2:54 AM"Software Engineering: A study akin to numerology and astrology, but lacking the precision of the former and the success of the latter."
from: http://www.softpanorama.org/SE/index.shtml
As the author points out, (Slightly Skeptical) Software Engineering Links. I would have never believed it coming from a more mature engineering discipline (i.e. electronics) but having been in the software dev world for 17 years (and still programming)… it is only too real.
Mitch on May 9, 2007 3:34 AMScott Meyers and his book "Effective C++" both rule!
marc on May 9, 2007 7:55 AMI'd definitely say Steve McConnell's 'Code Complete' was a major influence; also Steve Maguire's 'Writing Solid Code' and Jon Bentley's 'Programming Pearls' books.
My favourite saying (tongue firmly in cheek) is:
"It was on fire when I found it"
Mitch Wheat on May 9, 2007 8:39 AM"If you have a problem that requires a regular expression to solve it... you now have two problems".
Someone at work told me this, A quick google search reveals this quote is probably the origin:
'Some people, when confronted with a problem, think "I know, I’ll use regular expressions.” Now they have two problems'.
—Jamie Zawinski, in comp.lang.emacs
Boy oh boy, reading these just re-affirms: programmers sure are boring!
steve on May 9, 2007 10:42 AMGreat, great idea for a post.
You obliquely referenced Programmers at Work. I just finished reading it, so here is my list of the best quotes from it:
engtech on May 9, 2007 11:45 AMThe comments to this entry are closed.
|
|
Traffic Stats |