Remix.run Logo
constantcrying 17 hours ago

What? "Slower" how? And why would dev experience not matter more?

TUIs are bizarre legacy technology, which are full of dirty hacks to somewhat emulate features every other desktop has. Why would any developer use them, when superior alternatives, not based on this legacy technology, exist and freely available?

jagged-chisel 16 hours ago | parent [-]

Lots of opinions in the thread without any substance to back it up. If you don’t like TUIs and terminals, that’s ok. But if you actually want to argue against them, let’s hear a substantive argument. What specifically is so bad about the TUI?

constantcrying 14 hours ago | parent [-]

They are built on ancient technology and need an enormous array of hacks to emulate basic features, which are trivial to do in any modern GUI.

User experience is inconsistent with features varying wildly between terminals, creating a frustrating user experience. It is also making customization difficult. E.g. in a TUI IDE you can not have font settings. Short cuts are also terminal dependent, an IDE can only use those shortcuts the terminal isn't using itself.

Something as basic as color is extremely hard to do right on a terminal. Where in a normal GUI you can give any element a simple RGB color, you can not replicate that across TUIs. The same goes for text styling, the terminal decides what an italic font it wants to use and the IDE can not modify this.

They are also very limited in graphical ability. Many features users expect in a GUI can not be replicated or can only be replicated poorly. E.g. modern data science IDEs feature inline graphics, such as plots. This is (almost) not replicable on a Terminal. If you are using profiler you might want to plot, preferably with live data. Why arbitrarily limit what an IDE can do to some character grid?

The terminal is just a very poor graphical abstraction. It arbitrarily limits what an IDE can do. Can you tell me why anybody would seriously try to use a terminal as an IDE? Terminals UIs are more complex, because they need to handle the bizarre underlying terminal, they are often less responsive, since they rely on the terminal to be responsive. There might be some very marginal improvement in resource usage, do you think that is even relevant compared to the much increased dev experience of a normal GUI?

There absolutely is no real advantage of TUIs. And generally I have found people obsessing over them to be mostly less tech literate and wanting to "show off" how cool their computer skills are. All serious developers I have ever known used graphical dev tools.

nec4b 11 hours ago | parent [-]

As someone already mentioned before, I don't think you are talking about the same terminal as others are.

>> need an enormous array of hacks to emulate basic features

What are those hacks. As far as I can remember, TUIs ran faster on ancient hardware then anything else on today's modern computers.

constantcrying 11 hours ago | parent [-]

>As someone already mentioned before, I don't think you are talking about the same terminal as others are.

People know perfectly well that I am talking about the way in which a terminal emulator can be used to display 2D graphics. By utilizing specific escape sequences to draw arbitrary glyphs on the terminal grid.

>What are those hacks.

Everything is a hack. TUIs work by sending escape sequences, which the terminal emulator then interprets in some way and if everything goes right you get 2D glyph based graphics. Literally everything is a hack to turn something which functions like a character printer into arbitrary 2D glyphs. Actually look at how bad this whole thing is. Look at the ANSI escape sequence you need to make any of this work, does that look like a sane graphics API to you? Obviously not.

>As far as I can remember, TUIs ran faster on ancient hardware then anything else on today's modern computers.

This is just delusional. Modern 2D graphics are extremely capable and deliver better performance in every metric.

nec4b 11 hours ago | parent [-]

There are no escape sequences when running TUI apps in DOS. They have direct memory access to the video card.

>> This is just delusional.

That is a bit uncalled for.

constantcrying 10 hours ago | parent [-]

Did you just not read the rest of my post?

We are not talking about DOS, we are talking about "modern" TUIs you would use on a modern Linux/Windows/MacOS system.

I even made that explicit in my first paragraph.

gldrk 5 hours ago | parent | next [-]

Windows NT has a native console API that every non-Cygwin program used until a few years ago, when Microsoft finally implemented terminal emulation. See, for example, https://github.com/vim/vim/blob/e7c765fe5997daa845222351e114.... It’s just that there is little interest in TUIs from Windows users.

nec4b 7 hours ago | parent | prev [-]

I don't think others are talking about what you are angry about. I said that with the first reply and I'm not the only one saying it. Nobody is trying to take Zed or Neovim away from you.

By the way one of the most frequent modern TUI apps that I use is Midnight Commander. It's a very nice app, which I use mostly when I SSH into a remote machine to manage it. Is there a 2D accelerated GUI that can help me do the same?