Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Expected to see TUI (Terminal UI) IDEs here (the likes of DBase/Foxbase/Foxpro/etc). Disappointed, because they were hugely used "programmer interfaces" for a long time and influenced GUIs when they came up.

Heck, a lot of retail TUIs still run on them (and some of them are in process of being changed to "web apps" bypassing desktop apps). They were yesterday's full stack (design a database, build forms, run CLI commands, write OO code, package and distribute - all in one shell).

I think the post should be titled "programming GUIs" and not "programming UIs".



I think Terminal UIs are under-valued. When well-designed, they enable a great combination of efficiency of operation and visibility of the model of the system.

`tig` is a good example of this for viewing info about a git repo, though I'd be interested in hearing others.


I love tig and use it for staging/unstaging lines/chunks.

Another tool I'd recommend (although I don't tend to use it so much now) is lnav, which makes jumping around/searching log files really straightforward http://lnav.org/


The key part is keyboard control and training. If one knows the relevant shortcuts and codes by hand working can be quite fast.

Each time one has to look at the screen to target with mouse or touch it becomes slow.

This all can be done with a GUI as well, as long as one doesn't create too many windows, where the user has to find the correct window all the time.


*> TUI (Terminal UI) IDEs here (the likes of DBase/Foxbase/Foxpro/etc).

Don't forget the classic DOS IDEs, such as QBasic or Turbo Pascal / Turbo C. The latter were based on a very nice framework named "Turbo Vision".


my first programming class (high school, 2008) used Borland Turbo Pascal. it was honestly a very pleasant user experience.


Free Pascal is one successor of Turbo Pascal which is still very fast and nice to work in. It has a TUI.

https://www.freepascal.org/

I use it for writing small command-line utilities sometimes, and it's great to work in. The EXEs created are also quite small.

It's also supposed to be quite cross-platform, supporting (maybe with some limitations) many more platforms than just Windows and Linux.


And, later, Borland C++. I still have fond memories of that blue-green screen.


Good points.

>Heck, a lot of retail TUIs still run on them

Yes, you still see them in general stores, etc. in India and I bet in other countries as well. The speed of data entry and operations of those apps by operators well-versed with using them, blows any GUI apps our of the water. Not that I dislike GUIs, they are fun to build and use, but talking here about business benefits. And of course it is not all black and white, there are other benefits of GUIs too.

Some were/are written in compiled XBASE versions like Clipper, so speed of loading and running (apart from speed of operator use) is good too.


Indeed. Visual Basic for DOS was a mind-blowig discovery for me as a retro-loving kid that was coding VB6 for Windows while playing mostly DOS games. I wish something alike (though based on a modern language like Python) existed today letting us create modern cross-platform TUI apps visually...


Wow, "create modern cross-platform TUI apps visually" - I think you're onto something here. I'm not totally convinced on the "visually" part, but I love the idea of cross-platform apps with text-based user interface.


Oohhhh rabbit hole.


Is there a conceptual difference between GUI and TUI? Same UI elements, only represented by different technical means. CLI is different, but CLI does not have to be text-only.


TUIs are pretty much driven by keyboard input. GUI's are mostly mouse oriented. That's a big difference.

I have seen people use terminal data entry applications (mostly using the NumPad part of keyboard) with such speed/accuracy, no one using a GUI/Mouse will be able to match.


GUIs normally support keyboard navigation and TUIs can often use mouse. Some application may support keyboard poorly, but that would be the problem with that particular application, or GUI toolkit it uses, rather than the general GUI/TUI distinction.


right, what did Linus Torvalds use? Emacs or Vim?


Customized version of MicroEmacs: https://en.wikipedia.org/wiki/MicroEMACS




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: