I read about "Software ICs" in Byte Magazine in the 80's. I later thought COM was a decent try. The implementation and tooling around it was always problematic. People do buy software components off the shelf now, like special graphing controls in Excel for example, so it continues to be a useful paradigm. The Software IC concept got coopted by OOP, which isn't the way I first understood it.<p>Graham Lee blog post about Brad Cox's Object-Oriented Programming:<p><i>In 1714, Gottfried Leibniz published La Monadologie, in which he proposed that at the fundamental level, objects are made of indivisible entities called Monads. You can’t see inside a monad, it has an internal state that controls its actions and passions. Monads can be created or destroyed atomically, but cannot be partially built or partially annihilated because they are a “simple substance without parts”.</i><p><i>Cox, on the other hand, opens with the story of Eli Whitney and the industrial revolution. For Cox, the industrial revolution is not primarily about machinery and the harnessing of steam and coal power. It’s about the replacement of artisanal, cottage manufacture with scaled-up industrial processes that depend on well-specified interfaces between standardized, interchangeable parts.</i><p><a href="https://web.archive.org/web/20191220204822/https://deprogrammaticaipsum.com/2019/12/02/brad-cox/" rel="nofollow">https://web.archive.org/web/20191220204822/https://deprogram...</a><p><a href="https://news.ycombinator.com/item?id=21833331" rel="nofollow">https://news.ycombinator.com/item?id=21833331</a>