back

by felineflock·1y ago·view on hn ↗
I appreciate the effort that went into writing the article but it conflates different concepts missing some historical context and technical distinctions.

For example, TUI (text user interface) and CLI (command-line interface) are quite different. "CLI Text Editor" sounds more like someone editing a file using ECHO commands.

This new editor is actually a reimplementation of the classic MS-DOS 5 EDIT program from 1991. At that time, VIM was still very new, so "VIM memes" weren't yet part of the tech landscape.

Before VIM, there was vi. In Usenet posts - about 15 years before Google - people used to add a pithy humorous sentence at the bottom called "tagline" - here is one: "How do you exit vi? Reboot the system."

And Notepad was not the only option for Windows devs. We've had EDIT, DR-DOS EDITOR, Brief, WordPad, EditPad, Notepad++, and more.

17 comments
> This new editor is actually a reimplementation of the classic MS-DOS 5 EDIT program from 1991

MS-DOS 5 EDIT is actually just a stub which runs QBASIC in editor mode, in which all the BASIC-related features are disabled.

Windows 95 EDIT was different, it actually had BASIC removed from the binary. I don't know if it was a rewrite or if they just deleted (or even #ifdef-ed) out the BASIC parts out of the source code.

QBASIC was basically just a cut-down build of QuickBASIC with some features disabled. The TUI part was provided by the "Character Windows" (aka "Character-Oriented Windows", CW or COW) library, a TUI-mode analog to the Windows 3.x API for DOS TUI apps, it was also used by some other Microsoft products such as Word for DOS. It would be great were Microsoft to open source it (although from what I've heard, significant chunks of this stuff have already been included in various leaks of DOS and Windows source code, but it would be nice to have it publicly available in a completely kosher way)

> QBASIC was basically just a cut-down build of QuickBASIC with some features disabled

Huh, I've wondered about the difference for the last 30+ years.

QuickBASIC, Visual BASIC for DOS and PDS (Professional Development System) all had some variation on the same design. PDS has QuickBASIC Extended.

I briefly worked with them.

The target market for this editor seems infinitesimal. Who on Windows these days groks the terminal on Windows, wants a terminal editor instead of Notepad++ or VSCode, and finds Neovim overwhelming? And certainly no one on Ubuntu is looking for this.

That said, give me QuickBasic back in the terminal on Windows, Mac, and Linux, and now you’ve got my attention…

> That said, give me QuickBasic back in the terminal on Windows, Mac, and Linux, and now you’ve got my attention…

There are already open source clones of QuickBasic which provide what you want, plus a whole lot more, such as QB64 and FreeBASIC.

While I'd love it were Microsoft to some day open source QuickBasic/QBasic/PDS/VB for DOS/etc, that would largely be of historical rather than practical benefit.

wsl2 users that needs to edit an file on linux springs to mind.
I've long quit using vim on a daily basis, but the "how to exit Vim?" jokes are still somehow funny. A recent encounter was an old tweet by @iamdeveloper: "I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it."

:wq (sorry, I had to).

Quitting vim isn't about exiting the program, which can easily be done with :!kill -9 $PPID
Quitting vim became easy once I got to know helix. I've been clean for several weeks.
Easy-peasy!
i quit vim like

ctrl-z

`ZZ` to save and quit, `ZQ` to quit without saving. Sorry, I can't help myself.
I've always used :x or :x! and no longer remember why. Probably it's a bad idea like without actually looking right now I think it might mean to ignore permissions (if you're root enough) and just write even if perms would have blocked it. Hm, maybe x means wq and just the ! means force.
I think sysadmins should install nano on servers for people to make quick edits. All the commands are along the bottom, so there is no learning curve.
or they should just make sure emacs can work with the machine thru ssh, then there is nothing to install ;)

if no ssh, then nano is not a bad option, though i would go with joe (https://joe-editor.sourceforge.io/) which can also show the shortcuts, but much much more powerful, yet it's just a single ~700kbyte exe (or 1.5MB with some optional syntax highlighting grammars and docs)

Before vim was vi. Befote vi was ex. (Before ex was ed - the first editor for unix)

Vim has ex built in - `Q` in normal mode to enter Ex mode, 3-5 command lines will show at the bottom and you can Ex away. I don't know of practical uses, I've only done it for the novelty.

Obligatory: To exit Ex mode use `:vi[sual]` - and that's probably where Vi got its name.

ed is the standard editor
i just want an editor! not a viitor! not an emacsitor! those aren't even words!
I noticed the conflation of terms too but it seems to arise out of the original Microsoft announcement!

https://devblogs.microsoft.com/commandline/edit-is-now-open-...

somethings never change...

my biggest problem with azure was also the fact that they couldn't stick to industry-standard terminology, but they has to invent their own. it made azure docs tremendously confusing.

In Usenet posts - about 15 years before Google - people used to add a pithy humorous sentence at the bottom called "tagline"

We always called them "signatures." They were even stored in a file named .sig.

The tagline was below or at the end of the signature.

They were stored separately in a list and there was software that would pick one of them randomly to add to the signature when posting.

taglines where witty one-liners posted at the end of messages, after the signature, as a way to add a bit of humor or personality.

I think we also used them in fidonet echomail, but I don't remember for sure.

The problem is that the nomenclature and conventions differed, and this many years later people tend to conflate them.

BBS networks like ILink had tearlines, optional taglines, and mandatory origin lines. FidoNet had tearlines and origin lines because it shared roots and sometimes nodes with the BBS networks; so they were there for compatibility. Usenet mainly had signatures, with all of its equivalents to the other stuff in headers.

* http://ftsc.org/docs/fts-0004.001

^H^H^H^Hsignature
TUI (text user interface)

I find it interesting that everyone is using TUI when I've always seen CUI (Character User Interface). I come from a DOS and Windows background, and it seems like TUI comes from the *nix world.

And Notepad was not the only option for Windows devs.

Dr Dobbs and other tech magazines used to have ads for a variety of editors. And linkers, which were the bane of 80s programmers' lives. There was a whole era of programmer-oriented software that seems to have been largely forgotten.

My understanding is that CUI includes both TUI and CLI, and refers to the interface of a text-mode screen (as opposed to a graphical screen — a GUI), where you can use both CLI commands and TUI programs.

So, technically, if you’re using a TUI in a graphical terminal window within a GUI, you’re strictly speaking not in a CUI, but are emulating a CUI within a GUI. And the CLIs and TUIs are running within that CUI.

> This new editor is actually a reimplementation of the classic MS-DOS 5 EDIT program from 1991.

I remember editing the AUTOEXEC.BAT in that thing as well as writing my own BAT files and QBASIC.

Does the exclamation point work in vi, like vim? So the way to exit is to do:

:!killall vi

Of course.

For a cli text editor, ed would qualify, right?

> For a cli text editor, ed would qualify, right?

It'd still say ed is more of a TUI than CLI, albeit kind of old-school since it doesn't redraw the screen, just continuously show output and let you enter commands. Maybe "REPL" comes closer, because it's not interactive in the typical TUI way.

MS-DOS had edlin, which was their own take on ed. They never made a firm commitment, however, to make edlin the standard editor.
for maximum excitement, try that killall method on a SysV unix...
Interestingly enough, the weird re-boosting to get more views thing that Hacker News sometimes does is making it seem like I said all of that 5 hours ago.

* https://news.ycombinator.com/item?id=44310682

Instead of 2 days ago when I actually wrote it. (-:

Don't forget MicroEmacs! I've been using it ever since it floated around usenet in 1985 or so.
which variant? jasspa, openbsd/macos mg, torvalds/uemacs ?

why not https://joe-editor.sourceforge.io/ starting via jmacs?

I'm curious, why don't you use GNU Emacs?
You’re missing ‘ed’ (and its predecessor ‘qed’) which is actually a CLI text editor.
The term CLI has just come to mean "in a terminal" for a certain subculture, e.g. https://github.com/agarrharr/awesome-cli-apps

People do know the technical difference, it's just a shorthand

> For example, TUI (text user interface) and CLI (command-line interface) are quite different. "CLI Text Editor" sounds more like someone editing a file using ECHO commands.

Sounds like ed, or edlin for the DOS oldies, to me.

I came here to pick the first of those nits, too. A concrete example that sums it up: sed is a command-line text editor; nano is a TUI text editor.
Btw, CLI editors can be interactive too: consider ed ("the standard text editor") and DOS' edlin.
you forgot EDLIN
'coz it's better forgotten! Who could guess it was made in two weeks in 1980? Anyone who fired it up!
I understand the categorization you want to draw, but I don't think convention and usage are going to back you up well enough to solidify it.

Sometimes people use CLI to mean something you're literally doing at the shell prompt, and sometimes people use CLI to mean anything that isn't a GUI. And the Venn diagram of those meanings has significant overlap when both of those meanings are contextually valid and the end result of the meaning is functionally identical.

If I say, "instead of Firefox I'm using lynx, a CLI web browser," it's not really so ambiguous what I mean that you're confused. You can do backflips and dodge context to arrive at being confusing, but you really have to cross into disingenuous reading to get there.

The fact that you CAN draw a difference does not actually mean that the author needs to in order to communicate effectively.

I forgot how the punchline is phrased, so apologies for the atrocious delivery, but I like the one about “I do all my coding in VIM, because I don’t know how to exit VIM”