3 ms·
For anyone who is not aware, 'accidental and essential complexity' were coined in Fred Brooks' 1986 paper No Silver Bullet.
by jameshart 4y ago
For anyone who is not aware, 'accidental and essential complexity' were coined in Fred Brooks' 1986 paper No Silver Bullet.
- hcrisp 4y agoChapter 1 of The Mythical Man Month by the same author is called "The Tar Pit" and has this memorable opening paragraph: > No scene from prehistory is quite so vivid as that of the mortal struggles of great beasts in the tar pits. In the mind's eye one sees dinosaurs, mammoths, and sabertoothed tigers struggling against the grip of the tar. The fiercer the struggle, the more entangling the tar, and no beast is so strong or so skillful but that he ultimately sinks. > Large-system programming has over the past decade been such a tar pit, and many great and powerful beasts have thrashed violently in it...
- dcre 4y agoI was very curious about this claim and it seems that's not quite right. Of course the phrase "essential complexity" was applied to non-software topics before Brooks (Wikipedia correctly notes that the distinction between essence and accident goes back to Aristotle), but it seems Brooks was not the first to apply it to software either. I would not deny that he popularized it. Book search results for "accidental complexity" between 1920 and 1985: https://www.google.com/search?q=%22accidental+complexity%22&lr=lang_en&source=lnt&tbs=lr%3Alang_1en%2Ccdr%3A1%2Ccd_min%3A1%2F1%2F1920%2Ccd_max%3A12%2F31%2F1985&tbm=bks https://www.google.com/search?q=%22accidental+complexity%22&... Book search results for "essential complexity" between 1920 and 1985 (a lot more results): https://www.google.com/search?q=%22essential+complexity%22&lr=lang_en&tbs=lr%3Alang_1en%2Ccdr%3A1%2Ccd_min%3A1%2F1%2F1920%2Ccd_max%3A12%2F31%2F1985&tbm=bks&ei=bZj_Y8WiL_6gptQPu9yv0Ao&ved=0ahUKEwiFjYSdrbv9AhV-kIkEHTvuC6oQ4dUDCAg&uact=5&oq=%22essential+complexity%22&gs_lcp=Cg1nd3Mtd2l6LWJvb2tzEANQvgZYnxVg7xVoBHAAeACAAXyIAeEKkgEDNi44mAEAoAEBwAEB&sclient=gws-wiz-books https://www.google.com/search?q=%22essential+complexity%22&l... Here's a publication from 1981 defining "essential complexity" specifically with reference to computer programs. https://www.google.com/books/edition/Validation_Verification_and_Testing_of_C/arNTsaD5FxEC?hl=en&gbpv=1&dq=%22essential+complexity%22&pg=PA29&printsec=frontcover https://www.google.com/books/edition/Validation_Verification... Note that there's another result that claims to be from 1968 but the text of the book says it's from 1996. Interestingly "essential complexity" was used earlier and more often than "accidental complexity", probably because the former sufficiently implies the existence of the latter. https://books.google.com/ngrams/graph?content=essential+complexity%2C+accidental+complexity&year_start=1800&year_end=2019&corpus=en-2019&smoothing=3 https://books.google.com/ngrams/graph?content=essential+comp...