I'm actually feeling a bit sorry for web koders and how much they're going to struggle with WASM

I'm actually feeling a bit sorry for web koders and how much they're going to struggle with WASM

Other urls found in this thread:

openjdk.java.net/legal/gplv2 ce.html
en.wikipedia.org/wiki/OpenJ9
github.com/WebAssembly/spec/blob/master/papers/pldi2017.pdf
twitter.com/SFWRedditImages

> WASM gets GC Support and DOM API
> All major business languages ship solutions to Frontend
> JS clusterfuck will be deprecated
> All nu-male coders will hang themselves

Massive boner coming.

What is the benefit of this garbage anyways?

Seems like an autistic child just thought it would be cool to do.

Dethrone Javascript and introduce a non meme performance on Browser.

Having reinvented every other wheel, webdevs now seek to turn the browser into a VM

Jesus christ, wtf is this monstrosity? I went on the website and it said you needed Python 2.7.x to compile a wasm program. Are you honestly telling me they based what ever the fuck this is on a programming language version that is being deprecated in 2 years?

Someone please give me a rundown on this shit

This is going to be such a clusterfuck of security in the initial years.

Python 2 will never be deprecated. Python 3 is a huge failure.

But Java and Flash worked so well!

Flash and Java both ran in separate processes on the client's machine, which is why they had such a broad attack surface.
I'm hoping WebAssembly runs sandboxed, contained within the browser process, like JavaScript.

That should help alleviate a lot of the issues, but there's still going to be a ton of work that needs to be done.

I kinda like the idea of a more performant option for client-side web development (and, let's be honest, everything is moving towards the web anyway, so it'll happen eventually), but I'm concerned about the far-reaching potential for malware.

It was declared deprecated by 2020 by the devs. What is your IQ user?

> this meme again
WASM is an NOT alternative to JS, it's intended for high performance purposes and is used along with JS code

You haven't been in the web scene long enough to guess what will really happen. Here's a rundown:
>WebAssembly npm modules
>Hipsters will start throwing dependencies of wasm modules with no-name mantainers left and right
>Some module will have an exploit and compromise the entire web and nobody will give a fuck
>Frontend shops will continiue doing their thing of stitching frameworks together.

You think that will stop front end devs from thinking they can do it?

>is used along with JS code
It isn't used at all yet retard. Who the fuck are you to decide how something should and should not be used.

Frontend devs hate anything that is not JavaScript, why do you think they make desktop apps in fucking JavaScript, mobile apps in fucking JS, etc.

>front end devs
>thinking
Can only pick one, user

I don't care whether they do or not, it will be used mostly for gaming, VR and simulation, nothing more, maybe it will become general purpose and dethrone JS, but that will take a very long time

>WASM isn't powerful enough for us to use driectly, so we built an async webscale transpiler to turn javascript into WASM

im sure that this thing will be much worse than javascript

you are too stupid to argue with

The main application today is running memecoin miners in people's browsers. Maybe soon we will get new faster image decoders.

In the future most software will probably be compiled to wasm. It's universally supported on all platforms and completely sandboxed. We've not had something like that before.

>It's universally supported on all platforms and completely sandboxed. We've not had something like that before.
Java.

>In the future most software will probably be compiled to wasm. It's universally supported on all platforms and completely sandboxed. We've not had something like that before.
That's a VM you muppet

>We've not had something like that before.

Lol what. Java had like 10 major security vulnerabilities a year. By the end of it's life basically every technical person recommended disabling it and most browsers dropped support over security concerns.

It was also proprietary shit. Wasm is an open standard with at least 2 free open source implementations.

Some would argue that Java was not completely sandboxed.

You're just upset the web will finally move away from three levels of javascript frameworks just to manipulate the DOM and validate some forms.

>In the future most software will probably be compiled to wasm. It's universally supported on all platforms and completely sandboxed. We've not had something like that before.
top fucking lel

how would they struggle exactly? I don't think you understand web development or wasm

>how would they struggle exactly? I don't think you understand web development or wasm
These are people who don't know what an integer is

>By the end of it's life basically every technical person recommended disabling it and most browsers dropped support over security concerns.
Wrong, that's java Applets not the JVM itself.
>It was also proprietary shit.
Wrong, anyone can read the spec and there are plenty reimplementations, both free and proprietary.
The trademarks are the Java logo and some Oracle JVM implementation ideas.

The idea of using assembly for the web has been a joke that goes back to the very beginnings of HTML, a language so simple and easy, the thought of using assembly in its place was hysterical

me? I did embedded for 3 years, low level programming for the sake of itself isn't worth it

the market will decide if autism is better than 101 engineering or not

Why? Most won't have to touch it.

WASM is only for number crunching shit.
Outside the web, the equivalent would be a programming language that can't do any syscalls.

If you want the web to actually do stuff or react to user input in any way, there's no way around JavaScript and that won't change very soon.

I'm trying to figure out how many layers of abstraction we'll be on if is correct. Please correct me if I've missed any or messed up:

