think6221651280100692133orig

JavaScript insiders predict its future features

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.

IDG Insider

PREVIOUS ARTICLE

« The next MacBook Pro could sport Intel's new 3D XPoint SSD

NEXT ARTICLE

Facebook is bringing artsy neural networks to a phone near you »
author_image
IDG News Service

The IDG News Service is the world's leading daily source of global IT news, commentary and editorial resources. The News Service distributes content to IDG's more than 300 IT publications in more than 60 countries.

  • Mail