PNaCL is much more interesting than I first thought.
First, as I said before, I want you to have the ability to run PNaCL if that is what you need.
I apologize, it has been a few years since the last time I looked at that project. At that time, an application needed a version for each platform. And it required that you keep a 64bit version, even if you were only targeting a 32bit version. So, Google recommended you copy your 32bit exe and rename the copy for the 64bit version.
Still, due to the design, isn't the only thing you are gaining is speed? It requires you compile any dependencies you need, and not use things provided on the host, unless they specifically design a route for you, right? This implementation interface is the same one that the browser vendors have created as browser soup in the web, making it necessary to rewrite the same css in four of five different ways for every design. Every vendor would have their on pet interfaces that would convince you to use their browser, creating larger code to deal with the different code paths.
Or is your argument simply being able to use whichever language you want, instead of relying on what you are given?
PNaCL is much closer in concept to ActiveX than Dart, trying to meet many of the same problems. At least it is open source. It does have the issue of only being available to Chrome and Google products, whereas Dart is targeted at all evergreen browsers. (Did Opera adopt it when they adopted Blink?)
Also, I see PNaCL as more of an as needed tool, such as provided something cpu intensive such as encoding video in the browser. (Not sure why anyone would want to do that on a web page, but it might make sense in a media web app.) Dart is meant to handle the rest of the program, though I don't know that it wouldn't meet the need of the media app, as I haven't written an encoder in Dart, yet.
What EXACTLY are you claiming?
Originally Posted by mrmcq2u
(a) Dart, RUN ON A BROWSER THAT SUPPORTS NATIVE DART is faster than JS or
(b) Dart, COMPILED TO JS, is faster than JS?
If (a), presumably that's only interesting when many browsers support Dart natively. What's the plan to make this happen? The same plan that has worked so well from Web-P and Web-M?
If (b), then basically what you're saying is Dart is another version of asm.js --- provide some sort of promise at the start of the js that you don't use any fancy features, and the JIT can optimize more aggressively.
Which is it? a or b?
If I may interject for a moment, their plan worked well enough that 4chan adopted webm. That is all.
Originally Posted by name99
Actually, both a and b can be true.
Originally Posted by name99
a) is mostly true, and b can b true in certain situations. The caveat with be is that it can be faster than HAND OPTIMIZED code, or in other words, the code that you put out.
However, Dart is not intended to be asm.js, even if some might use it like that. (I haven't looked at the compiler, but since it is targeting all current evergreen browsers, it is likly taking optimizations into account, but not limiting itself to a subset, since it is made to run fast on ALL currently supported browsers.