The JavaScript world is a very dynamic world. On the upside this means that there's a constant stream of new features that touch the core of the language, innovative applications and clever libraries. On the downside this means that the JavaScript landscape has changed beyond recognition in a few years time, and will continue to do so. Enterprise application development means investing a lot of money in specialized applications that often have an expected lifetime of 5 years +. But 20 years + isn't an exception. JavaScript itself has a reasonable track record of backward compatibility, although some older coding idioms break the performance of recent highly optimized interpreters. For libraries this is different. Newer ones rapidly supersede existing libraries. There are many ways to get to the same functionality. It's like evolution in the highest gear: it's impossible to say which ones will be the "fittest" and will survive. So making long term bets for long lifetime applications is very hard. On top of that JavaScript itself has it's intricacies. It SEEMS an easy language, and used for small "scripts" it is. But once developers start designing larger systems with it, many have a hard time finding their way. A concept like "prototype based inheritance" e.g. is the subject of countless explanations on the Internet, some clear and concise, but many of them half-understood and quite some of them plainly wrong. Lastly, where performance is crucial, an interpreted, dynamically typed language has its limitations. JavaScript is not the only language suffering from this. A language like Python is in itself unsuitable for e.g. number crunching. But in the Python ecosystem C/C++ based libaries fill the gap. This is not (yet) the case for JavaScript. The fact that the accent is still on running it in the browser makes it unlikely that such high performance libraries will emerge soon. So while, given the enormous number of developers using it, JavaScript no doubt has a bright future, and may eventually overcome most of these limitations, using it for multi-year projects in its current form in my view carries a high risk.