[HN Gopher] Maybe the Spaghetti Code Conjecture Is False
       ___________________________________________________________________
        
       Maybe the Spaghetti Code Conjecture Is False
        
       Author : nickdrozd
       Score  : 57 points
       Date   : 2021-09-25 18:21 UTC (4 hours ago)
        
 (HTM) web link (nickdrozd.github.io)
 (TXT) w3m dump (nickdrozd.github.io)
        
       | justicezyx wrote:
       | I am about to write a rant about this author must be out of his
       | mind or simply a junior engineer lost in narcissism...
       | 
       | How wrong I have been!
       | 
       | https://en.m.wikipedia.org/wiki/Busy_beaver#:~:text=In%20the....
       | Busy beaver game is to design a Turing machine that produces the
       | most output for a halting program. And this conjecture is about a
       | general property of the programs that can produce the most
       | output.
        
       | cryptica wrote:
       | It's incredible what kinds of mental gymnastics some people will
       | perform in order to justify incompetence.
       | 
       | > "programs ought to be, in some sense, as complicated as
       | possible"
       | 
       | "ought to be" - Why? To achieve what?
       | 
       | That's the main problem with academia; when it comes to practical
       | matters, they often fail to articulate "why?"
       | 
       | I guess it starts with the fact that a lot of people who got PhDs
       | never asked themselves why they needed a PhD to begin with...
       | They can answer the universe's most difficult questions but they
       | can't answer simple practical questions which start with the word
       | "why."
        
         | cma wrote:
         | The quote is: "The Spaghetti Code Conjecture says that Busy
         | Beaver programs ought to be, in some sense, as complicated as
         | possible."
         | 
         | It takes real gymnastics to misquote that into:
         | 
         | "programs ought to be, in some sense, as complicated as
         | possible"
        
           | robbedpeter wrote:
           | What a bizarre misquote... busy beaver programs are a
           | specific type of algorithm, in the sense that you want to
           | extract the most possible output, barring infinitely
           | generating functions. It makes a lot of sense that the
           | programs be as complicated as you possibly can make them,
           | from the conceptual level to the explicit coding, because the
           | problem space is densely complex and most of the simple stuff
           | has been iterated over.
           | 
           | It's a statement about number theory, not general software
           | design best practice.
        
       | vanderZwan wrote:
       | I kind of wonder if there is some kind of overlap between this
       | problem or some variation of it, and the (as I understand) still
       | open question of how life manages to evolve as quickly as it
       | does.
        
       | andrewflnr wrote:
       | This reminds me of the distinction between entropy and
       | complexity. A hot cup of water has high entropy, a cold ant has
       | high complexity. Another example I've seen describes the
       | transition between the low-entropy state of two different-
       | temperature bodies of fluid in contact with each other, and the
       | high entropy state when they've equalized: complexity arises in
       | the mixing process, with convection and mixing.
       | 
       | Maybe spaghetti code is closer to being like entropy, and we
       | should expect busy beavers to be more analogous to complexity.
       | Busy beavers are kind of on the transition between terminating
       | (low-entropy?) and non-terminating programs (high entropy?), and
       | complexity arises between low and high entropy temporally... Not
       | a perfect analogy I know, even if I knew how to describe it
       | precisely.
        
         | goldenkey wrote:
         | Entropy itself is somewhat dubious as Carlo Rovelli gets into
         | with the idea of relative entropy and course-graining. Entropy
         | only exists with regard to a representation / set of observable
         | operators. When you change your basis, you get a new entropy.
         | So the cold ant, looks like it has low entropy because you've
         | used the temperature observable. Under the
         | structural/integrated-information observables, it would have a
         | much higher entropy.
         | 
         | Read more here: Is Time's Arrow Perspectival? - Carlo Rovelli
         | 
         | https://arxiv.org/pdf/1505.01125.pdf
        
       | mybrid wrote:
       | Spaghetti Code: using a 1000 lines of code where 100 will do.
        
         | HPsquared wrote:
         | I don't know about that, code golf often produces spaghetti.
        
         | klodolph wrote:
         | That's not what people mean when they say "spaghetti code".
         | When people are complaining about spaghetti code, they're
         | complaining that the code is difficult to follow. Perhaps the
         | control flow goes all over the place, for example.
         | 
         | That's how the spaghetti code conjecture got its name. It's a
         | conjecture about the control flow structure of busy beaver
         | machines. In this conjecture, you're comparing different
         | programs with the same _size_ (if we think of size as number of
         | states), but where the control structure is connected in
         | different ways.
        
           | throw_m239339 wrote:
           | Maybe but at some point, at least in my country, anything
           | that wasn't a rigid bunch of classes, interfaces and what not
           | following all that Java EE / Designer pattern/ Solid / OOP
           | stuff was deemed "spaghetti code" and it made you "a bad
           | developer", regardless of the language used. Granted this was
           | in the mid 2000 before people "rediscovering" the merits of
           | functional programming. Today, procedural C style coding or
           | functional programming is more accepted in dev shops. I don't
           | think I've heard about UML in the last 5 years anywhere I
           | worked for instance. Young programmers are lucky they avoided
           | that era...
        
       | rvense wrote:
       | Many people fret about spaghetti code. Personally, I also fear
       | lasagna code - too many layers, often with poor separation.
        
         | nine_zeros wrote:
         | Describes my workplace. Too pedantic on layers and
         | abstractions. Endless code reviews over nonsense. Before anyone
         | says this - we have linters. The problem is nits about how the
         | code reviewer would do things.
         | 
         | The pedants also can't figure why nothing gets done.
        
       | dhosek wrote:
       | It's amazing how many people jumped in to comment without even a
       | minimal glance at the article.
       | 
       | Please folks, before jumping in to comment, at least make sure
       | the article is about what you think it's about.
        
       ___________________________________________________________________
       (page generated 2021-09-25 23:00 UTC)