4 ms·
JavaScript’s heyday as the only browser language is over
- andrewstuart 11y agoEven 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 11y agoAs someone who is not very familiar with JavaScript: what makes it "pervasively asynchronous," relative to other languages?
- andrewstuart 11y agoPretty 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 11y agoNone of this seems specific to JavaScript though.
- ajpenski 11y agoFlash, ActiveX, Java, Shockwave, Silverlight, etc.. Just learn es6.
- xfour 11y agoNo 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.