Programming thread

  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
What alternative is there to bytecode? ...a bytecode engine is what should have been there instead of Javascript from the very beginning.
It was Java at the beginning, which ran decently well on CPUs under 100MHz, and the JVM could still be as well-suited as WASM. Probably take less effort than reimplementing another new bytecode. Increasingly, though, there's ever less difference between Javascript performance and WASM performance, and again, developing specific platform-dependent libraries for Javascript would enable it to work effectively and efficiently despite its shortcomings like Tensorflow for Python.

Ultimately, I'll concede that WASM is probably superior because it's designed for-purpose, and there's no effective leadership for this purpose behind either the JVM or Javascript, but the proliferation of standards will never cease to irritate me.
 
It would be cool if the HTML standard got culled down to a minimum of tags, no CSS, no JS. And people would have their own CSS in the browser.
That's basically markdown. Or:

boy would you love the gemini protocol
which got a bunch of like-minded autists doing blogs and personal sites. But you can't do enterprise apps on it very well, unless you also distribute an approved enterprise reader app, which is way harder to do than just publish a website. It's a chicken and egg problem, where the chicken is monstrously hard to create but the egg is easy.
 
It was Java at the beginning, which ran decently well on CPUs under 100MHz, and the JVM could still be as well-suited as WASM. Probably take less effort than reimplementing another new bytecode. Increasingly, though, there's ever less difference between Javascript performance and WASM performance, and again, developing specific platform-dependent libraries for Javascript would enable it to work effectively and efficiently despite its shortcomings like Tensorflow for Python.

Ultimately, I'll concede that WASM is probably superior because it's designed for-purpose, and there's no effective leadership for this purpose behind either the JVM or Javascript, but the proliferation of standards will never cease to irritate me.
I don't care much if people make new things, in the case of web browsers there's no way it wouldn't have been anything other than a new bytecode engine, Apple didn't even let them use GLSL for WebGPU because they're upset about the clause Khronos has about not being able to sue over anything once you become a member which is why they no longer update OpenGL and have not implemented Vulkan on their platforms and have Metal instead, it's legal bullshit all the way down which is why they can only create new things for web browsers. Web browsers are massively bloated, mostly because Google wants to maintain control and they fund their only "competition" so they can maintain their monopoly, web browsers honestly need to die.

Ultimately the problem of re-implementing things goes infinitely deeper than this, the need/desire for something like web browsers at this point in time can ultimately be boiled down to "a way to run sandboxed applications downloaded through the Internet", this need should have been addressed by operating systems, but it wasn't and because it wasn't then we now have a layer of code that sits on top of the OS to essentially do the same thing you would just want the OS to do. If it was just easy to make and distribute applications and OS security wasn't such a trash fire then software quality and programmer quality would both probably be a lot better than they are today and there would be a lot less wasted time overall in terms of developer time because there wouldn't be massive teams of people maintaining different layers that emulate an OS.

If you want to go further down the path of waste then you would want OS developers to stop making breaking changes which honestly don't need to exist at all, there's better ways to fix this problem while still maintaining backwards compatibility which wastes more peoples time because software that shouldn't break will continue to break more. You would also want the OS APIs to be better because then people wouldn't have the need to use things like GLFW, SDL or whatever else to manage multiplatform code bases because if it was simple enough to use an OS API then you could write your own code to handle these platforms simply, pair that with stable OS APIs and you could make programs that last forever, or close enough to it unless there's some massive hardware change that means certain things are no longer compatible or possible (unlikely to happen in the modern day).

There's a talk by Casey Muratori that discusses this idea and says a lot of things should be on the hardware manufacturers to implement things and thus simplify the entire ecosystem which is honestly a good point but this will never happen because we can't have anything good.
 
if it was simple enough to use an OS API then you could write your own code to handle these platforms simply, pair that with stable OS APIs and you could make programs that last forever, or close enough to it unless there's some massive hardware change that means certain things are no longer compatible or possible (unlikely to happen in the modern day).
Arguably, the BSDs come pretty dang close to this. but yeah, I agree with all the points you've made except for the not minding the continual reinvention process. But I'm in the latter half of my life now and novelty comes nowhere close to pleasing me in and of itself like it used to. I just want things to work and not break. That's why I quit using GNOME, because that was unavailable, and why I'll support the X windowing system 'til its dying gasp.
 
Arguably, the BSDs come pretty dang close to this. but yeah, I agree with all the points you've made except for the not minding the continual reinvention process. But I'm in the latter half of my life now and novelty comes nowhere close to pleasing me in and of itself like it used to. I just want things to work and not break. That's why I quit using GNOME, because that was unavailable, and why I'll support the X windowing system 'til its dying gasp.
I'm just more of the opinion that this problem is so far out of any one person's hands that I'm not really going to blame people for trying to improve upon things, but I also think people are not trying to recreate things in significantly different enough ways for any real progress to be made.
i remember in the primagens jblow interview casey talked about how apple actively tries to make web worse and that you can clearly see it in w3c meeting minutes
I also saw this, I think it was about keeping it less appealing than the stuff in the app store, though I still think Google is to blame for most of the current mess of things considering they're willing to accept this as long as they get to keep their monopoly over web browsers. I really wish the jeet judge did not do the needful and give no actual punishment for the Google antitrust case and instead tore Chrome from their hands and made them suffah.
 
One of the things that I despise the most about the modern web is how acceptable it has become to intentionally serve broken pages which are then "fixed" by JavaScript. For example:
2026-03-09-134501_947x339_scrot.png

