▲ | 999900000999 8 hours ago | ||||||||||||||||||||||||||||||||||||||||
I actually want browsers to support other languages natively. Brendan Eich ( the creator of JavaScript) was kind enough chime in that it would be impossible for variety of reasons. Obviously he knows more about this than me, but I think Google could put Dart in there if they really wanted. WebAssembly is pretty close though. | |||||||||||||||||||||||||||||||||||||||||
▲ | simonw 7 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
What would "support other languages natively" give you that WebAssembly doesn't? | |||||||||||||||||||||||||||||||||||||||||
▲ | willseth 7 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
Ideally, sure, but that would increase the already enormous burden of building a standards compliant web browser. For a healthy web ecosystem it's important that not only trillion dollar companies can contribute or compete. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | kg 5 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
Maintaining a browser is already hard enough, it's a very tough sell to convince 3+ browser vendors to implement a new language with its own standard library and quirks in parallel without a really convincing argument. As of yet, nobody has come up with a convincing enough argument. Part of why WebAssembly was successful is that it's a way of generating javascript runtime IR instead of a completely new language + standard library - browsers can swap out their JavaScript frontend for a WASM one and reuse all the work they've done, reusing most of their native code generator, debugger, caches, etc. The primitives WASM's MVP exposes are mostly stuff browsers already knew how to do (though over time, it accumulated new features that don't have a comparison point in JS.) And then WASM itself has basically no standard library, which means you don't have to implement a bunch of new library code to support it, just a relatively small set of JS APIs used to interact with it. | |||||||||||||||||||||||||||||||||||||||||
|