Skip to content

Comment on We are not going anywhere

Comments

No one is going to write new UI libraries if SOTA models know React best, no one is going to bother with new languages if SOTA models know Python, Go, JavaScript, and so on the best.

And here I sit with my own native cross-platform GUI library, made with my own Lisp-To-Rust programming language... Tell me more about what we all are not doing :)

And here I sit with my own native cross-platform GUI library, made with my own Lisp-To-Rust programming language...

Currently working on something like this. Do you have a writeup somewhere? Specifically how you solved cross platform rendering equivalence? Do you use an intermediate representation or just pure vis-a-vis splatting via native APIs?

Do you have a writeup somewhere?

I don't (yet), but do subscribe to the RSS feed on my website, I'll publish a writeup there once I've fleshed out exactly how it has to work for all the applications currently using it.

Specifically how you solved cross platform rendering equivalence? Do you use an intermediate representation or just pure vis-a-vis splatting via native APIs?

In short, my current approach is something like a small renderer-neutral display-list IR, then each frame produces ordered DrawOps in logical coordinates, which then a shared renderer applies transforms, clipping, opacity, paths and whatever, which finally dispatches to platform canvas implementations backed by native APIs.

It's about ~50K LOC in total right now, to support Linux (Wayland + X11), macOS, Windows, iOS, Android, Sailfish OS and headless/offscreen rendering variants for each of those. This is like the 3rd iteration on this library, and for the first time I managed to get all the features in place without reaching +100K LOC, so feels like a pretty good approach so far.

The equivalence is semantic and conformance-tested essentially, not guaranteed pixel-perfect. For me, consistent design across the platforms is more important.

Yeah, that part seemed like a really bad take - of course people will make new libraries and UIs.

Yes, it will be easier for people to build new libraries and languages, but they won't gain traction.

But who cares if they gain traction? I don't need it to gain traction for me to be able to make use of it correctly and efficiently. In fact, I probably need the opposite, for it to not gain traction, so I can focus on using it and improving it for myself only.

If it does not gain traction then it's irrelevant in the global software field.

You can have fun with it, but it won't make a difference, so from the point of view of the software market it won't exist.

Do you hold the same opinion with regards to Jonathan Blows jai language?

This is a general comment; it might not apply to your personal use-case.

I guess I should have prefixed my initial comment with "This is my personal use-case, not a general comment"?

gist was certainly not implying that it was not possible to do it or that some people won't continue doing it but the point was rather that the pool of such people or such projects will significantly decrease because software has now (mostly) reached the abundance state where all of these technical details start to matter less and less for general consumption.

Libraries, languages, and all that good stuff are the stepping stones we use in service of building powerful abstractions that can then be used to expand software complexity. You cannot LLM your way out of that, I’m afraid.

Sure. It's just we won't have any new popular ones.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.