TUI are often inferior to GUI from a user perspective, but not necessarily by much.
On the other hand, they are easier to build in a cross platform manner.
Linux is probably the most difficult platform to build GUI for, because of all the fragmentation, X11, Wayland, all the different flavors of GUI toolkits, driver issues, window managers issues, font issues etc.
TUI are a bit like web apps in that regard, using the terminal instead of a browser to abstract the platform.
a lot of boomer and millennial dev users love TUI bc that's what they grew up with. part of A\'s early success is hit that sweet spot and triggered a culture shift late last year.
as those age group phasing out, web ui will be dominant
Zig seems to be most prominent C alternative today, well funded, with some high-profile support, excellent engineering and both a loyal fanbase and haters.
That said, as longtime C user, I've been tempted by Jai and Zig and C3, but I am not ready to make the switch yet. The benefits are simply not big enough.
And there is something new that was not apparent in when this article was written: a lot of code is LLM written now, giving old and mainstream language an undeniable advantage. Also, Rust, with the built-in safeguards, is pretty AI assistance friendly.
As some respectable C developer I know says: the issue with the C "killers" is that the people that already know C, have years, decades and experiences they are unwilling to let go. They can jump across any major systems programming project out there and feel at home.
So to win these people you need to have a killer feature that can win them, Rust offers it. The Jai, C3, Zig, etc, do not.
Sure, they are better Cs, but that's not enough to switch.
So eventually, all those C killers will keep growing, among newer system programmers, but not much among seasoned C devs.
> Sure, they are better Cs, but that's not enough to switch.
It's also not always clear they are "better". The Handmade Community, from which this essay and several of these "better C" languages ultimately spring has some weird ideas about what constitutes "better".
Handmade is Casey Muratori's thing. If you understand it as "This one guy did a video essay series and it all got a bit out of hand" it makes more sense. A twenty first century "Life of Brian" but for software engineering. He's not the Messiah, he's just some guy who was asked his opinion.
They're certainly different which is a key requirement to be better that is often not met by "audiophile" technologies, so that's something. Several of them have some Spatial Memory Safety features (ie bounds checking), which is a thing C doesn't provide out of the box for example [but see Fil-C].
I spent decades writing C for money and for pleasure, and I don't write C any more, I write Rust. But then I was never Casey's audience. For one thing of course, by the time "Handmade Hero" was published I was a long way into my career as a programmer, so it's not really "for" me even if I wanted to make video games (I do not want to make video games).
François Chollet made an interesting geometric analogy on Twitter. We tend to view Intelligence as something unbounded, like the height of a pole. But it could be something closer to the roundness of a polished sphere. Once close to the limit, incremental improvements are less and less significant.
The intuition we have about the nature of cognition and its whole shape and limits is almost entirely built by looking at ourselves and our peers, comparing that to an ant. I feel this is largely naive and misguided.
I've been interpreting AI task solving capabilities as a search problem: being smarter lets us prune more of the tree and try out different things more efficiently. I think this fits into the sphere analogy quite well: at the limit, we need to experiment, use the experiments to create new abstractions and build on them repeatedly. This doesn't necessarily require more raw intelligence, but the time or resources to find how the pieces fit together.
On the other hand, they are easier to build in a cross platform manner.
Linux is probably the most difficult platform to build GUI for, because of all the fragmentation, X11, Wayland, all the different flavors of GUI toolkits, driver issues, window managers issues, font issues etc.
TUI are a bit like web apps in that regard, using the terminal instead of a browser to abstract the platform.