Linked by Thom Holwerda on Wed 10th Dec 2008 19:49 UTC, submitted by BluenoseJake
Google Google has released an early version of Native Client, a framework designed to run portable x86 binaries inside a web browser - in a sandbox. Native Client also includes technologies that allow for easier communication between JavaScript and Native Client executables, which makes it possible for web applications to leverage native code when it comes to processor intensive tasks. This sounds eerily similar to Microsoft's ActiveX - one of the biggest security failures of the Windows operating system. Google insists, however, that Native Client is much, much more secure.
Thread beginning with comment 339814
To read all comments associated with this story, please click here.
kragil
Member since:
2006-01-04

.. not sure it will happen though.

I for one will be _VERY_ hesitant to run native code from some website.

Actually I might not even install the plugin ;P

Delgarde Member since:
2008-08-19

I for one will be _VERY_ hesitant to run native code from some website.


Agreed. It's one thing to provide a sandbox for scripting code that requires an interpreter. It's another matter entirely to sandbox code that's running natively on the CPU. Without knowing more about the security they'd be putting in place, I'm not at all comfortable with this idea.

Reply Parent Bookmark Score: 3

sbergman27 Member since:
2005-07-24

I'm not even sure what the advantages of running native code are supposed to be. Poor implementations of non-JIT Java with horrid support for UIs back during the heyday of Java "applets" combined with more years of poor implementations of non-JIT javascript have given portable runtimes (and the letters 'j', 'a', and 'v') a bad name. Java is really only a little clunky these days, and Javascript engines are getting ready to not suck. We're finally mostly rid of the rid of the ActiveX terror. This is not the time to be pushing native code. It's finally time to start pushing client-side Java and Javascript.

Then again, the guys at Google are a lot smarter than I am. So there must be some uber-rarified reason for doing this.

Edited 2008-12-10 20:41 UTC

Reply Parent Bookmark Score: 9

kragil Member since:
2006-01-04

Agreed. Pushing and optimizing Java might be the better option IMHO.

Secretly I am hoping that open source and open standard will break the dominance of X86. It would be really nice to have a fast ARM Netbook in 2009 that can run nearly everything for a whole working day (8 to 10 hours).

100% working open source flash is the only thing I still really need.

And I don't think Google is smarter than I am ;) (Lively anyone?)

Reply Parent Bookmark Score: 5

james_parker Member since:
2005-06-29

I'm not even sure what the advantages of running native code are supposed to be. Poor implementations of non-JIT Java [...] combined with more years of poor implementations of non-JIT javascript have given portable runtimes a bad name.


The problem with "JIT" is that the results are simply thrown away after use. A much better approach would be "JITAR" (Just in Time And Retain), which would then amortize the translation of executable code across multiple invocations. Combined with efficient fine-grained dynamic linkin, a mechanism for finding and using common libraries (not necessarily maintained by a single source), and reliable version checking -- all to reduce the actual amount of compilation done across applications -- it could be extremely efficient.

Of course, given its relative ubiquity, x86 (or a reasonable subset) could be used as the intermediate language to even further reduce compilation for common cases.

Reply Parent Bookmark Score: 3

Michael Member since:
2005-07-01

Well, we know the guys at Google know how fast javascript can run. So either they've found it is too slow for something they want to do (what the heck would that be?) or this is just an experimental project with no major application in mind.

Reply Parent Bookmark Score: 4

Wes Felter Member since:
2005-11-15

So there must be some uber-rarified reason for doing this.


Rewriting C code in Java is expensive.

Reply Parent Bookmark Score: 4