The Origin of Emacs in 1976

Early editors, TECO, and Emacs’ origin context

  • Posters recall using TECO-based editors, VTedit/vted, SOS, XEDIT, EDT, SPEED/SED, etc., illustrating a diverse ecosystem before vi became dominant.
  • Many stress how hard TECO was to use: invisible point, paging files manually, and syntax “like line noise,” yet powerful enough to build full-screen editors and even run inline assembly.
  • TECO-based Emacs sources (e.g., dired) are cited as examples of extreme expressiveness without modern language niceties.

Email addressing and pre-Internet mail

  • Early ARPANET mail often used “user at HOST” instead of user@HOST, matching early RFCs.
  • Later RFCs mention both “at” and @, and hierarchical addresses; syntax evolved over time.
  • UUCP host!user “bang paths” and other non-Internet formats (e.g., VM/CMS style) are discussed.
  • There’s some confusion/clarification around when FTP, SMTP, and UUCP appeared and how mail initially piggybacked on FTP.

Early networking, filesystems, and terminals

  • ITS is highlighted for early, sophisticated features: user-space devices, transparent network file systems (MLDEV), process detach/reattach, and pseudo-TTY based terminal support.
  • SUPDUP is discussed as a “super” display protocol enabling efficient remote screen handling, including tricks to scroll and repaint quickly at 300 baud.
  • Historical anecdotes emphasize bandwidth limits and why line editors and minimal screen updates mattered.

Emacs variants and implementation discussions

  • Multiple Emacs lineages are mentioned: original TECO Emacs, Multics Emacs, Lisp Machine editors, Gosling Emacs on Unix, modern Common Lisp/Scheme clones, and Rust experiments (remacs, emacs-ng).
  • Some note that in Lisp-based systems there was effectively no boundary between “editor language” and “implementation language.”

Longevity, rewrites, and modern relevance

  • Several commenters remark on the remarkable durability of Unix shells, Emacs, and vi across decades and platforms.
  • There is interest in rewriting Emacs internals in more modern, multicore-friendly languages (Go/Rust), but others point to prior attempts and note that reimplementing Emacs Lisp alone is far from reproducing Emacs.
  • One thread addresses whether learning Emacs in 2024 is worthwhile: supporters emphasize extensibility and fun with Emacs Lisp; skeptics find keybindings unergonomic and might switch if performance stalls.