So it's like a JVM in your browser? ... Why didn't they do this before instead of JavaScript?
WebAssembly High-Level Goals
- Portable, size and load time efficient binary format
- Compilation target which can execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms, including mobile and IoT
- Implement a Minimum Viable Product (MVP) of the standard
- Key features like threads, zero cost exceptions, and SIMD
- Additional features prioritized by feedback and experience including support for languages other than C/C++
- Integrate well with the existing Web platform
- Backwards-compatible evolution
- Same semantic universe as JavaScript
- Synchronous calls to and from JavaScript
- Same-origin and permissions security policies
- Browser functionality through the same Web APIs that are accessible to JavaScript
- View Source functionality
- New LLVM backend for WebAssembly and an accompanying clang port
Probably the best high-level goal they have is the
> View Source functionality
>>59290488
>New LLVM backend
This cancer is everywhere.
>>59291128
How is LLVM cancer?
>>59290076
fuck off , dead language before it even started
soon we will have javascript OS and kernel
>>59291610
Many new language use it, but the platform support lacks behind.
cancer
>>59291639
>>59291610
>Not knowing the problems with LLVM
I smell a shitton of exploits that will fuck us up
>>59291683
not the previous anon but please elaborate
>>59291639
>windows, linux, solaris, bsd, macos, obscure hipster os like AROS and haiku, bare metal ARV8 and MSP430
wtf is it lacking
>>59291639
What do you mean the vm part? It seems like they just turned it into a compiler library.
>>59290076
>So it's like a JVM in your browser? ... Why didn't they do this before instead of JavaScript?
It's basically a nicer version of javascript that is designed to literally be the "assembly of the web". Javascript was never intended to be used for complex applications like it's currently being used for so it's showing some deficiencies.
Run native code in the browser? That sounds like a incredible idea! What could POSSIBLY go wrong?
>>59292697
I prefer JavaScript over weebSM
>>59291639
That's a reason not to write LLVM frontends. What's the reason not to write backends?
>>59291782
This tbqh senpai
>implying WebAssembly isn't a CIA tactic to install god-mode backdoors into browsers.
Think of all the security problems that we've had with Java Applets and Flash.
Wasm is all those problems x1000. Even if my browsers start incorporating it into mainstream builds I ain't enabling that shit.
>>59292914
>Wasm is all those problems x1000
How is it worse? It sounds similar in scope to Java bytecode, though maybe a bit lower level. I assume Flash had something similar. The difference is that the runtimes are being implemented by Chrome/Firefox devs today, not by Sun/Macromedia devs 15 years ago. Browser vendors these days seem to mostly have their shit together when it comes to runtime systems and sandboxing.
>>59292825
security doesn't matter, because we need more bloat and more ads
>>59293138
It's exactly the same thing as Java VM.
>>59293185
Java Applets were specifically designed to easily offer access underlying filesystem and OS features; it's not even vaguely comparable in design intent. This is like comparing ActiveX to WebExtensions.
>>59293334
Well I'm convinced.
IT'S OVER LLVM IS FINISHED
>>59293381
Am glad you've come to see the error of your ways.
>>59290488
This reminds me of that talk by Gary Berndhardt, The Birth and Death of JavaScript
https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
From the future, he basically recounts how JavaScript engines and browsers became so performant and sandboxed that they end up becoming the operating system in all user-facing machines.
WASM gets closer to that, and I'm not exactly comfortable with it. Though, Chrome OS is already almost that.
>>59291610
He's just saying it because is not GCC.
>>59290076
>Why didn't they do this before instead of JavaScript?
Because JS is literally a quick hack put together to add interactivity to the early Web 1.0. Nobody expected the explosion of 2.0 and then everyone was stuck with it.
>>59291782
>>59292825
>>59292914
>>59293138
>>59293185
>not reading properly
>Same-origin and permissions security policies
>Welcome to /g/ - tech illiterates
>>59292914
But it's literally just a bytecode AST so it skips a step from the js but offering no more privileges I think
what IS webassembly? can I code a webpage in C++ somehow, and just convert it to a webassembly with the click of a button?
Meaning you dont have to learn javascript.. html, and 50 other things?
Sounds awesome to me, I might make my first webpage.
>>59290076
Why is apple even involved? Their browser makes up like 10% maybe. Might as well go get Netscape.
>>59295689
That's like asking "Why is Microsoft involved IE fukkin sux"
Safari is still the built in browser on macOS and iOS