|
Short intro about me: I've been developing systems mainly in Javascript, PHP (I am ZCE and I dropped PHP 6 years ago), Java (OCMJD), and Python for the last 13 years, and for a few projects I have used TypeScript, Dart, C, and C++. A bit of Ruby. That's an absolute fantasy that JavaScript will be the one language that will be used as a single option in the future. Not even taking into account that often languages and frameworks are chosen on the basis of the problem you are solving (and you just happen to work in the field where JS is more popular/viable choice) - it is extremely poorly designed language (and probably only PHP is worse at this) and I always question the sanity of the people that choose to use it on server-side (but there are good reasons to use it there - they are just rare). JavaScript is plagued with problems like:
- No static typing support by default
- Before ES6 the class support was a mess
- No Standard Library!
- NPM and the whole dependency system is hell There is a reason why people keep writing languages like Dart, Elm, CoffeeScript, and TypeScript. TypeScript and Dart deserve some special attention - the problems with JS were (and still are) so big and annoying that big companies like Google and Microsoft spend thousands of man-hours developing things like Static-typing support, Standard Libraries, and, most importantly, tooling. And we haven't yet scratched the "real enterprise systems" where transactionally support is a must. JavaScript has yet to go through so much shit to develop frameworks like JMS, Hibernate, and Spring that enable you to do all the fancy transactional stuff just with annotations. However, I do not see anybody developing something like JavaScriptSpring because JS fundamentals are broken and nobody will build big software in such a language because it is just not feasible. I guess that's enough for now - it's already too ranty. |