An Alternative Text Editor Paradigm
For those of you among us who dabble in the magic known as programming, and who also declare the need for a sharper sword to cleave asunder the bugs and a swifter pen to write the rivers and valleys for your data to flow, may I behold to you a more esoteric combination of tools than even those offered by the Church of Emacs and the Cult of Vi: ed and less.
Any text editor you see is in reality two distinct items in one: a text editor and a text displayer. The former is usually known as an editor and the latter a pager. One part of the program facilitates the manipulation of the text and the other lets you peer into the stream you have changed. ed is a text editor. less is a pager.
For those unaware of the two aforementioned programs, a short summary: ed is the standard UNIX text editor, a line-orientated editor at that, and less is more than more but still less than most.
Splitting up the functions of the current conception of a text editor could be thought to be 'UNIX-like'. That is, modularity and common interfaces allow for highly reusable and an easily constructable toolset. Have an ed process running to edit your text, and a less process running to view the text. Launching less with the '-N' flag shows the line numbers. Pressing the 'R' key in less will reload the page to see changes ed has written.
Back when ed was first written (in a week mind you), program listings were printed out for reference and to allow free-hand scribbles and corrections to be placed, without the confines of a text stream interface. Edits could then be made in ed without having to see the whole screen at the same time, because the 'screen' was in fact a piece of paper that the teletype was printing too. Using less allows for a digital recreation of at least the viewing of the printed listings, and viewing the file after every change is the equivalent of printing out the updated listing. Unfortunately this digital facsimile does not allow for the aforementioned free-hand additions, so there does at least persist a reason to continue interacting with systems outside of the computer, if only to transfer your thoughts in a less quantised manner.
Some minds may find undesirable the lack of syntax highlighting in less, or the terseness of ed's error messages. I do not. Rainbow colours I find distracting. It is usually quite clear what could have gone wrong in your last command to ed.
I am wondering if this method perhaps encourages slower methods and deeper thinking when approaching the architectural task of writing a program. I do not think it is slow enough to outsource the architectural work to a separate design phase, and iteration whilst writing should still be possible. I just wish it to be more deliberate and thoughtful.
I use less instead of more because more does not allow for line numbers, which I find to be useful for quickly moving around in ed without many guesses. most has more features than I need.
Written in ed and viewed with less.