Remix.run Logo
harrisi 21 hours ago

Maybe I'm taking crazy pills, but I swore there have been very similar comments I've seen as the current top post by weakfish:

> Maybe I’m taking crazy pills, but I’m still stuck on “why the hell does a TUI need to run in terminal React by way of JavaScript”

> The fact that Anthropic felt the need to buy a runtime so they could make their TUI better speaks more to the quality of engineering than anything else IMO.

> If rewrites are so easy, why not rewrite CC in a native language? Would’ve been a hell of a lot cheaper.

It turns out, there's some similar sentiments in the last year ish:

https://news.ycombinator.com/item?id=47043325

https://news.ycombinator.com/item?id=47105720

https://news.ycombinator.com/item?id=48001113

https://news.ycombinator.com/item?id=46134570

https://news.ycombinator.com/item?id=46124596

I'm not a fan of any of the technologies, companies, or people related to this. I just couldn't shake the feeling that I've seen similar comments.

September and all.

vdfs 19 hours ago | parent | next [-]

Maybe because the 1st thing any experienced technical person would think about? It's like rebuilding and optimizing the racing track to make F1 run faster.

harrisi 19 hours ago | parent | next [-]

Perhaps. The thing I was trying to highlight more is comments (particularly disapproving ones) about the intersection of JavaScript (especially React, apparently), TUIs, and LLMs.

I just thought it was interesting. I'm a fan of TUIs, both positive and negative about JavaScript (the modern language is quite nice, given you avoid the historical warts, in my opinion - the ecosystem is unfortunate), and I think the best description for how I feel about LLMs is that I'm bearish. Also Simon is a fantastically prolific and intelligent person though, even though LLMs are not my cup of tea.

https://news.ycombinator.com/item?id=48960912 is a recent comment by someone I also respect related to how LLMs recreate human-like content (Widgets, really), making actual human-created content feel fake.

Sometimes it sure does feel like ELIZA is the main news source these days.

scrollaway 17 hours ago | parent | prev [-]

I have ~24 years of experience coding and the LAST thing I think about when opening claude code is "why is this written in react".

Tell you what I sometimes think about though: The fact it has clickable links and complex formatting rules for markdown, the most interactive and highest-quality clickable interface I've ever seen in a terminal, and somehow manages to work. That actually blows my mind.

THEN, I'm reminded that it's written in React, and I think "Huh, guess that does make it a ton easier than using ncurses or something."

And done.

shimman 17 hours ago | parent | next [-]

Okay and as someone who would rather just straight up use cursor than claude code, I'd rather have my software not crash out on me every 5 minutes. What sort of self respecting dev purposely uses broken software? Even opencode (use it on nonwork computers) is fully better at this point.

scrollaway 17 hours ago | parent [-]

Disingenuous, much? I've only ever had claude code crash once (after it decided to spawn like 12 subagents and got my laptop swapping like mad).

If you're crashing every 5 minutes, either you have a cursed build, or you need to do a memtest.

shimman 4 hours ago | parent [-]

It's not disingenuous, claude code has over 5k issues that are ignore plus thousands of more that were just silent closed.

This is a product by a company worth supposedly $1trillion and they can't even make one of their starship products not shit the bad within 5 minutes? These are the same engineers telling us for the last 3 years that coding is solved?

Like it's pathetic, and it's pathetic you're falling for it too. Have some standards, good grief.

scrollaway 2 hours ago | parent [-]

I have standards.

I have a literal Star Trek conception on my literal Star Trek device. Impossible to even think about how inconceivable this stuff was years ago.

And you’re complaining because they use react.

The epitome of entitlement, first world problems and privilege all together.

slopinthebag 17 hours ago | parent | prev [-]

You’ve been writing code for 24 years and you don’t know that clickable links are a terminal emulator feature and not a Claude Code feature? Or that “markdown formatting” is just ansi escape codes, and possible with things other than React that don’t bring so many downsides?

perching_aix 7 hours ago | parent | next [-]

Correctly emitting the right escape codes at the right positions is arguably very much a Claude Code "feature", as it is on CC to do so.

scrollaway 17 hours ago | parent | prev [-]

Claude Code is able to hyperlink any kind of text, not just the native terminal emulator feature of hyperlinking anything starting with https://...

And your "it's just ANSI escape codes" is the weirdest take on any kind of software.

slopinthebag 17 hours ago | parent [-]

Formatted hyperlinks are an escape code too. It has nothing to do with React.

Not sure why you’re trying to bring up experience as a justification for using React to render a tui and all the downsides that come with that.

scrollaway 17 hours ago | parent [-]

It sounds like you completely missed the point I was making: that actually implementing such a highly dynamic TUI application normally requires a significant amount of state tracking and it is significantly easier to write such apps using a functional, descriptive UI framework instead of something like ncurses.

Take it from someone who, in those 24 years, has written UIs in jquery, react and ncurses (and yeah I've tried out Ink and it's great).

"all the downsides that come with that" yeah well, while you're stuck implementing your app in the Best Possible Library, millions of people are happy using claude code and it's crazy useful.

lionkor 10 hours ago | parent | next [-]

There are fantastic TUI frameworks for Rust, like Ratatui[0] (there are a lot more options, this is an example). You can write beautiful TUIs in native languages, without ncurses or C or C++.

Go has such frameworks, same with C# (which you can AOT compile) and so on. You're not stuck between javascript and C.

[0]: https://ratatui.rs/

scrollaway 7 hours ago | parent [-]

Yes I also used Bubbletea. I don’t know about ratatui but honestly I think the hate for react is very blind. It’s not like CC is shipping an embedded web browser. It’s a framework on top of an embedded language that has seen a crazy amount of optimisation.

slopinthebag 16 hours ago | parent | prev [-]

CC is not even that complex of a TUI. It’s certainly not as complex as many of the GUI programs I use daily. And yet it’s by far the buggiest and worst performing. I don’t understand the desire to make excuses for this. The reason people use it is because it’s the only way they can afford to use Opus and Fable. If Anthropic let people use their subs with other harnesses their market share would plummet.

If they could migrate an entire runtime to Rust why can’t they migrate CC? It’s not as if React is the only way to do declarative UI.

harrisi 21 hours ago | parent | prev | next [-]

I don't want to edit this to change the narrative, but I wanted to clarify that I'm not not a fan of all of the technologies or people related to this. As far as compan{y,ies} go, though, well..

lionkor 10 hours ago | parent | prev | next [-]

It's because rewrites are almost always a bad decision. Best case, it's a naive decision made by people who don't know better, worst case it kills the product (who here uses netscape?).

So, from the start, people will be skeptical of a "we rewrote xyz in Rust" because it rarely works out. But there's a lot more to this, in fact it's a little bit loaded with "tech bro" ideas:

- Rewriting in Rust

- Rewriting using AI

- Making terminal apps in JS

- Zig (a lot of people's dear language) is involved somehow

This attracts every single skeptical developer. The only thing missing is maybe blockchain, if that was still cool. It just hits all the "what? why?" spots.

I was already writing a comment, when I realized that what I wanted to write had already been said by the top comment. I suppose that's why comments read so similarly.

dundarious 19 hours ago | parent | prev [-]

What's the implication or inference based upon this? So you're seeing comments sharing a general attitude. And?

As it is now, your post is meaningless to me.