I personally believe C++ will be the main language to target WASM (and maybe Rust/Zig, more chance for Zig since it can just use C/C++ libs out of the box, for Rust it'll be from scratch projects only), mostly because of the use cases (multimedia, games, AR, 3D)
Adobe for example, they have 0 benefits to rewrite their applications, so they'll end up reusing their stuff (C++), and that's what they are doing [1]
I don't think the traditional high level languages like Java/C# will be popular due to their heavy runtime and history
C# has a huge problem to overcome, size + number of files (.dll for some reasons, typical microsoft) one has to download, even if cached, you still have to pay the price, and overall it doesn't feel clean, nor efficient enough
Is that enough to avoid writing JS? maybe for some people, C# is a pretty nice language, but they'd better just transpile to JS instead [2]
Java? oracle has no benefits in porting Java to WASM, as mentioned by the author of this tweet, so it'll be a job for the community, they did something [3], it's promising
What's missing is Kotlin, they are working on their WASM compiler, i think they are a little bit too silent about it, i had lot of hope for Kotlin Native, but ended up being a disappointment, their LLVM based compiler is too slow (both compile speed and runtime perf), and their focus on JVM tooling is just painful to accept, it just is painfully slow and bloated
I agree with the limitations you mentioned about .Net, but who knows maybe they will switch to a more optimized AOT compilation at some point.
I know TeaVM, but my bet is more on Google side for Java support, the task is too huge for a single person OSS project.
Hopefully JetBrains will be more vocal about Kotlin/Wasm later this year and next year, when it will be more usable with GC support shipped in Chrome stable.
I personally believe C++ will be the main language to target WASM (and maybe Rust/Zig, more chance for Zig since it can just use C/C++ libs out of the box, for Rust it'll be from scratch projects only), mostly because of the use cases (multimedia, games, AR, 3D)
Adobe for example, they have 0 benefits to rewrite their applications, so they'll end up reusing their stuff (C++), and that's what they are doing [1]
I don't think the traditional high level languages like Java/C# will be popular due to their heavy runtime and history
C# has a huge problem to overcome, size + number of files (.dll for some reasons, typical microsoft) one has to download, even if cached, you still have to pay the price, and overall it doesn't feel clean, nor efficient enough
Is that enough to avoid writing JS? maybe for some people, C# is a pretty nice language, but they'd better just transpile to JS instead [2]
Java? oracle has no benefits in porting Java to WASM, as mentioned by the author of this tweet, so it'll be a job for the community, they did something [3], it's promising
What's missing is Kotlin, they are working on their WASM compiler, i think they are a little bit too silent about it, i had lot of hope for Kotlin Native, but ended up being a disappointment, their LLVM based compiler is too slow (both compile speed and runtime perf), and their focus on JVM tooling is just painful to accept, it just is painfully slow and bloated
[1] - https://web.dev/ps-on-the-web/
[2] - https://web.archive.org/web/20210125062246/http://www.bridge... (archive because the website now points to an empty github repo)
[3] - https://teavm.org/