trusktr
Joined 11 years ago
Joined 11 years ago
Perhaps we should include HTML and CSS in the list of languages to choose from next year! :P
I picked JavaScript thinking of AssemblyScript as a tool (not a language) to use JavaScript (with types) as a language compiled to WebAssembly. Maybe the results are not accurate.
I also use Wasm for web (the largest category of use so far) and would not use a JavaScript engine inside Wasm to talk to plain JavaScript in a browser (I don't think any web developer would hehe).
Perhaps the survey should have an option to choose
"JavaScript running in a JavaScript engine inside WebAssembly",
and
"JavaScript compiled to WebAssembly",
to make the results clear as to which "JavaScript" people are using.
Does a JavaScript engine inside WebAssembly even count as a "WebAssembly language"? Or is that C++ and Rust actually?
Does running a browser in WebAssembly make HTML and CSS WebAssembly languages too?
I think that NEAR users just use the SDK, I don't think the users chose JS specifically for it to be in Wasm.
I'm not sure what type of compiler to label that as, but that's the goal.
The problem being discussed is about runtime interoperability between JS (with WTF-16 string format) and WebAssembly.
In the past year it has gained numerous libraries and bindings, including from Surma from Google. Stay tuned...
This influx is the reason why AssemblyScript is now in the top three WebAssembly languages next to C++ and Rust (https://blog.scottlogic.com/2021/06/21/state-of-wasm.html) and should not be taken lightly.
There is a huge opportunity here to build an optimal foundation for these incoming developers, so that they won't be let down.
The influx has only just begun.
Ideally though, interface types would give languages options: the ability to choose which format their boundary will use. Obviously a JS host and a language like AssemblyScript would align on WTF-16, while a Rust Wasm module running on a Rust-powered Wasm runtime like wasmtime could optimally choose UTF-8.
I'm hoping things will be designed with flexibility in mind for this upcoming most-generic runtime feature.
https://github.com/WebAssembly/meetings/blob/main/main/2021/...
- speed up in some cases - ability to compile the same app to native