
Ask HN: What will the post-Javascript era will be like? - xcambar
Javascript looks a lot like &quot;the new C&quot;: new languages compile to it while adding features to it and it can run on almost any platform.
But Javascript cannot be &quot;The End of History&quot;.<p>Something will come someday that will supersede it.
The only question is: What can&#x2F;will it be like?
======
jerf
First, I'm going to assume you're talking about just the Web, and for that
matter, just the Web frontend, because that is the only domain in which one
can even pretend that Javascript is the "end of history". Outside of that
domain Javascript remains barely a blip, Node notwithstanding. The end of
Javascript dominance looks like the following:

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.

~~~
xcambar
When I talk about the "end of history", yes, the web is the correct focus to
read it.

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.

It's interesting to see JS as a high-level language that will force vendors to
open VMs to allow more languages that will eventually compile to the same
bytecode. Sounds very much like the "Java" part of Javascript :)

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!

~~~
jmspring
Devops implies many things including continuous integration, continuous
deployment, as well as system troubleshooting and maintenance.

For server side JS, I am curious how many who believe in Node can troubleshoot
below the application layer.

------
njharman
> Javascript looks a lot like "the new C" ... > Something will come someday
> that will supersede it.

What has superseded C? Nothing. Many things are built on and around C and it
is no longer the only choice. I see the same future for Javascript. It will
forever be the "low-level" browser based language.

~~~
xcambar
it's hard to say if none or many have superseded C. It's really a hard point,
and I don't mean to troll about that.

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.

------
romain_dardour
Js gained wide adoption thanks to favorable comparison on specific traits when
compared to other languages.

\- ubiquity \- 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.

------
brudgers
A lisp.

    
    
         "The past is never dead. It's not even past."
         -- William Faulkner

~~~
xcambar
Nice, good quote!

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?

------
michaelby
It will... \- make it easier to use multiple processors \- use a new type of
DOM designed for web app GUIs which can be translated as necessary back to our
current DOM \- have built in version checking for its interpreter/JIT \- make
it easier to manage memory usage \- have a module system \- be highly
specialized towards the web and web app development \- eg. built in language
components that make communicating with the web server easier \- be messy -
people will be trying to fix everything anyone thinks is difficult/wrong about
Javascript and modern web development \- be easier to implement in the browser

For the immediate future, I see Mozilla sticking with ECMAScript and Google
sticking with Dart and trying to make it like the language defined above.
Google will likely eventually build Dart into normal Chromium and Chrome and
build a plugin for Firefox, which nobody will use. Others will build a Dart VM
using asm.js to make Dart work efficiently within Firefox. Any successful new
browser languages will be able to compile back down to Javascript, although
after a while they will be buggy as the Javascript stops getting as much
maintenance.

~~~
xcambar
So basically: more features to JS, but JS still.

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.

------
jdlshore
I don't think we're in a position to say. JavaScript is good enough and
ubiquitous enough that a replacement will have to be pretty compelling. The
only thing I see on the horizon that's actually got a shot at unseating
JavaScript... is JavaScript. (EcmaScript 6.)

Whatever replaces JavaScript will have to do the following just to get its
foot in the door:

* 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.

My guess, and it's purely a guess, is that massively multi-core processors are
the wave of the future, and that pure-ish functional languages are going to be
needed in order to program them effectively. So that's my bet as for what will
be compelling enough to replace JavaScript. But I'd also guess that EcmaScript
will get there first, at least in terms of widespread adoption. Perhaps as a
pragma'd subset like "use strict" or "use asm".

~~~
jkrems
It's worth noting that ES6 actually does not run without compilation on every
browser (and will not for a while) since it introduces breaking new syntax
instead of stuff that could be polyfilled. For all intends and purposes it's a
new language (it's like C++ to C). So maybe any other superset of JS would
have the same chances.

~~~
jdlshore
Maybe, but I doubt it. ES6 is almost certain to get implemented in browsers.
Other languages won't have that crucial advantage.

------
TeeWEE
I'm not sure if you noticed. Bt 50% of the time that i'm interacting with the
internet its a native application. Maybe a platform shift is already
happening?

------
ashkav
the better question is: what will be the next platform? there will be high
momentum for change when the underlying platform changes, with todays platform
it's just too convenient to compile to C or compile to javascript.

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.

~~~
astrobe_
Good question, but I think the angle of the language is not the best way to
answer it. "Killer app" prevails, and that's the story of Javascript. Take a
killer platform, feature it with a poorly designed language, or even a combo
of 3 more or less objectionable languages (HTML+CSS+JS), and it'll win no
matter what.

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.

------
mattkrea
Since it's sort of on topic can someone tell me why "=>" is better than "."
for assigning or access properties / methods? Brendan seems to want to head
this direction and I'm not too excited about it.

~~~
mattkrea
Nice. Down votes without explanation. Love it.

------
jjaredsimpson
Based on dart and typescript, it'll feature static typing.

~~~
xcambar
True that now Dart wants to be standardized (see
[http://developers.slashdot.org/story/13/12/14/2047248/google...](http://developers.slashdot.org/story/13/12/14/2047248/googles-
dart-becomes-ecmas-dart)) and Dartium, we see Google's pushing it pretty hard!

Maybe it takes the horsepower of Google to replace a language as widespread as
JS.

------
ghostdiver
Ecmascript 7 or Ecmascript 8 should not be called "JavaScript", my proposal:

\- remove "Script"

\- replace "Java" with more accurate term (how about Harmony ?)

~~~
michaelby
Well, ECMAScript isn't called JavaScript, it's called ECMAScript. So there you
go!

~~~
anglebracket
ECMAScript doesn't flow as well as JavaScript though.

How do you pronounce it, anyways? E-C-M-AScript? Ec-maScript? EczemaScript?

~~~
sehr
Eck - muh script. Two syllables, same as java

------
rman666
I don't know but it will eventually become Lisp.

~~~
xcambar
That's (probably) another topic, but it seems that FP is the new sexy :D

~~~
jbooth
And the old sexy. Back in the day, UNIX was a piece of garbage and the future
was LISP machines, if you asked a lot of people. Nowadays, to similar people,
C/Go/Java are garbage and the future is, I dunno, Haskell or something.

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.

~~~
hcarvalhoalves
> And the old sexy. Back in the day, UNIX was a piece of garbage and the
> future was LISP machines, if you asked a lot of people.

I don't know... it still looks like the future _today_. Genera [1] was able to
do things I can't do even with a lot of effort nowadays with my
language/IDE/tooling.

[1]
[http://www.youtube.com/watch?v=o4-YnLpLgtk](http://www.youtube.com/watch?v=o4-YnLpLgtk)

------
umren
post-Javascript era is still Javascript.

------
bliti
A new client will supersede JS and the browser.

