Ah, Borland’s IDE! An absolute delight. I’ve yet to find anything modern that matches it. Sure, nostalgia turns everything syrupy, but I actively hunt for excuses to use Free Pascal just to fire up that interface. Okay, fine—I like Pascal too. You caught me.
I also use Sam and Acme from Plan 9 (technically from the excellent plan9port), but let’s be honest: those aren’t IDEs. They’re editors. Tools that let me think instead of wrestle.
There’s a lot we could (and probably should) learn from the old TUIs. For example, it’s perfectly acceptable, even heroic, to spawn a shell from the File menu and run something before returning. Seems people are afraid of losing style points with such grievous actions.
And the keybindings! So many of those classic TUIs adopted WordStar’s sacred keystrokes. They’re burned into my muscle memory so thoroughly that using EMACS feels like trying to type with oven mitts. For years, joe (with the blessed jstar alias) was my editor of choice.
Anyway! Time to boot the Dr. DOS VM, spin the wheel of Advent of Code, and be nostalgically inefficient on purpose.
One thing about the "professional" DOS software (and you can see it in things like Emacs - eight modes and constantly shifting) was you were basically expected to live in it - it had the full attention of the computer and the user.
You were also expected to learn it; which meant you became "one with the machine" in a way similar to an organ player.
I remember watching Fry's Electronics employees fly through their TUI, so fast that they'd walk away while it was still loading screens, and eventually a printout would come out for the cage.
About twenty years ago I did a consulting gig for a government agency that wanted to create a web interface for their CSRs to replace the green screens they had been using. The long time employees hated it because they had deep muscle memory for most tasks on the green screens and could get far ahead of the screen refresh. With the web UI, not only could they not type ahead, but many of the workflows now required use of the mouse.
The agency was happy to have something new and modern but more important to them was that new employees could be trained on the system far faster. Even though there were a small number of long term employees, they had high turnover with the frontline CSRs, which made training a major issue for them.
Agreed. I do a lot my writing in Typora which, in addition to a full-screen mode, also has other "Focus" style features which get rid of distracting UI/UX elements, etc. so you can concentrate on the task at hand.
Even normal windows applications used to be like this (outside of crashing). I could alt-tab, type stuff and click where I know a button would show before I even saw the application window. It never missed a key stroke or type into the wrong window. Nowadays you load a webpage and start typing, and half you text appears and then the other half just never shows up.
Paying at Best Buy was torture - watching the cashier move their mouse around (on the slanted mousing surface they were given so they couldn't just let go) and click the buttons, going through 3 or 4 screens and waiting for them to load vs. using the keyboard. They would have been done with me and on to the next customer in half the time.
They are control key sequences that are arranged so that a typist need never remover their fingers from the keyboard. The control key was to the left of the A so easily pressed with you left little finger.
You had full control of the cursor without the need for dedicated arrow keys or page up and down keys. It worked on a normal terminal keyboard. I first used it on an Apple ][ with a Z80 add-on that ran CP/M.
That's true-ish. But the thing about Wordstar is that it is a word processor not a text editor. Other word processors don't make this so easy. Also the standard keybindings for cursor control in Emacs are much less ergonomic.
^ = control
In Wordstar: ^S/^D moves left/right; ^E/^X moves up/down; ^A/^F word left/right; ^R/^C moves page Up/Down
Notice that all of those use only the left hand. In Wordstar almost everything to do with cursor control uses only the left hand.
Emacs is mnemonic ^b for left (back), ^f for right (forward), ^n for next line, ^p for previous line, etc. You need both hands and the keys are all over the keyboard.
This useful, but it also seems like a very comparable feature set to editors like Emacs and Vim. So I'd still love to hear from someone who has the background to do a direct comparison, especially if they prefer WordStar.
Vim was never a steep learning curve for me; more of a gentle slope. But then again, I cut my teeth on ed, and when I met sed, it felt like a revelation. On DOS, I even used edlin, a kind of ed junior with training wheels and a sadistic sense of "functional."
You have to understand: my first DOS machine was a Tandy 1000, acquired before I had a driver’s license. It was upgraded over the years and not retired until the grunge was well underway and I had already been married and divorced.
MS-DOS’s edit had WordStar keybindings; Ctrl-S to move back, Ctrl-E to move up, and so on. My dad "brought" home a copy of WordStar from work, and oh, the things that trio, WordStar, me, and a dot matrix printer conspired to create.
Borland carried those keybindings into Turbo Pascal, which I learned in college, having finally escaped the Fortran 77 gulag that was my high school’s TRS-80 Model III/IV lab. The investment into the Apple II lab didn't happen until AFTER they gave me my exit papers at a spring awards ceremony.
Why do I still prefer these tools?
Because they’re what I know. They don’t get in my way. We have history, a better and longer history that I have with my first wife. Those keybinds helped me write my first sorting algorithms, my first papers on circuit design, and the cover letters that got me my first jobs. They’re not just efficient. They’re familiar. They’re home.
Thanks for sharing! (And to be clear, that's totally a great reason!) I wasn't familiar with these bindings and was curious to hear more about them, both the history and the subjective preference for them are both interesting to me.
> So I'd still love to hear from someone who has the background to do a direct comparison
Can do.
> especially if they prefer WordStar.
I don't. I dislike both WS and Vi.
Vi (and its variants, I am covering all of them here) is a Unix tool. In the 1980s, Unix was big and expensive, and usually ran on boxes so expensive they had to be shared. So, mainly found in academia and research.
WordStar is a CP/M tool which became for a while took that dominance to DOS.
It ran on affordable standalone microcomputers you owned and didn't have to share with anyone else.
What they share is that they are designed for keyboards before things like cursor keys, Insert/Overtype, PageUp/PageDown, Home/End were added. They do not assume theys; they expect just letters, a few shift/meta/ctrl type keys, and nothing else.
So, they redefine all these functions with letters and letter combinations.
So, cryptic, idiosyncratic, hard to learn, but once you learned, fast and powerful. Touch-typists loved them, because your fingers stayed on the home row and you never needed to reach off the alpha-block and into the extra keys. (The ones that are a different colour on the classic IBM Model F and Model M keyboard.)
Vi is the Unix flavour of touch-typist's UI, for those from universities and research and maybe big rich corporations.
WordStar is the DOS flavour of touch-typist's UI, for those who bought or built their own computers and installed and ran their own software on inexpensive machines.
In its time, WS keys were everywhere in DOS. The cracks started showing when WordPerfect took the DOS wordprocessing crown, with its even weirder function-key driven UI, which really favoured the Model F layout (f-keys down the side) and contained built-in copy protection in the form of colourful keyboard templates.
Then IBM CUA came along and mostly swept that away. I was there and using DOS then and I much prefer CUA.
Same functional role, but different commercial markets.
I've used all three and I think it's just a matter of what you're used to. I mostly use vi but have no problem switching to the other two schemes when needed. But maybe that's just me not having strong preferences. I know some people who have trouble switching from Chrome to Firefox and those are practically identical.
There's a lot from Plan 9 I love, but I couldn't find Acme's mouse-dependent UI acceptable in the least. I can't deal with any UI that requires precise aim when I have to use it hour after hour, and I'd hate to imagine using it if I had an actual disability.
Most days, you’ll find me in sam, regexing my way to bliss like some monastic scribe with a terminal fetish. When I feel the urge to let AI stroke my curiosity or scaffold a long template like magic, I cut, paste, and drop it into a local or remote model like a well-trained familiar.
But I’ve also written larger applications and, frankly, a ridiculous amount of documentation in Acme. That 9P protocol was my backstage pass: every window, every label, was accessible and programmable. I could, for example, hook into a save event and automatically format, lint, and compile ten or fifteen years before most IDEs figured out how to fake that kind of integration.
Sure, the system demands precision. It doesn't coddle. But for me, that was the feature, not the bug. The rigor sharpened my thinking. It taught me to be exact or be silent, forcing me to pause when I usually would not.
Did you really use vi on DOS in 1991? I don’t remember Elvis being easy to find back then, and I don’t think it was a TSR either, so the compiler couldn’t be spawned in the background like it was with the Borland IDEs.
Almost every C bedroom programmer I knew had a cracked copy of Turbo C / Turbo C++ because they were so modern and convenient. DJGPP was a nightmare in comparison, it filled up the small HDDs of the time, created large executables, and the process of opening edit.com, leaving the editor, running gcc, and then going back to edit.com was tedious.
The few brave souls using DJGPP would usually end up running Slackware from around 1993. This was a step up from bolting an awkward POSIX runtime onto a monotasking system, as DJGPP did on DOS.
DJGPP was a stellar idea, basically the WSL / MinGW of the days, but the limitations of DOS prevented it to shine compared to the Borland IDEs.
I also use Sam and Acme from Plan 9 (technically from the excellent plan9port), but let’s be honest: those aren’t IDEs. They’re editors. Tools that let me think instead of wrestle.
There’s a lot we could (and probably should) learn from the old TUIs. For example, it’s perfectly acceptable, even heroic, to spawn a shell from the File menu and run something before returning. Seems people are afraid of losing style points with such grievous actions.
And the keybindings! So many of those classic TUIs adopted WordStar’s sacred keystrokes. They’re burned into my muscle memory so thoroughly that using EMACS feels like trying to type with oven mitts. For years, joe (with the blessed jstar alias) was my editor of choice.
Anyway! Time to boot the Dr. DOS VM, spin the wheel of Advent of Code, and be nostalgically inefficient on purpose.