this post was submitted on 05 Apr 2024
114 points (73.4% liked)

Programmer Humor

19564 readers
923 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 

Let's reinvent java bytecode but... different

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 18 points 7 months ago* (last edited 7 months ago) (10 children)

WASM = WebAssembly,
this has nothing to do with Java,
but with JS (JavaScript).

JS works with JIT (Just In Time) compilation, meaning every user that requests a web page, will request the JS and your browser will compile that JS on the fly as you request it.

WASM on the other hand is pre-compiled once, by the developer, when he/she is making the code. So when a user requests a WASM binary, they don't have to wait for JIT compilation, since it was already pre-compiled by the developer.

They only have to wait for a tiny piece of JS,
which is still JIT compiled,
a tiny piece of JS to load in the WASM binary.

This saves the user from waiting on JIT compilation and thus speeds up requesting web pages.

WASM also increases security,
since binaries are harder to reverse engineer then plain text JS.

Due to those reasons,
I believe WASM will be the future for Web development.

No clue why people are hating on WASM,
but I guess they just don't grasp all of the above yet.

[โ€“] [email protected] 12 points 7 months ago

Having read a significant portion of the base WASM spec, it's really quite a beautiful format. It's well designed, clear, and very agnostic.

I particularly like how sectioned it is, which allows different functions to be preloaded/parsed/whatever independently.

It's not perfect by any means; I personally find it has too many instructions, and the block-based control flow is... strange. But it fills a great niche as a standard low-level isolated programming layer.

load more comments (9 replies)