Learning from Ada
&quot;The C compiler made me feel adequate. Unlike Ada, I regularly got my programs to compile. And so, I made my choice and went with C.&quot;<p>I think this dynamic plays out in a lot of technology evaluation decisions.  It&#x27;s probably why techs like Javascript, MongoDB, Ruby on Rails, Java, PHP, MySQL, Wordpress, etc. have gotten widespread adoption despite numerous technical flaws.  They have a very low barrier to getting <i>something</i> useful up on screen, and feed peoples&#x27; need for instant gratification.  When you feel good about yourself while using the language, you feel good about the language.<p>The interesting thing about the software industry is that network effects are often so strong that it&#x27;s rational for a disciplined, expert developer to use one of these technologies rather than something more niche that plays to their expertise.  You may hate Java, but if you need to use Hadoop&#x2F;Storm&#x2F;SparkML&#x2F;OpenNLP and the myriad of well-tested libraries, it may be a lot better choice than building your own distributed big-data stack.<p>I guess this is the idea behind &quot;Worse is Better&quot; [1].  It makes me wonder if &quot;better&quot; will ever be &quot;better&quot; (perhaps after the pace of adoption in the software industry slows down, and we start spending time getting known product architectures right rather than finding the next big unknown product architecture), or whether by that time the entrenched base written on top of ad-hoc technologies will be too big to change.<p>[1] <a href="https:&#x2F;&#x2F;www.dreamsongs.com&#x2F;WorseIsBetter.html" rel="nofollow">https:&#x2F;&#x2F;www.dreamsongs.com&#x2F;WorseIsBetter.html</a>