4 ms·
>And why could/did those other virtual machines not evolve to fulfill the need that WebAssembly fulfills? All three were designed primarily as bytecode interpe
by indymike 4y ago
>And why could/did those other virtual machines not evolve to fulfill the need that WebAssembly fulfills?
All three were designed primarily as bytecode interpeters that would run as a layer between the OS and application, and were primarily designed to run stand-alone (i.e. desktop/server apps). Java was originally included in most web browsers, but the applet model just didn't get it done for users - and most Java software moved either be web applications (i.e. serving HTML) or desktop or mobile applications.
> Why is a new machine language and new virtual machine necessary?
WASM was designed to be embedable (and secure), streamable and is now ubiquitous as it is supported by all three major browsers, plus Node (and Deno) and many desktop web-app platforms (e.g. Electron). The embedable part is what makes it really different than JVM, CLR and BEAM - for example, you can include a WASM runtime in your application and call WASM code from a C or Rust app just like the browser does.
- pjmlp 4y agoBetter educate yourself on the CLR, not only was it designed for multiple languages, including C++, it doesn't support interpeters, only AOT and JIT compilation.
- indymike 4y agoNever made that claim. You are an expert on both CLR and JVM... what is your take on WASM?
- pjmlp 4y agoIt should stay in the browser, and is the political outcome of Mozilla not adopting PNaCL, which is kind of ironinc given how they are now struggling with 3% market share. Had it been today, Google would have been able to push PNaCL no matter what. > One of the exciting things in Visual Studio .NET is its language agnosticism. If a vendor has written a .NET-compliant language, you can use it in Visual Studio .NET. It'll work just as well as C# or C++ or Visual Basic. This isn't just a future feature-in-planning. There are already nearly two dozen languages being developed for Visual Studio .NET: Visual Basic, C#, C++, JScript, APL, Cobol, Eiffel, Fortran, Pascal, Perl, Python, RPG, Smalltalk, Oberon, Component Pascal, Haskell/Mondrian, Scheme, Mercury, Alice, and even the Java language. -- February 2002 issue of MSDN Magazine https://learn.microsoft.com/en-us/archive/msdn-magazine/2002/february/editor-s-note-welcome-visual-studio-net https://learn.microsoft.com/en-us/archive/msdn-magazine/2002... As for the JVM, it is kind of ironic as well, that after bashing Java Application Servers, there are startups trying to replicate them using a mix of Docker containers, Kubernetes and WASM. So they aren't that bad after all.
- indymike 4y agoIt's kind of entertaining watching the same set of ideas be tried in different ways over the years.