Hacker News new | ask | show | jobs
by Panzerschrek 43 days ago
The question is - why do we still need the terminal abstraction at all?
4 comments

The terminal is keystroke-driven. It's character-selectable. It's reliable in a way that the GUI is not. When I drop frames, I can still enter the commands to rescue myself with some assurance they'll be interpreted, eventually.

I agree, a REPL isn't Unixy in the streams of text kind of way... or is it?

Let me add more! PIPES.

It's a bit more abstract and useful than "character-selectable" when viewed at the byte-level abstraction.

The ability to chain together utilities with no complicated data structures is extremely flexible. One of my favorite current use-cases is using FFmpeg to process RTSP streams that send output (e.g. high quality stream for recording, low quality low FPS for processing, max quality low FPS for stills, etc) to separate file descriptors. FFmpeg doesn't care whats on the other end (e.g. redirect to file, read via Python, etc) due to these lovely abstractions.

Reliability translates directly to scriptability. Yes, you can create monsters, but through the use of sub-shells and pipes I think it's the fastest, cheapest, most concise way to pull off some really cool multiprocessing tricks.

> The question is - why do we still need the terminal abstraction at all?

Because nobody is willing to put in the work to create a GUI toolkit that doesn't suck ass.

It's not that people want the "terminal abstraction". What people want is "Put <thing> on screen without me needing a PhD in graphics programming." That's why the dominant desktop interface paradigms have become TUIs and a Browser-In-A-Trenchcoat.

I would argue that a proper REPL is much better.
That’s what I came here to ask. Their demo looks like Compiz back in the day: ok, cool, you have 3d effects, but… why? What does it do for me?

Compiz 3d effects were ultimately a useless gimmick and I predict this is too.

Lack of imagination doesn't mean this isn't innovation.

It's the ability to convey more information in less space.

Top-of-my-head notion: The cursor spins (or changes in another way) to reflect CPU use, or bandwidth use, instead of taking up space elsewhere on the screen.

The same was said about Compiz, but it turned out to be a passing gimmick that looked flashy but didn’t really add anything. Sure you could always make up reasons why it’s useful, I remember the same about Compiz, but… is it really? I could be proven wrong, of course, but it hasn’t been demonstrated yet.

It’s a solution in search of a problem. OP should have presented it with a real use case or benefit, not just flashy graphics, if it’s meant to be anything other than a fun oddity (which, to be fair, is perfectly fine).

It’s a solution in search of a problem.

So were iPods.