Missing the Ninety-ninety rule?<p><i>"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."</i><p> Tom Cargill, Bell Labs<p><a href="https://en.wikipedia.org/wiki/Ninety-ninety_rule" rel="nofollow">https://en.wikipedia.org/wiki/Ninety-ninety_rule</a><p>NB There should probably be a 90-90-90-90-<recurring> rule... could called the Y-90 rule!
I like this one:<p>"Debugging a program is twice as hard as writing it in the first place. So, by definition, if you write the program as cleverly as you can, you will not be able to debug it."<p>- (Maybe by) Brian Kernighan.
Missing what I think is the most important quote:<p>"Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowcharts; they'll be obvious."<p>- Fred Brooks
> If you’re capable of understanding `finalised virtual hyperstationary factory class', remembering the Java class hierarchy, and all the details of the Java Media Framework, you are (a) a better man than i am (b) capable of filling your mind with large chunks of complexity, so concurrent programming should be simple by comparison. go for it.<p>> ps. i made up the hyperstationary, but then again, it’s probably a design pattern.<p><pre><code> — forsyth
</code></pre>
---<p>Reminds me of a great deal of programmers in the banking world, especially those who used spring. Their software often failed, but their knowledge of Java design patterns never did!
I grouped XML quotes to share with my manager:<p><i>The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well.</i><p><pre><code> — Phil Wadler, POPL 2003
</code></pre>
<i>XML is like violence: if it doesn’t solve your problem, you aren’t using enough of it.</i><p><pre><code> — Heard from someone working at Microsoft
</code></pre>
<i>XML is like violence. Sure, it seems like a quick and easy solution at first, but then it spirals out of control into utter chaos.</i><p><pre><code> — Sarkos in reddit
</code></pre>
<i>Most xml i’ve seen makes me think i’m dyslexic. it also looks constipated, and two health problems in one standard is just too much.</i><p><pre><code> — Charles Forsyth
</code></pre>
Nobody who uses XML knows what they are doing.<p><pre><code> — Chris Wenham</code></pre>
Part of why I like Golang as I interpret beauty as readability.<p>"Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity."<p><pre><code> — David Gelernter</code></pre>
One of my favorites:<p>"If you know what’s in it, you don’t know when it will ship. If you know when it will ship, you don’t know what’s in it."
If you'd like to be drip fed stuff like this, we've been running a programming quotes Twitter account for several years at <a href="https://twitter.com/codewisdom" rel="nofollow">https://twitter.com/codewisdom</a>
LOL, 40 years later and some things never change :<p>“The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.”<p>- Brian W. Kernighan, in the paper <i>Unix for Beginners</i>(1979)
This is fantastic. Whenever I'm at work, I always look at deltas on commits to judge personal success. The more lines removed, the better!<p>> Deleted code is debugged code.<p><pre><code> — Jeff Sickel</code></pre>
Everyone post your favorites.<p><i>> What's wrong with perl?<p>It combines all the worst aspects of C and Lisp: a billion different
sublanguages in one monolithic executable. It combines the power of
C with the readability of PostScript.<p>> To me perl is the triumph of utalitarianism.<p>So are cockroaches. So is `sendmail'.<p><pre><code> — jwz [http://groups.google.com/groups?selm=33F4D777.7BF84EA3%40netscape.com]*
~ and ~
</code></pre>
</i>If the designers of X Windows built cars, there would be no fewer than five steering wheels hidden about the cockpit, none of which followed the same principles – but you’d be able to shift gears with your car stereo. Useful feature that.<i>
Obligatory list of some good quotes that are not included:<p>Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.
- M.A. Jackson<p>Never test for an error condition you don't know how to handle.
- Steinbach<p>Choose mnemonic identifiers. If you can't remember what mnemonic means, you've got a problem.
- perldoc perlstyle<p>Every program has (at least) two purposes: the one for which it was written, and another for which it wasn't.
- Alan Perlis<p>Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
- Stan Kelly-Bootle
Pity the list isn't updated anymore, or uriel would've sure put these gems by Charles Forsyth in it:<p><i>[B]y treating "compiling C" as a subset problem of "compiling C++", gcc and especially clang are vast whales whistling at the wrong frequency for the problem.</i><p><i>Plan 9 C implements C by attempting to follow the programmer’s instructions, which is surprisingly useful in systems programming. The big fat compilers work hard to find grounds to interpret those instructions as ‘undefined behaviour’.</i>
For the sinner deserves not life but death, according to the disk devices. For example, start with Plan 9, which is free of sin, the case is different from His perspective.<p><pre><code> — Mark V. Shaney
</code></pre>
Hey, that one’s a bot.<p>I’m also trying to figure out what’s left if you take out all the “avoid complexity” and “avoid XML” quotes...