TECO - Tape [later text] Editor/COrrector
A combination text editor/really horrible ProgrammingLanguage. To quote the paper "RealProgrammers don't use Pascal" (1983):
It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse-- introduce subtle and mysterious bugs in a once working subroutine.
[It should be noted that this quote is actually the biggest single mistake contained in the "Real Programmer" paper. Real Programmers never needed to "type your name in as a {TECO} command line and try to guess what it does"; Real Programmers knew EXACTLY what the effect of their name would be to the text. Only a Quiche-Eater would have to guess.]
"TECO Madness -- a moment of convenience, a lifetime of regret".
Some implementations of TECO were even more monstrous than most. I recall the version developed up at MIT for their PDP-10s (running under the IncompatibleTimeSharingSystem) had upwards of 400 commands, most of them more or less random two- to four-letter combinations. Kind of like Unix, come to think of it. :-) -- GaryBisaga
According to the JargonFile's entry for TECO (http://www.catb.org/~esr/jargon/html/T/TECO.html), "It is literally the case that every string of characters is a valid TECO program (though probably not a useful one); one common game used to be mentally working out what the TECO commands corresponding to human names did."
Monstrous it may be, but I still prefer it to vi. Incidentally, the IncompatibleTimeSharingSystem version of TECO was used by RichardStallman to implement the original EmacsEditor (Editor MACrosS), and Gosper implemented the GameOfLife in it. -- DonaldFisk
''Initially, if I remember correctly, EMACS was Eugene Ciccarelli's init file which made use of MIT TECO's ^R mode ("Realtime") that repainted the screen. RMS started hacking on it around '76 I think and it kind of, um, grew."
To see what the syntax for TECO is like, look at http://www.avanthar.com/healyzh/teco/TecoPocketGuide.html . Then weep.
TECO is/was an extraordinarily ugly macro language, but also very powerful. I once wrote an animation in ASCII graphics of a stick figure man juggling three balls, in TECO. As much as I like vi (well, vi clones), I wouldn't know how to begin to do such a thing in e.g. vim. It's obvious that it could be done in modern EMACS, but no one would want to. Which doesn't seem to stop them. ;)
TECO was written by Dan Murphy (http://www.opost.com/dlm/ ) and modern versions/ports of it are available at: Tom Almy's pages: http://almy.us/teco.html
Paul Cantrell has released a particularly interactive version of TECO called Video TECO. http://videoteco.sourceforge.net/ has source available via CVS. A manual for this version is at http://www.copters.com/teco.html .
Once we had those glass teletypes running at really fast speeds - 1200 and even 2400 baud! - somebody did write a set of visual TECO macros to allow screen editing. A quick glance suggests that Cantrell's work seems to be more oriented to allowing TECO syntax while doing screen display.