The Need for Stable Foundations in Software Development
&gt; There is probably some truth to the idea that many newcomers will go for the latest features. However, on the flip side, I’ve been wondering if there can’t be a competitive edge in designing a language that is minimalistic, stable and slow to evolve by design.<p>That&#x27;s exactly how I see Go, and why I personally use it, even though it has clear limitations and can be frustrating at time. And the language get quite a lot of hate because of these choices and their consequences. Minimalistic often means that you have to implement your own solution for some common problems, and&#x2F;or write a good amount of boilerplate. Stable means that you don&#x27;t change things that much over time, even if trends are shifting and new patterns&#x2F;paradigms are developed, so you&#x27;re potentially losing people and&#x2F;or powerful technics (you also avoid the ones that haven&#x27;t been proven yet and will potentially be seen as harmful in the future).<p>On the other hand you have the real benefits of having something small that you can easily keep in your mind, a tool that won&#x27;t impact your maintenance budget, you can learn it once and then can be good for years without feeling the need to catch up all the time with newest changes and ideas. That&#x27;s quite relaxing IMHO.