JavaScript superset JS++ adds dead code elimination

The JS++ platform also adds modules and backs a multitude of code editors, including Visual Studio Code and GitHub Atom

JavaScript superset J++ adds dead code elimination
Jake Jablonski/DeviantArt (CC BY-SA 3.0)

With an upgrade this week to its type-safe JS++ programming language, Onux is backing modular design, dead code elimination, and multiple code editors.

Geared to web and mobile development and still in a developer preview mode, JS++ is a superset of JavaScript for safe consumption of JavaScript libraries while enabling compile-time checking. JS++ 0.4.2, the latest version, features a "module" keyword and enables modular design. JS++ modules are linked at compile time and are resolvable in all cases, Onux said.

With this upgrade, only the function deployed by the user will be in the final compiled mode -- a process called dead code elimination. With this process, all unused code will not be compiled into the final generated output.

"One of the biggest pain points in JavaScript is that you need to include the entire jQuery library just to use one function. With npm and the 'micro-library' revolution, JavaScript code has grown and grown in size," JS++ designer Roger Poon said. "Web pages take longer to load because they depend on megabytes of JavaScript to be downloaded, and this is especially painful over mobile connections."

He stressed dead code elimination is a JS++ feature only, noting that "it cannot be retroactively applied to JavaScript code effectively." JS++ 0.4.2 also introduces function overloading. "All unused overloads and unused functions -- even if not overloaded -- will not be compiled in the final output via dead code elimination."

The upgrade also adds integration with 16 new code editors, including Sublime Text, Notepad++, Visual Studio Code, GitHub Atom, and GNU Emacs, and it improves Windows integration. "Installation on Windows is now more seamless (no restarts necessary), and you can now use the GUI to compile JS++ files and avoid the command line altogether," Poon said.

The company views type safety as JS++'s main differentiator vis a vis alternatives like Microsoft's TypeScript, a superset of JavaScript, and Facebook Flow, which adds static typing to JavaScript. A complete version of JS++ is planned for early next year. "I can tell you JS++ will be feature-complete in the next few months -- early next year, around March," Poon said. "I'm not comfortable giving a 1.0 release date though."

Copyright © 2016 IDG Communications, Inc.