Hacker News new | past | comments | ask | show | jobs | submit login
EMACS: The Extensible, Customizable Display Editor (1981) (gnu.org)
144 points by arthurnn on Aug 1, 2014 | hide | past | favorite | 57 comments



I actually found an earlier version of this paper in my teachers room (published 1979). It's AI Memo 519 (the linked paper is 591A) and I can't find a reference to this anywhere. I even emailed Stallman and he couldn't remember when it was first published (he thought that it was published in 1981 first to).

I uploaded it to archive.org: https://archive.org/details/MITAIMemo519 My teacher suspects he got it from a guy that used to work at MIT at the time (can't remember the name). I have not been able to find it anywhere else, even the AI memo archive doesn't have it (http://publications.csail.mit.edu/ai/browse/0500browse.shtml). Anyone able to shed some light?


ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf


Yes that is 519A which is not the same as the one I found called just 519. 519A was published 1981, 519 seemingly in 1979.


There are a few papers circa 1980 that cite an AI Lab memo with this title and give a date of 1979 [1], so there must indeed have been a version circulated earlier than the 1981 "A" version. Have you tried contacting the CSAIL archivist to see if they'd be interested in putting up a non-A version of 519?

[1] http://dl.acm.org/citation.cfm?id=802784, http://dl.acm.org/citation.cfm?id=990280


Yes I emailed them when I found it but got no response. I will email them again and see if they are interested.



Yes that is the document I uploaded to IA, linked to it in my first comment.


Whoa, funny. I read half of this conversation last night, and the second half today, and mistakenly thought you were still looking for that document having forgotten what I read last night. I will leave my embarrassingly ridiculous comment above for posterity.


Surprised you got a reply via email. I thought he prefers snail mail.


Richard Stallman uses Emacs to read and send email: http://richard.stallman.usesthis.com/

