Javascript is impossible to scale past the trivial application at the moment. Trying to read someone else's non-trivial source code in javascript is a total nightmare. It's too hard to write a big app in!
So it's not going to be the next big thing. It's a play language and always will be.
Unfortunately it's the only choice we have in the browser. If we had any other major language in the browser, even c++, it would have died long, long ago. We wouldn't even be talking about it today.
Respectfully, IMHO this comment is a load of nonsense. Is your opinion informed by experience?
Dismissing javascript as a 'play language' is to ignore, well, the internet. Sure, it's imperfect.. maybe more than most languages. But it's also wildly powerful, and there are plenty of ways to make large js codebases quite reasonable (ours is, and we build one of the most complex javascript front ends I'm aware of).
Suggesting that C++ would be a better language for writing web UIs really seems especially ridiculous to me. Have you written GUIs in C++? I have, and I assure you they're no nicer to maintain than javascript ones. In fact both languages require a similar amount of discipline and order to grow maintainable codebases with. The same is true for pretty much everything.. and when it comes down to it.. front-end code of any format can be very hard to keep manageable.
Javascript with tools like google's closure kit is about as reasonable as anything else I've built a front end with.
To be honest no-one's ever going to read this as it's 23 hours late, but this is my reply.
Yes, it is informed with experience.
My point is that if javascript were not the only language available in the browser it would have died years ago. Citing the example of the internet is like flogging a straw man. The only reason it's on the internet is that there's NO other language competing with it, apart from vbscript long, long ago which only worked in IE when Netscape Navigator was still around so won by default.
So your point was? Cause I really, really don't get your thing about Dismissing javascript as a 'play language' is to ignore, well, the internet. I already explained that one quite clearly. It's the only player in that space and the only reason why anyone even bothers with it.
The C++ was a semi-joke, but you've got to read it in the context of the article and javascript winning big server side. It's never going to happen. The article is totally fubar.
Javascript is one file. Everyone writes it like that in a single closure to make sure it never interferes with anyone else's namespace. Because of the total joke of variable scope. It's a nightmare when it comes to maintainability.
That's my point. It's not portable, it's not at all transferable. It's not at all appropriate server-side for anything apart from play sites.
I'm sure you've done great things with javascript client side but it's never going to be a great language server side because it's just not maintainable.
Generally speaking against javascript as well, it's a total pita when it comes to reading someone else's code anyway. You can't pick up someone else's code and know what's a constructor, what's static, what's a singleton, what's the actual entry point for the whole thing. There are still competing patterns for just writing a god-damn object constructor (Resig style vs Yahoo style, even though Resig's is clearly superior). And even then it's scattered about like crazy. There's absolutely no logical structure to it.
Have you seen Closure Library and Closure Compiler? It's definitely feasible to write a million-LOC JavaScript application (Gmail is one). Your JavaScript doesn't have to be a mess.
Might be interesting to think about why we don't have any other major languages in the browser?
Javascript suffers from a lot of historical baggage and a lot of bad javascript on the web. One of the most helpful developments in the past few years has been the emergence of a "better" subset of js, led by Douglas Crockford's mafia, jslint, jshint, jsonlint etc.
It's hard to argue that any language+platform has a more vibrant ecosystem right now than js+node.js
While I would love something that is not javascript, I have to disagree with the assesment that it is too hard to write a big app in.
That would be true if you write it as one would write a C++ program, or even to the sizes one would write C++ programs in.
If you structure your program as a set of responses to events (the user clicked this button, this field lost focus, post/get resquest to this url) you automatically split the program up in many smaller pieces.
In addition a program that would be a million lines of C++ might very well be a lot less in Javascript, since C++ lacks a lot of the features which Javascript has (first class fuctions being one of them).
""If we had any other major language in the browser, even c++, it would have died long, long ago. We wouldn't even be talking about it today.""
To say something like that, you must clearly not understand the premise of the language.
Javascript is not a play language - it's a very powerful hybrid of Scheme and Self, with a C-like syntax, which makes it easier for most people to get started with. Using functional programming paradigms, rather than class based ones, makes Javascript scale very well to large applications.
I develop in SproutCore at our startup and find that you can scale a code base to large swathes of functionality and elegant composibility, something enabled by the flexibility of ECMAScript.
Do you have much experience with JavaScript? My current focus is to learn JS very well, for no other reason at first than how prevalent it has become. I was surprised to find it's actually a pretty enjoyable and expressive language.
Javascript is impossible to scale past the trivial application at the moment. Trying to read someone else's non-trivial source code in javascript is a total nightmare. It's too hard to write a big app in!
So it's not going to be the next big thing. It's a play language and always will be.
Unfortunately it's the only choice we have in the browser. If we had any other major language in the browser, even c++, it would have died long, long ago. We wouldn't even be talking about it today.