The point I’d like to make is just because you’ve had a bad (or no) experience with a language / design pattern / anything in software development, doesn’t mean it’s the terrible and needs to be replaced. It means you need to spend a bit more time with it, figure out what problem it’s actually trying to solve, and determine if it fits into your project.
Use in Large Projects
Issues like namespacing can be addressed by a little snippit of code, and concepts like modules are being provided by community-driven frameworks. ECMAScript 6 is also incorporating a lot of feedback from the community to add those open-source additions to the core language. And in most cases, if you truly understand the language’s prototype and functional nature, a lot of these complaints are non-issues in production code.
It Used to Suck
I’ll finish with a quote I found eariler in the week:
There are only two kinds of programming languages: those people always bitch about and those nobody uses. – Bjarne Stroustrup