*script -> js "trans"piler
js -> wasm compiler
wasm bytecode to browser
browser high level language preprocessor
preprocessor to LLVM
LLVM to assembly
assembly to HAL machine code
HAL machine code to true machine code
kernel managing concurrency
kernel managing protection rings
UEFI
BIOS
IME
Hypervisor

>Lol what. Java had like 10 major security vulnerabilities a year.
web browsers also have tons of vulnerabilities
>By the end of it's life
wait, what? Java is still very much alive
>It was also proprietary shit. Wasm is an open standard with at least 2 free open source implementations.
bullshit. it's developed through an open community process. the main implementation is free software (GPL) openjdk.java.net/legal/gplv2 ce.html
there are also other free implementations like the OpenJ9
en.wikipedia.org/wiki/OpenJ9

I do some web developement and yet I do know what an integer is. also I don't know if you're op, but if you are then you didn't answer my question

There are already plans to give it access to standard web APIs on the same level as javascript. It's only limited for now because they wanted the first version to have the absolute minimum features to get it adopted.

>new faster image decoders
Why'd you need that? HTMLImageElement, Canvas and Filereader pretty much cover what you need. You'd only need to write a custom decoder for image formats the browser doesn't support.

>Python
can this fucking meme finally die?

Good. Just the improvements in download size and parsing speed will make it worth it.

It will fucking murder the open web, though. .js files can be read, even when minified. Web assembly bytecode not so much.

Yes that's what I meant. Current image formats are decades old and very bad. You could write e.g. a FLIF decoder in wasm and decode FLIF images in the browser with reasonable performance.

At least if you decompile it it will make more sense than what the dev wrote

(You)

as someone who hated python 3 for a long time, ive actually started to understand its improvements over python 2

Thank god; Async loading of scripts to the client is true autism. require js / common js can die in a fire

With assembly you get absolute control over your code and what it does. What can be better than that?

Constructs to stop pajeet from bricking your system

What is forking?

time, maintainability and therefore money

So was Solaris. Luminos still exists.

why is it that the only time wasm comes up for discussion on Sup Forums it's "KEK TAKE THAT NUMALES JS SUXXX XD"?

You can already do that, it's called asm... why put that shit on a browser?

I've seen some people say it's about performance, because they want to put games in the browser....

THE BROWSER IS NOT AN OS, YOU ALREADY HAVE AN OS.

Ah but they want PORTABLE games. And that just has to be a browser, surely there's no way of creating asm on multiple platforms with a single language...

>my CS degree will mean something

Thinking... nope, can't figure it out...

Users have gotten smart enough to not download your shitty virus laden executables. Wasm just works out of the box with no input from the user required and no risk to their system.

>no risk to the system
>it calls x86 instructions
You're very naive.

It only executes a subset of x86 which they can prove is safe. It's pretty impressive.

I'm curious as to how that is achieved, seen many hundreds of instructions are undocumented.

Does it actually need to be a browser though? Couldn't it just be one mode of executing binary files?

Web developer who loves low-level shit here. I don't know about other web devs, but I'm stoked. Ya know, we're not all brainlets.

I already have an OS, but I want to be able to make sandboxed OSes that I can expose to the network and easily kill if they get corrupted, without endangering my main OS. Browsers accomplish that. I'd prefer if they viewed things as apps by default, with documents as special cases of apps... rather than as documents by default, with apps being special cases of documents... but that's where the web is almost inevitably headed, and WASM brings us closer to that.

don't we already have games running on WASM?

>What is the benefit of this garbage anyways?

You can't ctrl+s other's fully functional code anymore.

You and which meme army? Everyone is going to be using Python 3. Even Google with gigabytes of Python 2 source code is migrating. There won't be anyone developing Python 2.

I suppose you've never disassembled machine code before.

They'll reimplement JS in WASM.

Disregard him, he doesn't know what wasm is.
How it's done is you take semantics presented in
>github.com/WebAssembly/spec/blob/master/papers/pldi2017.pdf
and build a model for that. You then verify the model. For wasm, it was done in Isabelle/HOL because burgers can't into Coq and are too lazy to do anything meaningful with HoTT.

I like that for the past few decades or so computer scientist were all about abstraction layers and scaling shit up and now everything is going back to being simple, direct and putting performance as a priority. Like it was at first to begin with.

Truly mesmerizing.

Honestly, that still leaves you with the other crap like CSS and the browser APIs itself. Those are the other 90% why web browsers suck.

dream on, javascript isnt going anywhere, everyone will keep using it because its easy as fuck and fast to write. do you think all those code monkeys who cant implement fizzbuzz will bother learning wasm?

as long as you can manipulate the DOM and do HTTP requests, wasm has no need for JS.

it's not real assembly, it's AST. second the startup and calls are heavy, the execution time of your algorithm has to reach a threshold before it even makes sense to use WebAST. I can see people reimplementing the whole browser in it tho.

