I agree with a lot of this article and unfortunately I just have to accept that there will never be the perfect language, platform, or libraries. Making new languages all the time just seems naive, after all if they are Turing complete they will always have the same capabilities, but have the downside of not supporting prior libraries natively. And the new languages either "solve" usage issues of earlier languages by automating tasks and preventing the programmer from making those specific mistakes, or they add more features, which developers get frustrated with because more features gives more ways to shoot themselves in the foot.
It seems like at this point languages have been expanded upon to the point that there is no need to make new ones because you already have all the functionality in the existing ones. There is usually a simpler default language (like C, Js), and a backwards compatible expansion to them (C++, Typescript). According to developers, the simple languages are too verbose and hard to manage in large projects (ie C), but the expanded languages give too many features that allows them to shoot themselves in the foot (ie C++). It's always a grass is greener on the other side situation, there will never be a perfect language that matches everyone's way of thinking and reading and use cases. So then they make a "safe" language that takes years to develop (you know which one I'm talking about) that isn't actually safe (you can never really protect a bad programmer from themselves, in the same way that you can never make a UI simple enough for Grandma to understand), so why not just focus on improving IDE's or programming styles instead of making non-backwards compatible languages with poor support?
I agree with a lot of this article and unfortunately I just have to accept that there will never be the perfect language, platform, or libraries. Making new languages all the time just seems naive, after all if they are Turing complete they will always have the same capabilities, but have the downside of not supporting prior libraries natively. And the new languages either "solve" usage issues of earlier languages by automating tasks and preventing the programmer from making those specific mistakes, or they add more features, which developers get frustrated with because more features gives more ways to shoot themselves in the foot.
It seems like at this point languages have been expanded upon to the point that there is no need to make new ones because you already have all the functionality in the existing ones. There is usually a simpler default language (like C, Js), and a backwards compatible expansion to them (C++, Typescript). According to developers, the simple languages are too verbose and hard to manage in large projects (ie C), but the expanded languages give too many features that allows them to shoot themselves in the foot (ie C++). It's always a grass is greener on the other side situation, there will never be a perfect language that matches everyone's way of thinking and reading and use cases. So then they make a "safe" language that takes years to develop (you know which one I'm talking about) that isn't actually safe (you can never really protect a bad programmer from themselves, in the same way that you can never make a UI simple enough for Grandma to understand), so why not just focus on improving IDE's or programming styles instead of making non-backwards compatible languages with poor support?