1. 39

TLDR: The author independently re-discovered what you may know as Old Code Syndrome.

– csense via Hacker News

  1.  

  2. 6

    There is a difference to old code syndrome in my opinion. Math notation and Code are inherently different (at least in the average cases). a PhD thesis or a math paper is prose, outlining a proof or ansatz, that is augmented by formulas for more rigor. Code is an algorithm, it is so-to-speak a condensed result of a reasoning, the path to that reasoning is not in the code (apart from maybe a comment or in some docs). Mathematical notation is concise. one reason for this is that it has been shaped by the medium “paper”, which does not offer diffs and has limited space (to me, the concise notation makes comparing formulas easier).

    It seems that the author of that blog post was not only impaired by concise formulas, but also by suboptimal explanations. I am not sure whether the author would have benefitted from “singing variable names” and multi-word function names.

    1. 3

      It’s at least analogous to old code syndrome.You can actually write proofs in programming languages, and probably avoid a good bit of pain and heartache.

      1. 1

        a PhD thesis or a math paper is prose, outlining a proof or ansatz, that is augmented by formulas for more rigor

        Reminds me of literate programming.

      2. 4

        As a mathematician turned educator, I think that a better analogy for the author would be a 100-meter sprinter turned coach.

        Even if the sprinter was able to run 100 meters in less than 10 seconds, his performance is contingent on years of training. Once he stops training, no one would expect him to continue to run as fast as he did at the peak of his career. Now that he is a coach, he goes around saying that running is not about being fast, but rather that running is an excellent proxy for problem-solving, that running embeds character in runners, and running is fun.

        The problem with mathematics today is that we focus way more on the product (going back to the runner analogy, how fast you run) rather than teaching students that there is way more to math than just that (just like there is more than speed in running).

        1. 4

          I like your analogy.

          running is an excellent proxy for problem-solving

          Should I start running around at work? :-)

          1. 2

            Yeah, stepping away from the computer to ponder a problem AFK is a worthy development technique.

        2. 3

          More interesting than him getting “Old Code Syndrome”, to me, is his defense of his work despite it becoming impenetrable after separation. He makes the points:

          • Mathematics is an excellent proxy for problem-solving
          • Mathematics embeds character in students
          • Mathematics is fun

          I don’t disagree with him (nor perceive that his work needs to be defended). All of that said, I tend to make the same arguments with regard to programming, often to no avail.

          The private sector sees us as expensive (temporarily expensive, they hope, and we hope not) and arrogant peons, when the fact is that what we have to offer isn’t code but the solving of problems. We’re just terrible at marketing ourselves and what we can do, so we get typecast as these weird specialists rather than as all-around great problem solvers. [1] Excluding the ~5 percent (less?) of us who have genetic social deficits, every one of us is 6 months of social grooming from being away to do the executives' jobs as well as they can, if not better. The reverse is not true. Some of them could learn to do our jobs, but many could not, and those who could, would take more than 6 months.

          [1] Of course, with the mediocrity injected into our field by open-plan offices and Scrum and age discrimination, there are probably a large number of full-time programmers who aren’t great problem solvers. I doubt that they’re great programmers, either. They shouldn’t really be in the field, because they provide a false sense of completion (with shoddy work that starts falling apart before it’s even finished) to the business operators who hire them.

          It’s odd to me that, after we spend 5-20++ years getting good at this stuff, we don’t seem to be able to market ourselves as anything other than overpaid typists. Executives think that we just implement their ideas; in fact, what we actually do is make their ideas implementable. We protect executives from machines (sometimes, literal computing machines; other times, more abstract “machines” and processes) that punish imprecision-of-thought brutally. Since thinking precisely is a learned skill (none of us were born with it; we got it through pain) that most executives don’t have, they’d hate it if they went away.

          Programming, like mathematics, forces you think precisely. That hardens your mind in a way that only a small percentage of the population will ever experience.

          1. 2

            The private sector sees us as expensive and arrogant peons

            Doesn’t this following line of yours go on to exemplify arrogance?

            Excluding the ~5 percent (less?) of us who have genetic social deficits, every one of us is 6 months of social grooming from being away to do the executives' jobs as well as they can, if not better. The reverse is not true.

            There’s something to be said for us programmers preferring to solve technical problems than social ones. I expect the social / political bits are what define management roles rather than their technical decisions.