
JavaScript’s heyday as the only browser language is over - velmu
https://medium.com/@velmu/javascript-s-heyday-as-the-only-browser-language-is-over-8d3c0c995309
======
xfour
No mention in this article of how you will handle to uglier parts of software
development such as the debugging, the globals such as window, the browser
inconsistencies? This seems much too early to make such a blanket statement.

------
ajpenski
Flash, ActiveX, Java, Shockwave, Silverlight, etc..

Just learn es6.

------
andrewstuart
Even if other languages can be used to program a web browser, JavaScript is in
fact the most _suitable_ language for programming a browser because it is
pervasively asynchronous, and that's the best model for browser development.
And because JavaScript has grown up with the DOM and is the best language for
driving it.

Other languages might support async programming but it there's going to be
hell to pay when all those blocking code writing back end programmers start to
pound on a web browser with their favourite back end language.

The real benefit to web assembly is the ability to compile the latest versions
of JavaScript i.e. ES2015, to web assembly instead of to ES5.

And there's not really so much need to use other languages to program a
browser now that ES2015 has arrived which polishes many of the rough edges of
JavaScript and brings to JavaScript many of the benefits and features of other
modern languages.

~~~
nlawalker
As someone who is not very familiar with JavaScript: what makes it
"pervasively asynchronous," relative to other languages?

~~~
andrewstuart
Pretty much all the code you write in JavaScript has to be non blocking
otherwise the browser will lock up whilst it waits for synchronous code to
finish running.

Whereas programming Python or Ruby or whatever is mostly done in a linear
manner with functions and return values, the approach to programming
JavaScript it to use callbacks (or the more sophisticated ways of avoiding
them, like promises), everywhere. Really everywhere apart from some
straightforward data processing type functions which can be synchronous.

So when you use the various libraries you will find that everything is built
to be driven in a callback oriented manner. Callbacks are pervasive.

~~~
nibnib
None of this seems specific to JavaScript though.

