11 ms·
I really like this trend of "making the terminal great again". Between rich/textual in python and lipgloss/bubble tea for golang, this turns cmd from "the defau
by BiteCode_dev 4y ago
I really like this trend of "making the terminal great again". Between rich/textual in python and lipgloss/bubble tea for golang, this turns cmd from "the default ugly stuff that is easy to produce" into "something fun and pretty".
Also note that those projects have the (not anymore) secret goal to also produce a web app from the same code base automatically.
I imagine native will follow, or wasm, or something. Nevertheless, having the terminal as the smallest denominator for UI makes a lot of sense for small utilities. You won't build the next Figma with it but a lot of scripts could benefit from that.
- pjmlp 4y agoI really don't, I started my coding life on 8 bit computers, went through all MS-DOS versions starting with MS-DOS 3.3, and on the UNIX side with Xenix, all the time wishing stuff like the Amiga, Atari ST and Acorn would be the standard way of computing. Turbo Vision was the best TUI framework, with a compiled language, in 1990, 32 years ago! I really don't get this terminal nostalagia.
- athrun 4y agoI personally think it's because in many ways we're not building native, snappy, keyboard-driven desktop apps any longer. Everything is moving to the web or web-like. Most of the apps I use at work are web-based and mouse-heavy. The overall slowness and latency of the UI is killing me. TUI apps represent a weird niche. People building them are _usually_ into providing a UX that is fast, productive, offline-first and composable (ie: lends itself to automation). It's a breath of fresh air.
- nimrody 4y agoI agree. It's easier to build TUI apps (and more portable usually) then fully native GUI applications. Another point for TUI apps is that they are usually keyboard focused unlike GUI and webapps which require using the mouse (and are therefore less efficient)
- shreyshnaccount 4y agoimagine cross platform apps that work just as well on phones, and built using this type of almost scripting like code. (check out pywebio too)
- ludston 4y agoLike a Web browser?
- coconuthacker42 4y agoyes, minus the Javascript.
- zokier 4y agoI feel the opposite, these kinds of projects imho are just moving terminals away from their key benefits, being simple, predictable, brutally functional with no gratuitous animations or flourishes, allowing no-hassle adaptation to any colortheme and font. Indeed, if all the features of modern graphical/web applications are dragged into terminals, then what is the point of using terminal anymore instead of native graphics/web? Furthermore the CLI proponent in me is saddened seeing this being largely another step away from CLI tools, although strictly speaking its true that the technology doesn't really define the interaction model.
- leejoramo 4y agoAs someone who started out using pre-PC micro-computers (TRS-80, Apple ][, CP/M), I often would like to have access to a good suite of what we now call TUI programs. Having a common TUI would be a bonus, which briefly existed back in Borland’s heyday.
- suction 4y agoI agree. I immediately associate this with "show-off computing", which would probably look good on brain-dead TV shows about l33t haXors or "Anonymous" documentaries..but what's the point of slowing down your terminal even if it's just by 0.000001 seconds per keystroke only to look at Emojis? Will get old very fast.
- happymellon 4y agoAren't these all just the next evolution of ncurses? That's not exactly new, and has been around long enough that I dont think these other project are moving the cli any further away.
- agumonkey 4y agoMost tui these days are not that functional. Compared to some as400 days apps or some old repls. Maybe recent projects are too frivolous but it's cool to see energy flowing there. More appealing than the heavy web imo.
- clemens3 4y agoYes, and some are even intended only for the X terminal, not the real TTY. What is missing is a nice library for high level languages, as ncurses is famous and all that, but who, unless they are coding in C, can interface with it and even understand the documentation.
- mastry 4y agoAgreed. I cut my programming teeth on the Dr. Dobbs/Al Stevens "D-flat" series which was a text-based windowing system in C. Some of the most fun I've ever had programming. The hardest part was waiting for the next issue to be published!
- ghaerr 4y agoFunnily enough, I just happened to have ported D-Flat to macOS and Linux in the last couple of weeks. Check it out (w/screenshots): https://github.com/ghaerr/dflat https://github.com/ghaerr/dflat. It uses a small TUI library that maps multi-byte ANSI/xterm arrow key and mouse wheel inputs into unicode private-use codes for internal processing by D-Flat. It also remaps all of the IBM PC code page 437 characters for unicode output, and converts the entire "PC-compatible" screen image including attributes into ANSI terminal output, thanks to some nice code from the Cosmopolitan Project.
- pjmlp 4y agoHe eventually ported them into Turbo Pascal as well, that is when I bumped into the series.
- password4321 4y agoI've tried to find the most recent version of that library, even emailing the author, but he's long since moved on and I could only find bits and pieces. Maybe https://archive.org/details/dflat https://archive.org/details/dflat is best now?
- mr_tristan 4y agoThe general workflow I'm finding useful is to generate a ton of simple logs, ingest all those logs into a SQLite database (that acts like a "data lake"), and then use the customized REPL to generate some charts (typically .png files), CSV, or ascii reports. I could see using a REPL to generate a TUI, e.g., "run a query and generate your own `top`". This seems like it could be a lot easier than trying to generate a PDF, interactive Excel, or complex HTML report (which usually means a bunch of javaScript). There's something about text interfaces that just fundamentally "flows" from most programming environments.