>do you think all those code monkeys who cant implement fizzbuzz will bother learning wasm?
Exactly. And they'll find themselves out in the cold.

they're not going to learn wasm, their shit will be just compile into it, basically C# cucks will get free micro-optimizations into browser cuckland, even javascript fratbois will get wasm pussy

this. i do both back and front but front is obviously for brainlets. but JS isn't nearly as bad as CSS. CSS is for fucking monkeys

Nothing special is going to happen.

Wasm will mostly be used in niche cases like games.

Nobody is that insane to write websites in C++ and transpile. It's massive overkill and pointless. JS already has highly optimised engines so the performance point is moot.

This only excites autists who are jelly their favourite language doesn't bring them any poon.

>implying WASM will improve the state of the web
are you people retarded? why the FUCK would you want even MORE shit in your browsers?
good thing we still have NoScript...

I want JS to die.

>Highly optimised engines
This is the purpose of WASM : provide real performance. It will be used as a layer under js.

Yeah and that kind of performance is not needed for ordinary websites. Only for edge cases like games in the browser. Or some kind of heavy 3D shit, like maybe AutoCAD in the browser or fullblown desktop applications running in a browser tab.

But then, if this happens, they'll just transpile their old C++ code bases, nobody is going to write huge C++ code bases to build something that runs in a browser.

It's just not worth it, you make more money by selling the application for desktop or mobile. No point in transplanting the same application that already works fine nativaly in a browser tab.

>transpile
It's just called compiling. You don't have to reinvent every word in CS

kek

I miss the days when web pages were expected to be just images, gifs and clickable text. This whole Every-web-page-is-a-turing-complete-machine-with-complete-write-access-to-your-hard-drive-and-memory doctrine that's been going on since about 1998 is set up to be a security clusterfuck.

It's called HTML and http. It's for hypertext. If you want a different functionality use a different fucking platform. Why did we allow game developers and online retail sellers to destroy a perfectly good information lookup system? Why are they too lazy to build their own protocol instead of mooching off of http?

Just like you can have magnet://address-here... and ftp://file-directory you could easily have game://angry-birds.com or store://retailers-name.co.uk. Then they can have their crappy functionality and dependencies there. Why are people not more angry that they destroyed the best and most library system there is an planet earth?

people will just put node in wasm

> best and most library system
*most reliable

this, I'm sick of every website being bloated with JS
I'm sick of having to turn off noscript just to be able to open a fucking news site. What does an article of text and the odd picture need JS for? But the page doesn't load anyway. Absolute bollocks.

you underestimate the neckbeard autists of Sup Forums

you know, the same ones that would've been bitching about python2 ten years ago

Sup Forums hipsters are the worst hipsters of all. fucking hell, take your thinkpads and ganoo and gentoo and just fuck off forever. technology was cool until you cunts came along.

>lets replace ECMAScript with binary blobs

upsides: performance
downsides: everything else

I have. Have you?

I don't mean debug code with symbol names and everything, but -O3 code full of SSE fuckery nobody understands and the weirdest ways to do basic shit like multiplications, divisions and other things efficiently.

Fug. That would be so hilariously awful and yet I know you're right.

It was easier to navigate too before with keyboard, easier for blind people to install screen readers if you want to care about that, securer, no viruses from just looking at images, no spying, easier to write your own crawler. Links were static and didn't become invalid after the session went off so you could save links and share with your friends without having a lot of info about yourself in them revealed.

They really destroyed everything.

They finally realized that Intel isn't going to magically fix their shitty performance every 18 months any more.

Finally! user gets it.

I think they should use another name, this one causes the impression that the programmer will have to use ASM.

Can't be harder than smali or MSIL.

It's just a replacement for asm.js. You will be able to compile javascript to web assembly and get somewhat better performance

If devs started using vector extensions as Intel envisioned, you would see a doubling in performance every time new instructions are added. AVX128, AVX256, AVX512 all basically doubled performance per core. The problem is developers are stuck programming for i386 with no new extensions thus horrible performance.

Isn't this what gcc's -march flag for?
Also, can't you also tune for new architectures? I heard once that unsupported instructions could be trapped and emulated somehow.

I feel like this is a bullshit argument. why not simply detect CPU extensions on run time, and load different functions/libraries (DLLs/SOs) to run code with the best features available? say, SSE2 or SSE4 or AVX, etc.

Javascript has a problem with heavy number crunching, which is exactly what websites are migrating towards today. People don't just want content consumption, they want content fucking generation right there in the client -- they want the web "app" to pull in and process data for them in real time. Javascript is great at what it's supposed to do: adding dynamic and interactive functionality to HTML pages. Javascript isn't so great at what it's being forced to do: process large amounts of data quickly.

That's where Web Assembly will come in. Code some heavy lifting number crunching in C or C++ or Python or whatever the god damn fuck you want, and let Javascript gracefully return to it's intended role of wrangling HTML.

You don't have any idea what you want, and you have no idea how good you have it with JS. Without JS we'd all be using PHP.