[HN Gopher] Programming quotes
       ___________________________________________________________________
        
       Programming quotes
        
       Author : tosh
       Score  : 75 points
       Date   : 2021-03-25 14:30 UTC (8 hours ago)
        
 (HTM) web link (www.ronaldsvilcins.com)
 (TXT) w3m dump (www.ronaldsvilcins.com)
        
       | dehrmann wrote:
       | > Java is to JavaScript what Car is to Carpet.
       | 
       | It's goes deeper than it should Cars usually ship with small
       | patches of carpet. From Java 8 until 15, Java shipped with a JS
       | interpreter. It was actually the only JSON parser I know of that
       | shipped with Java.
        
       | ppierald wrote:
       | Math is hard. Programming is hard.
        
       | petercooper wrote:
       | I've been running a Twitter account hoovering up and
       | regurgitating such things for the past ten years as well:
       | https://twitter.com/codewisdom
        
         | anthropodie wrote:
         | > "Sometimes it pays to stay in bed on Monday, rather than
         | spending the rest of the week debugging Monday's code." -
         | Christopher Thompson
         | 
         | Liked your feed. Followed.
        
         | ollran wrote:
         | There was an account posting SICP quotes as well.
         | https://twitter.com/SICPQuotes
        
       | dehrmann wrote:
       | > There are two major products that come out of Berkeley: LSD and
       | UNIX. We don't believe this to be a coincidence.
       | 
       | I heard it as the much funnier "LSD and BSD."
        
         | coldtea wrote:
         | Funnier AND more accurate. UNIX came out of AT&T. The BSD
         | variant came out of Berkeley.
        
       | FarProfessor wrote:
       | "Measuring programming progress by lines of code is like
       | measuring aircraft building progress by weight." - yup!
        
         | zaat wrote:
         | I don't see how this misses anything, weight as progress
         | criteria isn't wrong because of assembly time but due to the
         | effect of added weight
        
         | swader999 wrote:
         | I'm stealing this one.
        
         | dehrmann wrote:
         | This misses something, though. The problem with lines of code
         | isn't that it discounts assembly time, it's that it rewards
         | complexity.
        
           | Jtsummers wrote:
           | The point of the analogy is that both metrics are,
           | fundamentally, useless. A 787 (unloaded) weighs about 175
           | tons. Does this mean that putting 175 tons of material at the
           | end of the assembly line corresponds to the complete and
           | proper assembly of a 787? Nope. There are other far more
           | useful measures: does it look right, is it fitted correctly,
           | does it pass QA (testing), is it composed of the correct
           | pieces or just things that resemble them?
           | 
           | In software, LOC is, itself, a useless measure for progress
           | for the same reason: It indicates nothing of value. I have
           | inherited programs in the 10s and 100s of thousands of lines
           | of code that I was able to reduce to less than 20% of their
           | initial size without loss of capability, and generally with
           | improved performance, stability, and maintainability. The
           | right measures are around functionality and the other
           | meaningful qualities (stability, security, testability,
           | etc.).
        
         | jandrese wrote:
         | Reminds me of another quote:
         | 
         | "Software ended up saving the Defense Aerospace industry. It
         | was the only way of adding cost that didn't also add weight."
        
       | swader999 wrote:
       | I clicked on this thinking I'd find tips on programming quotes.
        
       | goatcode wrote:
       | Djikstra is the king of smarmy CS quotes.
        
       | COil wrote:
       | Don't mock everything, by mocking everything, you are testing...
       | nothing.
        
         | sethammons wrote:
         | I love this. I can't count how many cases I've come across
         | where at the end of the day, you assert that 1=1 because all
         | that is happening is mocks being passed around and you assert
         | that your mock is your mock.
        
         | toast0 wrote:
         | Mocking everything is mocking testing?
        
       | alexf95 wrote:
       | This looks like it would be heaven for my software engineering
       | professor. I swear he had smart Computer Science quotes on every
       | second slide of his presentations.
        
       | cilefen wrote:
       | It would be an improvement to curate more diversity in this
       | pantheon.
        
         | luxuryballs wrote:
         | what does this even mean?
        
         | me_me_me wrote:
         | Do you have any entry proposal(s) or you are just complaining
         | without a solution?
         | 
         | edit: typo
        
           | petercooper wrote:
           | I'm not the original commenter, but I have some:
           | 
           | "To me programming is more than an important practical art.
           | It is also a gigantic undertaking in the foundations of
           | knowledge." - Grace Hopper
           | 
           | "Beyond basic mathematical aptitude, the difference between
           | good programmers and great programmers is verbal ability." -
           | Marissa Mayer
           | 
           | "I've always objected to doing anything over again if I had
           | already done it once." - Grace Hopper
           | 
           | "The best icons are more like traffic signs than graphic
           | illustrations." - Susan Kare
           | 
           | "You haven't mastered a tool until you understand when it
           | should not be used." - Kelsey Hightower
           | 
           | "Some problems solve themselves if you are patient enough." -
           | Jaana Dogan
           | 
           | "If too many users are wrong, it's probably your fault [..]
           | If a bunch of people trip over the same thing, maybe it's not
           | them. Maybe it's your product, or maybe it's just you." -
           | Rachel Kroll
           | 
           | "Falling in love with code means falling in love with problem
           | solving and being a part of a forever ongoing conversation."
           | - Kathryn Barrett
           | 
           | "The best programs are the ones written when the programmer
           | is supposed to be working on something else." - Melinda
           | Varian
           | 
           | "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
           | 
           | "Sometimes it's better to leave something alone, to pause,
           | and that's very true of programming." - Joyce Wheeler
           | 
           | "The purpose of software engineering is to control
           | complexity, not to create it." - Dr. Pamela Zave
        
             | me_me_me wrote:
             | >"The purpose of software engineering is to control
             | complexity, not to create it." - Dr. Pamela Zave
             | 
             | That's a really good advice
        
               | Jtsummers wrote:
               | http://www.pamelazave.com/
               | 
               | Her homepage and a lot of writings. Very good resource if
               | you've not been there before.
        
             | cilefen wrote:
             | "Hey, we're engineering too" - Margaret Hamilton, coining
             | the term "Software Engineering"
        
               | vram22 wrote:
               | That's a great one. If only it were followed in reality
               | instead of in the breach.
        
           | cilefen wrote:
           | "They told me computers could only do arithmetic" is
           | attributed to Grace Hopper.
        
       | temporallobe wrote:
       | Clicked the link expecting to see something by Larry Wall, was
       | not disappointed.
       | 
       | One of the things I loved about learning Perl was his many quips
       | of humor and wisdom sprinkled throughout the "camel" books,
       | particularly The Perl Cookbook, which is still on my bookshelf to
       | this day.
        
         | vram22 wrote:
         | Same opinion here.
         | 
         | His humor was unbeatable in quality, quantity (sometimes
         | multiple jokes per page) and sometimes even subtlety, not to
         | mention unexpectedness (which is a key criterion of a joke
         | being funny).
         | 
         | Sample: From a Perl FAQ, IIRC (there are many):
         | 
         | Q: Is Perl (ANSI) certified? Larry: A: I'll be certified before
         | Perl is!
        
       | nchelluri wrote:
       | Love this. That PHP one is a little unnecessarily harsh though.
        
       | anotherevan wrote:
       | https://q4td.blogspot.com/search/label/programming
        
       | [deleted]
        
       | bennyp101 wrote:
       | I've always liked:
       | 
       | "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
        
         | vram22 wrote:
         | That's why PHB managers want bums in seats.
         | 
         | And the more the merrier, for their perceived status, too. As a
         | consultant, I've literally come across project managers, at
         | least in India, who measure their "prestige" by the number of
         | devs "under" them.
        
         | sbayeta wrote:
         | Oh this what I've been trying to explain my wife for years! And
         | every time she rolls her eyes probably thinking that I'm
         | slacking...
         | 
         | I'll show it to her and see if it helps
        
       | unnouinceput wrote:
       | " Most of you are familiar with the virtues of a programmer.
       | There are three, of course: laziness, impatience, and hubris.
       | Larry Wall"
       | 
       | I'm offended by how accurate this quote describes me.
        
         | kragen wrote:
         | You may be interested in the context, which is excerpted in
         | Wiki: http://wiki.c2.com/?LazinessImpatienceHubris=
         | 
         |  _Laziness_
         | 
         | The quality that makes you go to great effort to reduce overall
         | energy expenditure. It makes you write labor-saving programs
         | that other people will find useful, and document what you wrote
         | so you don't have to answer so many questions about it. Hence,
         | the first great virtue of a programmer. Also hence, this book.
         | See also impatience and hubris. (p.609)
         | 
         |  _Impatience_
         | 
         | The anger you feel when the computer is being lazy. This makes
         | you write programs that don't just react to your needs, but
         | actually anticipate them. Or at least pretend to. Hence, the
         | second great virtue of a programmer. See also laziness and
         | hubris. (p.608)
         | 
         |  _Hubris_
         | 
         | Excessive pride, the sort of thing Zeus zaps you for. Also the
         | quality that makes you write (and maintain) programs that other
         | people won't want to say bad things about. Hence, the third
         | great virtue of a programmer. See also laziness and impatience.
         | (p.607)
         | 
         | ***
         | 
         | So, if that describes you, you should be very proud indeed.
        
           | jfengel wrote:
           | That's not a definition of hubris that Aristotle would
           | recognize. It's closer to Time and Arete.
        
             | kragen wrote:
             | That's not even 0.1% of the things Larry Wall disagrees
             | with Aristotle about.
        
       | ModernMech wrote:
       | I thought the Kernighan quote went more along the lines of
       | "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."
       | 
       | Anyone have a source on this one way or the other?
        
         | waynesonfire wrote:
         | writing code as cleverly as possible doesn't imply it's at the
         | developers limit of understanding--just that the code cannot be
         | expressed more cleverly.
         | 
         | Asking the question, how will you ever debug it, causes the
         | developer pause and hopefully realize there will be a learning
         | curve when maintenance dues come.
         | 
         | I guess I disagree with the conclusion of your flavor of the
         | quote.
        
         | yakubin wrote:
         | It seems yours is the more widely-known phrasing of it, which
         | however was not the original. According to [1], it comes from
         | "The Elements of Programming Style", where it was worded the
         | way it's quoted in the article.
         | 
         | [1]: <https://github.com/dwmkerr/hacker-laws#kernighans-law>
        
           | keithalewis wrote:
           | Ronalds Vilcins did his homework. He also gives Stroustrup's
           | original quote.
        
           | kragen wrote:
           | Hmm, I haven't read that book this millennium, but I had
           | thought I first encountered the quote in _The Practice of
           | Programming_. Which, I mean, I also haven 't read this
           | millennium, but when I did read it it was after _The Elements
           | of Programming Style_. I guess I should check...
           | 
           | It turns out that it _is_ in _The Elements of Programming
           | Style_ , on the second page of Chapter 2, "Expression", in
           | the second edition:
           | 
           |  _Suppose that you were trying to teach a novice programmer
           | how to count the blanks in a string. How would you do it?
           | Surely not by this elegant but mystifying method [omitted] --
           | instead you would say "Look at each character, and if it 's a
           | blank, count it." Or, in PL/I,_                   DECLARE
           | TEXT CHARACTER(200) VARYING;         GET LIST (TEXT);
           | N = 0;         DO I = 1 TO LENGTH(TEXT);            IF
           | SUBSTR(TEXT, I, 1) = ' ' THEN               N = N + 1;
           | END;         PUT LIST (N);
           | 
           | _This too uses the built-in functions PL /I provides, but it
           | uses them in a way that clarifies the method of solution,
           | rather than obscuring it. Everyone knows that debugging is
           | twice as hard as writing a program in the first place. So if
           | you're as clever as you can be when you write it, how will
           | you ever debug it?_
           | 
           | I think this is, if anything, truer now than it was in 01978
           | when the book was published, even if not many of us have to
           | deal with PL/I nowadays--thanks, in significant part, to
           | Kernighan's efforts. And it's probably thanks in part to
           | reading this book that today I would more likely write that
           | as                   sum(1 if c == ' ' else 0 for c in text)
           | 
           | or                   sum(1 for c in text if c == ' ')
           | 
           | or                   (loop for c across text if (eq c
           | #\space) sum 1)
           | 
           | rather than                   sum(c == ' ' for c in text)
           | 
           | which also works.
           | 
           | Being too clever is what almost always trips me up in Forth.
           | It's not so much the stack-effect bugs or the type errors
           | themselves, although of course those require more care to
           | avoid than in C; it's the constant temptation to bum the code
           | down to something smaller and simpler by, for example,
           | keeping more crap on the stack.
           | 
           | I think I did manage to use Forth effectively and avoid being
           | so clever in, for example,
           | https://dercuano.github.io/notes/forth-
           | assembling.html#addto....
        
       | ddevault wrote:
       | See also quotes.cat-v.org: http://quotes.cat-v.org/programming/
        
       | vram22 wrote:
       | Related:
       | 
       | twitter.com/iamdevloper (sometimes hilarious)
       | 
       | twitter.com/devops_borat (dead, but lots of good ones)
        
       | devmacrile wrote:
       | And the obligatory Alan Perlis epigrams (usually one makes it on
       | a list like this!): http://www.cs.yale.edu/homes/perlis-
       | alan/quotes.html.
        
       | commandlinefan wrote:
       | "Should array indexes begin at 0 or 1? My compromise of 0.5 was
       | rejected without, I thought, proper consideration"
       | 
       | -- Stan Kelly-Bootle
        
         | iudqnolq wrote:
         | He's a fascinating guy too. I learned on hn recently he lived a
         | parallel life as a mildly popular musician and football
         | (soccer) manager.
        
       | ExcavateGrandMa wrote:
       | I shouldn't but ...
       | 
       | https://github.com/HackIT/journal/issues/383#issuecomment-80...
       | 
       | I did
        
       | [deleted]
        
       ___________________________________________________________________
       (page generated 2021-03-25 23:04 UTC)