Ask HN: How do I distinguish the fourth from the third of these?

4 points by ErotemeObelus ↗ HN
There are (at least) four types of interfaces that occur in programming.

Type #1. Command line. "foo --bar --baz". You step into the program, and then step out of it.

Type #2. REPL. You step into a program, do something, then it does something back in a sequential manner. You exit it when you want to.

Type #3. Word processor. The same as Type #2 except the REPL happens in real time instead of sequentially.

Type #4. GUI.

How do I distinguish the fourth from the third of these?

5 comments

[ 1.9 ms ] story [ 20.9 ms ] thread
GUI stands for Graphical User Interface, emphasis on Graphical.

If it's in a text buffer it's a TUI, text user interface.

I mean you could get pedantic about these things, but basically if it's rendered with a graphic framework, it's a GUI, whether it's CPU, deferred or immediate, or GPU rendered.

So GUI is a REPL but with graphical components instead of text buffer. This is what I suspected, but I wanted to make sure.
Its a multiply-persistent repl. For example, clisp is a lispy repl. Scratch is a lispy gui.

Both repls and guis have text buffers. But guis are an order of magnitude separated by their presentation layer.

Actually you might be forgetting something. There is a difference in type between a text buffer and a GUI. A GUI has multiple types of "text buffers" running in parallel.
I believe "word processor" refers less to wysiwyg and more to the technologies behind Siri and whatever other real-time voice input technologies are out there. No GUI needed.

GUIs usually have things you point and click, and by definition need a screen monitor of some type. The other, you simply talk to.

The list skips autonomous sensor, but I think they are common enough to warrant inclusion. We recently saw two Boeing disasters in a row resulting from autonomous sensor failures.