The text is there, I'm just not allowed to see it... (and they're also using tables for layout and in-line styling, for the worst of both "legacy" and "modern" web design)

(also, it's incredibly slow, over a second to load the "tutorial" page...)
 

Maybe this is just my lack of understanding somehow. And I will say this now, I don't think git is the end all be all for source control. There certainly can be an improved way to do this in the future.

But on his video. I know he knows git != github. But his prediction, and the way he talks about it almost feels like he has some kind of intermingling of the idea of github and git. I know he is a very github brained tech bro so it isn't too surprising. Still I find the way they are connected by people mentally a bit grating.

The other thing, is I fail to see how you would need something different to do what he is talking about. You can already basically look at changes like this, there are tui, and gui frontends for git already that make it simple, there are probably cli front ends as well.

Idk. It just seems like what he brings up in this aren't the best reasons to justify a new version control system being created. You could definitely find areas git could be improved, but I don't think the ones he mentions are among them.
 
After Andrew Kelly, the Zig guy, went full politisperg I looked around for another alternative systems language to tinker with and found Odin. I think I ignored it at first because it has a rep of being primarily a language used for games, but that's kind of unfair. As someone who doesn't otherwise use system languages much, being able to just declare a variable without having to deal with allocators so much feels more familiar, and I like when I can just use printf() rather than whatever a language's pet novel idea of string interpolation is. I still prefer Zig's clear separation of compile-time and runtime code, and there's certainly a lot more tooling and community for Zig especially for non-game things. But unlike Kelly, Ginger Bill is a fellow millennial and seems like he just wants to grill.

Anyone else tinkered with Odin? Thoughts, complaints, slurs? Yes, I'm aware C exists, thank you. I'm also aware I could flake slate to make my own spearheads to hunt mammoths but I won't be doing that either.
 
Last edited:
After Andrew Kelly, the Zig guy, went full politisperg I looked around for another alternative systems language to tinker with and found Odin. I think I ignored it at first because it has a rep of being primarily a language used for games, but that's kind of unfair. As someone who doesn't otherwise use system languages much, being able to just declare a variable without having to deal with allocators so much feels more familiar, and I like when I can just use printf() rather than whatever a language's pet novel idea of string interpolation is. I still prefer Zig's clear separation of compile-time and runtime code, and there's certainly a lot more tooling and community for Zig especially for non-game things. But unlike Kelly, Ginger Bill is a fellow millennial and seems like he just wants to grill.

Anyone else tinkered with Odin? Thoughts, complaints, slurs? Yes, I'm aware C exists, thank you. I'm also aware I could flake slate to make my own spearheads to hunt mammoths but I won't be doing that either.
I've mentioned it a couple of times, I'm a big fan.

I've found WHEN compile directives to be the only comp-timeish thing I need for Odin. C interopt is almost painless, with some serious oddities coming into play when trying to use things like Jolt (a C++ physics library) through a C wrapper. Being able to target WASM from the compiler is nice, even if the entire web ecosystem makes me want to pull out my hair trying to use the resulting blob. Compile times are very much appreciated, especially when certain shit (C++, QT5 webengine/webview) makes my system shit itself when trying to compile. The batteries included nature of the vendor package suite is also very much appreciated, effectively being able to take the compiler and run on Windows was very nice, and being able to do the same on Linux when compiling it myself is also nice.
 
Anyone else tinkered with Odin? Thoughts, complaints, slurs?
It's okay, has some nice things (defer, 3d math stuff, possibly others I forgot) but it really doesn't do enough for me to justify existing. When I looked at it as well there were no automatic binding generators and no templates, the creator of the language just expects you to sort out your own bindings and code generators and at that point I might as well just use C.

D by far is my favourite systems programming language, it has basically anything you could need but requires you to use none of it, as an example it has GC but you can just not use it which also leaves it open to be used for smaller tools you make so you can quickly throw things together. Everything is also implemented very intuitively and almost every time I got ideas about certain ways of using things they ended up being possible and it didn't usually involve looking anything up. I have a few minor complaints about the syntax and I wish the code generation through strings was a bit more lenient at times but you don't often need it with the template system.

This is just a rushed explanation, there's so much good about this language that far outweigh the downsides for me and I just really enjoy how intuitive and low friction it is while still being very powerful. I'll stop gushing over it but I truly think this language is one of the best designed and it's a shame barely anyone has tried it.
 
Tony Hoare died this week.

I will include one of his most famous quotes, from his Turing Award lecture, which is sadly still relevant.

The first principle was security: The principle that every syntactically incorrect program should be rejected by the compiler and that every syntactically correct program should give a result or an error message that was predictable and comprehensible in terms of the source language program itself. Thus no core dumps should ever be necessary. It was logically impossible for any source language program to cause the computer to run wild, either at compile time or at run time. A consequence of this principle is that every occurrence of every subscript of every subscripted variable was on every occasion checked at run time against both the upper and the lower declared bounds of the array. Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to---they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980, language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law.
 
git != github
His point is that the "next generation" won't care about source control because it's just another opaque and agent-driven system. They won't even know it's happening under the hood. Git chads will continue to feast and rule the Earth, but do you trust Microshit (Github) or the G*rmans (Codeberg) with your source code? How about Drew "gooner? I hardly knew her!" DeVault (SourceHut)?

The actual lesson this faggot youtuber should be teaching is that setting up your own git takes 20 minutes on a cheap VPS.
 
Back
Top Bottom