Friday, June 1, 2012

JavaScript founder dismisses Google Native Client

Brendan Eich
Questioning Google's Native Client development efforts, JavaScript founder Brendan Eich argued on Wednesday that JavaScript is sufficient for the needs Google is trying to fill.

Speaking at the O'Reilly Fluent Conference in San Francisco, Eich dismissed Google's technology and also promoted the upcoming upgrade to the official JavaScript specification, ECMAScript 6. With Native Client, Google is offering an open source technology to run portable native code securely in a browser.

But Eich doubted whether Native Client would get support from browser vendors Apple, Microsoft, or Mozilla, and he touted JavaScript as sufficient.

JavaScript is accessible and offers benefits like memory safety, said Eich, who is CTO at Mozilla. "Java can sandbox, too. We don't need Native Client," Eich said. He also cited the Low Level JavaScript project, which offers a C-like type system with manual memory management and memory safety, as negating the need for Native Client. Low Level JavaScript compiles to JavaScript.



ECMAScript 6, meanwhile, is intended to be better for applications, libraries, and code generators, according to Eich. "ECMAScript 6 is under way," and parts of it are already showing up in the Chrome browser and Mozilla's Spider Monkey JavaScript engine, he said. "We don't want to change the language too much. I'm sensitive to people who think we're going to change it into Java or something. We're not doing that."

Specific improvements eyed for version 6 include string interpolation, the use of default values instead of undefined values, indexing of objects via another object, and elimination of the arguments object. For libraries, better modularity as well as proxies, for meta-programming, are anticipated. Eich also touted code generator capabilities, saying, "I think we're finally ready for it." Developers of JavaScript, he said, also want to make it a better compiler target language.

Also under consideration for inclusion in JavaScript at some point is parallel JavaScript, for data and task parallelism; this is still a research project, Eich said, noting that JavaScript is now 17 years old. "The cool thing is people are using it in ways I couldn't foresee," he said.

A JavaScript developer in attendance lauded a planned "let" keyword due in the JavaScript standard. Let, said Steven Olson, software architect for the Church of Latter Day Saints, enables developers to declare a global variable that stays in a namespace and cannot be copied. "The benefit is you don't have the confusion between global and local namespace in your program."

Also at the conference, 4D announced Beta 2 of Wakanda, which is intended to be a turnkey JavaScript development platform featuring an IDE, client framework, NoSQL database, and server capabilities. A production release of Wakanda is due in June, with prices starting at $35 for a single developer using the vendor-supported commercial edition. A free, community edition also will be available. "[Wakanda] allows the developer to really create applications for the Web and mobile applications really fast," without having to deal with integrating different software development components, Michel Gerin, chief marketing officer at 4D. "It's all working together really nicely."

No comments: