1. 11

Although it may seem trite to say it, Object/Relational Mapping is the Vietnam of Computer Science. It represents a quagmire which starts well, gets more complicated as time passes, and before long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and no clear exit strategy.


  2. 6

    When I posted this I thought it would encourage discussion about ORM, and not the choice of Vietnam war analogy!

    1. 4

      I think the issue is there’s no question that ORM is almost never the right tool for the job, but it’s still up for debate whether analogies to the 2nd Indochina War are.

      1. 1

        Who knew you could score so many virtue points by reminding everyone that Vietnam is a country?

      2. 7

        Vietnam in Vietnam is American, which I think speaks to the centrism we all have as humans living in countries. That said I don’t know why he makes such a laborious analogy when Vietnam was a quagmire which took 1.3 million lives and ORM is just some BS abstraction which kinda sorta works sometimes and falls over when things get complicated so be careful or else.

        1. 4

          Yeah, I don’t know how he got to “ORMs are the Vietnam War”. I’m an ORM-hater and I think it’s obvious that the Vietnam War was a mistake and a humanitarian catastrophe, but putting All Bad Things (regardless of magnitude, origin, or kind) into one bucket leads you straight to Godwin territory.

          “A land war in Asia” would have covered it, or if there’s really a need for more specificity, Napoleon’s failed Russian campaign, or well… any other historical example of arrogance and quixotry.

          I don’t think that militant quixotry explains ORMs entirely, though. I think that ORMs exist because we have a culture of declaring things “done” when they just barely work. That includes programmer training and knowledge, so most so-called “professional” programmers haven’t read a technical book or paper since college and don’t understand (or, more accurately, their bosses would never allow them to take the time to understand) the relational model. Hence, we get relational databases used as pre-relational bespoke systems, which is in many ways a step backward, but it doesn’t seem to matter in the business world. The relational model won because it’s application-agnostic, but that’s a long term concern, and we all know that as far as business executives think, there is no such thing as long-term. (Long term means one failed to get promoted away from one’s messy work fast enough.)

          I suppose one parallel between ill-conceived software projects (such as ORMs) and wars is that most wars are begun with a belief that the conflict will be over before the first snows of autumn. Few people start wars expecting a 5+ year, million-killing slog. Likewise, most people in business who design software believe that they’ll meet all the Requirements, call the project a victory, and move on to something better. Fifteen years later, all that technical debt is still there.

        2. 8

          Took me a while to realize the author meant the Vietnam war. I was like wow that’s rude.

          1. 5

            It’s pretty depressing that he chooses to define an entire country based upon the time that his country attacked it. Cringy American egocentrism.

            1. 10

              I mean, if you read the article, he does a pretty good job summarizing the relationship of the Vietnamese to their various putative colonial overlords, and then lays out a theory about why the US involvement in the Vietnamese wars of independence went so horribly wrong for the the US, and then analogizes that theory to one intended to explain why ORMs fall apart in unexpected and treacherous ways.

              1. 9

                Cringy American egocentrism.

                I mean, if you ignore the nice summary of geopolitics given about the region in the first few paragraphs.

                Also, when it comes to American egocentrism, we do kinda run the software show. It’s pretty understandable that an American author working in an American-dominated sector would use American cultural touchstones.

                (america america america)

                1. 4

                  And America still exploits Asians, including Vietnamese, for capitalism. These days it’s intellectual property instead of physical with the weapons being H1B visas instead of bullets. It’s at least less violent and more beneficial to the exploited. I’ll give them that.

                2. 1

                  In the same way that “The Watergate of” defines an entire hotel based upon a time Nixon burgled it.

                  1. 3

                    I mean, the Watergate hotel doesn’t have 89 million citizens whose lives are being summed up by the analogy. And could presumably rebrand if it wanted to.

              2. 4

                I wish I thought of this title when writing my histories (and alternate histories) on either System/360 or UNIX/C. Specifically, the decision of many businesses to go for raw speed and low-level software (System/360) over safety, high-level software, and maintainability (Burroughs B5000) has had tragic, long-term consequences. Something similar happened in how C vs Modula2/Oberon were handled on similarly bad hardware. Good title for either of these that someone beat me to.

                Wait, I got one. I might do 11/22/63 where guy goes back in time to explain the software crises before people buy IBM’s systems. Stays in the past to wait for the 70’s to come along to explain the concept of hacking to two people that can prevent a lot of it. Returns with just enough knowledge to become only CompSci professor at his school hired without any credentials.

                1. 3

                  Poor Burroughs. Harris bank and some other folks, if memory served, saw the light.

                  Then again, nobody ever got fired for buying IBM.

                  1. 2

                    Unisys, formerly Burroughs, brings in billions a year. Quite a few saw the light. Just wasn’t bright enough for the rest. ;)

                  2. 2

                    Can you link to one of these histories? I’m pretty curious about the B5000 and that era in computing - The Dream Machine and Alan Kay’s allusions to it don’t do much to put it in its historical context.

                    1. 3

                      I don’t know that I have a link to full history. I do have great one for the architecture. It’s important to remember that, in this period, computers were giant, single-CPU, number crunchers. They were coded in assembly, Fortran, or stuff like that. It was years before Margaret Hamilton, Dijkstra, and others invented formal, software engineering. Virtually nobody was thinking about readable, safe, easily extended, and easy to maintain programs. Except one team at one company that was simply too far ahead of their time given hardware constraints and mentality of it.

                      Architecture of Burroughs B5000: http://www.smecc.org/The%20Architecture%20%20of%20the%20Burroughs%20B-5000.htm

                      Wikipedia page, esp unique features and influence sections, has a lot of good info: https://en.wikipedia.org/wiki/Burroughs_B5000

                      Vision document from brilliant, Bob Barton conceiving high-level machines, safe languages, software engineering, and all sorts of stuff in one PDF: http://worrydream.com/refs/Barton%20-%20A%20New%20Approach%20to%20the%20Functional%20Design%20of%20a%20New%20Computer.pdf

                      If you’re into INFOSEC, esp the kind that works, then you might also like the interview below with one of field’s inventors, Roger Schell. It’s a long interview but totally worth it. Military, politicians, companies… all kinds of people fought against the idea of protecting computers with he and his people doing everything up to embezzlement to fund the secure prototypes. Interestingly, I learned in it that one Burroughs guy invented INFOSEC (Anderson) and another Burroughs guy added to Intel’s 286/386 what little security it had. Principles started with Barton that I can tell. So, beginning of business mainframes, high-level OS’s, HW/SW combos for safety, and INFOSEC field (esp high-assurance security) trace back to Burrough’s B5000 work and people.