It's possible you're mixing up with Donald Knuth: http://www-cs-faculty.stanford.edu/~uno/email.html


    [[[ To any NSA and FBI agents reading my email: please consider    ]]]
    [[[ whether defending the US Constitution against all enemies,     ]]]
    [[[ foreign or domestic, requires you to follow Snowden's example. ]]]


Are you thinking of Donald Knuth? rms replies to email.


This is nice to see a relatively brief introduction to the essential features.

Steve Yegge wrote: "Go look over Paul Nordstrom's shoulder while he works sometime, if you don't believe me. It's a real eye-opener for someone who's used Visual Blub .NET-like IDEs their whole career."

Does anyone know of any public video of Mr. Nordstrom using emacs, or can someone who knows him request one? [edit: properly attribute the quote]


This identical question on SO has some links, but not the one you are looking for, it seems: http://stackoverflow.com/questions/140336/where-can-i-find-a...


Well, Emacs Rocks: http://emacsrocks.com/


Not only that, but also: Emacs Loves You. https://www.youtube.com/watch?v=D1sXuHnf_lo


I found this amusing, towards the end:

  Bravo comes from the Xerox Palo Alto Research Center. Its orientation 
  is toward text formatting, and it can display multiple fonts, underlining, 
  etc. It makes heavy use of a graphical pointing device, the `mouse' 
  (see Augment). It is not programmable and offers no special help for 
  editing programs as opposed to text. For more information, see your
  local industrial espionage agent.


Some trivia: Bravo, the first WYSIWYG word processor, was developed by Butler Lampson and Charles Simonyi at PARC. Simonyi left PARC in 1981 to join Microsoft and led the Word and Excel projects.


The original IDE, and originally outlawed for 'regular' users because it dragged the the DEC KL10 to its knees in I/O traffic if more than 20 or 30 terminals ran it at the same time.

It is an interesting environment but for what ever reason I ended up back in VIM (at school it was Emacs or FINE, at home 'MicroEMACS' and at Sun it was 'vi') Now vim is my go to editor but I'm not as fast as some folks who have melded well with either EMACS or VIM.


Heh, you were lucky. When I were a lad, vi was reserved for the Honours students and post-grads.

Us undergrads had to use `ed`.


Ed! You was lucky to 'ave ed! In my day all we 'ad was a magnetized needle and a very steady hand!


I want to point out this quote:

"The traditional attitude towards Lisp holds that it is useful only for esoteric amusements and Artificial Intelligence. The appearance of Multics EMACS as a Honeywell product is the death knell of this view."

I agree!


Stallman did not mention Guy L Steele jr. and Dave Moon.

Not so nice...

http://www.jwz.org/doc/emacs-timeline.html

Dan Weinreb described it this way:

'(TECO-based) Emacs was created and designed by Guy L. Steele Jr. and David Moon. After they had it working, and it had become established as the standard text editor at the AI lab, Stallman took over its maintenance.'


Hmm, this other 1979-era history of Emacs also doesn't mention Steele, though it does mention Weinreb and Moon, whom the author seems to have worked with closely: http://www.multicians.org/mepap.html.



That's a wonderfully interesting article.

Steele was one of the authors of the TMACS package, for which this article has “???” in the references.

Incidentally, the article mentions Multics' version of QED in passing; this regular-expression-based editor was written by Ken Thompson¹ and is a (more complicated) ancestor of ed(1), the standard text editor on Unix.

¹ http://cm.bell-labs.com/cm/cs/who/dmr/qed.html


All these years later and XEmacs is still trying to steamroll RMS. Can you just stop?


I heard this history from an eyewitness in, oh, about 1981 plus or minus a year, long before RMS forked Gosling Emacs for his GNU Emacs.

None of the three other listed AI Lab names ever had anything to do with these C/UNIX(TM) versions of EMACS.


Am I reading this right? You used to... not be able to see your code verbatim as you were editing it? My god, that sounds horrible.


You are reading that right. If it makes it seem any more sane, that's because many text editors of the time weren't written for screens ("displays"), but for teletypes, where you couldn't possibly see your code verbatim as you were editing it.

https://en.wikipedia.org/wiki/File:ASR-33_at_CHM.agr.jpg

For example, the standard editor on early Unix was 'ed'. It is available on most modern *nix systems, if you care to try it :). Bill Joy later modified ed to be a display editor, or 'vi'sual editor; so if you have you have used Vi, it shouldn't be too unfamiliar.


vi evolved from ex (not ed), didn't it?


Well, ex is 'ex'tended ed, and vi and ex are the same program.

From 1976-1979, the way to open vi was to execute 'ex', and run the 'vi[sual]' command in ex. In 1979, ex learned to launch the 'vi' command automatically if argv[0] is "vi", and a symlink from 'bin/vi' to 'bin/ex' was added.


Someday, I hope someone will say "Am I reading this right? You used to not be able to see your code execute as you were editing it? My god, that sounds horrible."

There is a lot of technology advancement (in software and hardware) that we just take for granted today, and will tomorrow!


The story (in "software superheroes", thoroughly good read) is that the British computer scientist George Coulourais, was visiting Bell Labs and met with Ken Thompson. Ken was editing some of the unix code base using a 'ed'- with no reference printout, no display, just typing from memory. George was simply astounded and so christened his own editor (which used raw input to allow line by line editing) 'em' or Editor for Mortals

Subsequently he gave the code to Bill Joy who turned it into ex and then vi and at some point even Ken Thompson probably used it.

"Our" history (as coders) is short and surprisingly oral, but still has gods in it and messengers from the gods bringing down the fruits of their wisdom.


Yes. You can still write programs in this mode with the ed Unix utility.

http://en.wikipedia.org/wiki/Line_editor


I can remember doing a lot of line editing in MS-DOS 3.x with EDLIN. The screen editor EDIT didn't show up until MS-DOS 5.0.


Have you ever used a 300bps modem to connect to the internet? If you did then you would see how avoiding rendering could make you much much more productive.


I had Emacs running "okay-ish" on my 300 baud modem. I wrote a terminal emulator that implemented character and line insert and delete, and region scroll, which made Emacs screen refresh (borderline) tolerable.

Let's just say that it WAS tolerable considering that my alternative was to use punchcards. (Imagine long lines for punchcard machines in the basement of the CS building, which smelled of too many students and way too much fear, and waiting six hours for your program to run. Oh, and everything in uppercase...)


If memory serves, one of Emacs innovations was to decouple the display system from the editing system. The display would run asynchronously. If the display lagged due to a slow connection it would always be trying to show the most current state rather than strictly rendering the results of each edit operation, one by one. It also tried to minimize the terminal codes need to bring the display up to date.

I can't say I've ever used it on a 300 baud modem, but I have used it over a transcontinental SSH session on a crowded wifi connection and I've been thankful for it being designed to operate well under adverse conditions like that.


Yes, I always assumed that was part of the motivation for "chunky" operations like forward/delete word, paragraph, etc. On a slow connection it made a big difference to be able to jump ahead by words, paragraphs, or "balanced expressions" rather than character-by-character. And VT100 terminals didn't have a mouse so there was no way to do something like click-drag to select a block of text.


If anyone using a Mac wants to experience this, there exists the retro terminal emulator "Cathode" which can emulate various modem speeds (along with curved glass, CRT phosphor persistence, etc) http://www.secretgeometry.com/apps/cathode/


I'm late, but there is now a similar *nix terminal emulator: https://github.com/Swordifish90/cool-old-term


Sure you could. You just used pencil and paper.


It's still a very effective method of working with code. I dare you to find a display which will let you see (and edit) as much code as printouts laying on the floor would :)


I don't understand: surely with pencil and paper you are able to see the code you are editing?


> I don't understand: surely with pencil and paper you are able to see the code you are editing?

Indeed, that is the meaning of the exchange. brandonhsiao said (https://news.ycombinator.com/item?id=8122592):

> You used to... not be able to see your code verbatim as you were editing it?

and Sharlin, affecting to disagree, said (https://news.ycombinator.com/reply?id=8122773):

> Sure you could [meaning, you could see your code verbatim]. You just used pencil and paper.


Thanks, got mixed up somehow and inserted a negative were there was none.


Of course you could see it. Written out on paper with a flowchart stencil the way God intended!


I just had this thought, what if Linus came in or HMS or someone else kinda already famous did a "Show HN: I made a extensible editor called emacs" or "Show HN: I made a posix compatible kernel" Would lead to some interesting discussions I think if they were active in the comments.


Pretty sure that Andrew Tanenbaum would comment about Microkernels being superior and how monolithic kernels are doomed to fail and belong in the past!



GNU Emacs Manual, 1st ed. — http://bitsavers.trailing-edge.com/pdf/fsf/GNU_Emacs_Version...

Edit: you can buy the modern version from FSF: http://shop.fsf.org/product/Emacs_Manual_24/


What's fascinating is that under "Research Through Development of Installed Tools", the author describes agile software development, some twenty years before it got that name.


Here is to another 30 years of Emacs.


I'll just leave this here: http://xkcd.com/378/


What we decide is not worth while to add, the user can provide for himself. He can just as easily provide his own alternative to a feature if he does not like the way it works in the standard system.

Written before the PC police insisted upon alternating He/She pronouns, awkward constructions such as "He or she", or flatly incorrect usage, i.e. "their" as a singular.


Has your quality of life really suffered so much now that you're encouraged to write to a broader audience?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: