4 ms·
> We end our discussion of inheritance with a cautionary tale. In the 1980s, a very large multinational company initiated an ambitious proje
by sevensor 8y ago
> We end our discussion of inheritance with a cautionary tale. In the 1980s, a very
large multinational company initiated an ambitious project based on object-oriented programming. Despite a budget of several billion dollars, the project failed miserably. One of the principal reasons for this failure was a wrong use of inheritance.
Who did that, exactly?
- ummonk 8y agoI would have guessed Plan 9 just from the timing, but I'm not sure the failure there was due to the wrong use of inheritance.
- angersock 8y agoThat most certainly wasn't the case. The source for Plan9 is pretty plainly not hierarchical OOP. Plus, the failure of Plan 9 was more an early 90s thing.
- mcguire 8y agoAnd I suspect the budget never got near billions of dollars. Plan 9 was a research project.
- 1024core 8y agoMy guess would be Ada. "Billions of dollars" => Government/DoD is involved.
- jonathanstrange 8y agoHighly unlikely. Ada has objected-oriented programming only since 1995 (in the form of tagged types). It's also extremely well-suited for very large teams and much harder to mess up projects in Ada than in many other languages.
- sevensor 8y agoIf ever a forum that could draw a comment from somebody involved, it's this one. I was hoping this was a well known catastrophe somebody could fill me in on, but it sounds like the failure wasn't widely reported. I did enjoy this article on Wikipedia: https://en.wikipedia.org/wiki/List_of_failed_and_overbudget_custom_software_projects https://en.wikipedia.org/wiki/List_of_failed_and_overbudget_... Unless a survivor of the project can chime in, I'm going indulge in a little idle speculation and agree that defense sounds like a good candidate for losing a billion dollars. Maybe not DoD itself, but a big contractor?
- insulanus 8y agoAlmost certainly not Plan 9, because that was written in C. Also, there's no way they gave them a billion dollars for development of a research OS. :)
- mcguire 8y ago"Two main errors were committed: "• Violating the substitution principle. A procedure that worked with objects of a class no longer worked with objects of a subclass. As a result, many almost-identical procedures needed to be written. "• Using subclasses to mask bugs. Instead of correcting bugs, subclasses were created to mask bugs, i.e., to test for and handle those cases where the bugs occurred. As a result, the class hierarchy was very deep, complicated, slow, and filled with bugs." That's a good question. I can think of several candidates, but none that match the specific problems.
- nemoniac 8y agoIf ever there were a case of, citation needed.
- AnimalMuppet 8y agoApple (later joined by IBM), with Pink/Taligent? Microsoft (Cairo) seems to fit the bill almost exactly, but it was only initiated in 1991.
- tabtab 8y agoOne of the oddities of early OOP was that it was often touted as being "more natural" than the "old way". But when designers used OOP and inheritance "wrong", experts said, "well, you did it wrong; you need more training." If it takes special training to do it "right", it's not "natural" by definition. There is a right time and place to use OO (and inheritance) and wrong places and times to use it, and it takes training AND experience to know the difference. Further, a lot of it depends on the language; some languages have poor OO models, forcing one to use lambda's etc. instead. In my opinion, a better OO language reduces the need to use lambdas. I know this is a controversial statement, but I stand by it.
- numeromancer 8y agoIBM: OS/2?
- nisse72 8y agoBased on the footnote I'm fairly certain it was Ellemtel, a joint venture between Ericsson and Televerket (the Swedish national telecom before it was privatised), and the project was AXE-N: The AXE-N venture was to be the most expensive industrial project in Sweden after Saab’s JAS fighter. One calculation estimates that it cost Ericsson SEK 10 billion. The project has often been described as a total failure. https://www.ericsson.com/en/about-us/history/changing-the-world/big-bang/axe-n https://www.ericsson.com/en/about-us/history/changing-the-wo... Swedish wikipedia has more information: https://sv.wikipedia.org/wiki/AXE-N https://sv.wikipedia.org/wiki/AXE-N Some people here might know Ellemtel from their C++ style guide, which was a byproduct of the AXE-N project. In Emacs "ellemtel" is one of the built in choices for CC Mode style.
- sevensor 8y agoThis is the most plausible candidate I've seen suggested.