JavaScript insiders predict its future features

ECMAScript insiders say the new features present complicated problems but are optimistic about their inclusion in future versions of JavaScript

JavaScript insiders predict its future features
geralt (CC0)

At one time, JavaScript evolved slowly. But its pace of evolution has stepped up considerably, particularly with last year's ECMAScript 2015 specification. In the coming years, developers could see innovations like a type system and multithreading.

In a discussion on JavaScript at the QCon conference in San Francisco on Monday, Stefan Penner and Jafar Husain elaborated on what they see potentially happening with JavaScript. Penner and Husain are both insiders key to the ECMAScript specification process; ECMAScript is the official specification that underlies JavaScript, and Technical Committee 39 handles it.

Asked how TypeScript, Microsoft's typed superset of JavaScript, affects JavaScript development, Penner, of TC39 participant LinkedIn, said he was excited about it, but the committee is nervous about the magnitude of adding a type system to JavaScript itself. "It's very easy to get this wrong," he noted. The committee, though, does acknowledge the value of such an endeavor, and it could possibly happen.

Husain, a senior developer at TC39 participant Netflix, also expressed reservations, saying that "if you make mistakes in your type system, you've hobbled the web." The committee is being very cautious because of the complications involved, Husain pointed out.

They are considering multithreading as well, with a proposal afoot for a shared array buffer with low-level primitives to exist between multiple threads, Penner said. There's also a proposal to do parallelism with web workers, for web content to run scripts in background threads, but there are complications with this. Husain noted that while parallelism would increase performance by leveraging multicore processors, it's "a very complicated problem," like a type system.

Long-planned async capabilities are on the drawing board, too. Husain offered an estimated timeframe of 2018, but he wasn't certain when it might arrive. "You can just say, 'An asynchronous workflow, do this, do that, do this.' It's asynchronous, but you don't have to register a callback," he said. The code looks like synchronous code but actually runs asynchronously.

ES2015 was massive, Penner said. The upgrade focused on syntax and structural improvements, but "it left some people with the hashtag JavaScript fatigue" and feeling everything was changing too fast, he said. Features in the 2015 release started emerging as far back as 2010, but the committee doesn't want to simply put everything onto the JavaScript language. Thus, features for ECMAScript go through a multistage with process, with Stage 0 signifying an idea and Stage 5 meaning the feature is happening. A Stage 4 feature probably a very good bet to appear as well.

Copyright © 2016 IDG Communications, Inc.