Something will come someday that will supersede it.
The only question is: What can/will it be like?
Step 1: Ship asm.js to every browser.
Step 1.5: Do a complete job of binding asm.js to all browser features. (My impression is that right now it doesn't do DOM manipulation, for instance.)
Step 2: Define a serialization of asm.js that is more like a traditional binary bytecode.
Step 3: Everybody compiles to that bytecode. No JS is in sight. Language diaspora slowly follows. Benchmarks start flying; JS, optimized as far as it can possibly be, still can't beat out more statically typed languages, though it only matters for the most performance-sensitive applications.
This is by far the most likely outcome at the moment, in my opinion. I'm not advocating or celebrating this (or necessarily upset about it, either), just observing the current landscape.
Yet, companies are demanding the devs to be more than frontend or backend devs. Look at the DevOps movement. JS allows your developers to work on both sides of the network with a single knowledge. It may become more than a blip, though I doubt it could ever takeover the backend or smartcards for instance.
So your point (correct me if I'm wrong) is that we'll be going down from JS to a lower-level paradigm, then "something" will bump and from this diaspora you're talking about, one language will prevail, I guess.
I like your perspective of viewing JS as the first native inhabitant of an island called "browser languages". Yet I'll need to think more before I can agree or disagree.
Thanks for the input!
For server side JS, I am curious how many who believe in Node can troubleshoot below the application layer.
It's a question of perspective. If you're looking for a total control and great performances, nothing has superseded C. If what you want if a faster development and feature release cycles, many have.
I'm definitively not against C, and definitively not against JS. But C used to be the language for every purpose, and now it's JS. History repeating I guess...
I agree with you on the "low-level browser based" point, but the reach of JS is way broader than that.
- lower barrier to entry as far is toolchain setup is concerned. Nothing to install to build a Hello world.
- no weird concepts to grasp at first: many commonalities with other languages, meaning you don't start the learning curve with a big step.
I could go on but the gist is that JS is kind of like the pop music of programming languages: easy to like, with room to grow (as opposed to Justin Bieber or Miles Davis who miss one of these traits.)
To the question of what will be the next "buzz" (Js is a buzz, but those have different timelines and emotional loads than "leave Britney alone") the answer is:
Something even easier to grasp and access with a barrier to entry, smoother learning curve and wider applications.
It might even be an abstraction like those of Brett Victor.
I'd say that's not so much the language but what it allows beginners to achieve that is wave-defining.
Development has become mainstream and JS is the Pop Music of our days.
"The past is never dead. It's not even past."
-- William Faulkner
The history keeps repeating, for sure.
That's why I like to think of JS as a new C.
How will it repeat this time?
I guess that if we want to have something after JS, that will come either with:
* more standardized languages, with native in-browser VMs, as Google is trying to do with Dart.
* get rid of the browser.
The latter is way more contraversive, but I like it nonetheless.
The less contraversive version is: the end of the browser as we know it.
* Run on every browser in use
* No compile/build step required
* Work with browser tooling and debuggers
And it will probably need:
* Familiar syntax
* Work with all significant existing JS tooling, libraries, and frameworks
...and that's before we even get to the merits of the language itself.
how will platforms evolve?
I'd say it will be a language that is parallel to the core and only sequential in edge cases, because thats what the underlying platform (processor, graphics card) is evolving to. parallel first, sequential second.
I think that from the user perspective, one gets from Internet nearly everything one wants in terms of content. The new frontier, I believe, is interoperability. That is the possibility to make it work together and in smart ways all of our electronic devices, from the tiniest (e.g. wristwatch) to the biggest (e.g. TV set, car), anywhere any time. So I predict the next platform shift will be initiated by a large consumer electronics manufacturer.
* it's standardized
* it's easy (yes, it is, period)
* it's f*ing included in each and every browser, and its rise followed closely that of the web.
Moreover, the fact that Adobe came with a more powerful yet proprietary VM (namely, Flash) forced evolution of Web standards (JS included) so they could live on. That's Darwin 101.
Every use of JS outside the browser comes from developers willing to have the same ease of use out-browser than they had in-browser.
But JS, as popular as it is, is not yet as popular outside of the browser than it is inside of it.
Stop looking at the Web ecosystem and dive into the industry, you'll see.
What will happen to JS if we kill the browser?
Or what will come out that will kill the browser? And will it have an impact on JS?
The bond is yet very tight between those two pals, don't you think?
Maybe it takes the horsepower of Google to replace a language as widespread as JS.
- remove "Script"
- replace "Java" with more accurate term (how about Harmony ?)
How do you pronounce it, anyways? E-C-M-AScript? Ec-maScript? EczemaScript?
I like the idea of LISP, I not only aced the SICP class back in college but tutored it, too. I get it. And I wouldn't use a LISP for the majority of the work I do these days, it's just harder to work with than imperative code for a lot of normal, boring business use cases. You can write imperative code in a functional style when you have to, it's a lot harder to get the imperative advantages from a purely functional language.
I don't know... it still looks like the future today. Genera  was able to do things I can't do even with a lot of effort nowadays with my language/IDE/tooling.