Software should be designed to last
I don&#x27;t think anyone who is serious about software craftsmanship would dispute the basic idea here (&quot;you should be tasteful and minimalist when choosing dependencies&quot;).<p>The problem is that the economics of software development don&#x27;t really ever require craftsmanship. There are two basic modes of development. 1 - You are a startup, struggling to survive; you have to ship features as fast as possible, with many fewer engineers than you really need to do things right. 2 - You are a huge billion dollar corporation, probably a monopoly, with an enormous moat protecting you from serious competition.<p>Neither situation prizes craftsmanship. The startup just needs to glue together a hack to raise the next founding round or solve the immediate user problem. The gigacorp has more money than it knows what to do with, so they &quot;solve&quot; every software problem by hiring more engineers. There&#x27;s actually not many companies who exist in the middle ground, where it might be important to produce high quality software. I believe this is also the reason we don&#x27;t see more uptake of high concept languages like Haskell and Lisp.