this post was submitted on 18 Jul 2023
19 points (91.3% liked)

No Stupid Questions (Developer Edition)

896 readers
1 users here now

This is a place where you can ask any programming / topic related to the instance questions you want!

For a more general version of this concept check out !nostupidquestions@lemmy.world

Icon base by Lorc under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

Or, put it another way, a html renderer that can open most web pages, but has a different programming/scripting language that it can interpret during runtime or on page loads, instead of the javascript engine.

I suppose that java applets, flash and activeX were attempts in these directions, but they were things you had to install on top of the browsers, so not quite the same thing? I'm imagining something like web pages using Lua, since it's lightweight, to make them dynamic.

you are viewing a single comment's thread
view the rest of the comments
[–] IWriteDaCode@programming.dev 10 points 1 year ago (2 children)

Well, there is webassembly, this will enable static programming languages like c, c++, and rust. Rust is high enough level that it's a pretty good sell for web apps. Even so, once webassembly calms down, we can build alternative interpreters that run on it, and run Python/Go/Java/etc. in the web. This will not be quite as efficent, but as c is about 50% slower in webassembly than on native hardware, I think a Go/Java would run well, Python might be a bit behind, but Lua is simple enough it might work.

TLDR: You don't have to kill JS to get those language functionalities, just wait for webassembly and all the cool stuff that comes about from that.

Caveat: Though I'm a developer, I'm not a webassembly developer. I've heard of these things as theoretical possibilities, but don't know the specific limitations. Sounds promising but who knows how long it will take to get there.

[–] sirdorius@programming.dev 8 points 1 year ago* (last edited 1 year ago)

Webassembly can't access the DOM, so it can't replace Javascript completely. It's more of a way to write libraries, but JS still needs to glue everything together.

Another issue running interpreted or bytecode languages that way may be the size (memory + download) of the runtime.