EMACS Turns 50 (technologyreview.com) 100
"EMACS, the mother of all editors, turns 50!" writes Slashdot reader dr_jerry, sharing a report from MIT Technology Review: Programming used to be a very different experience from the one we know today. In fact, the first programmers didn't write code at all; the six women who worked on the ENIAC, one of the world's first computers, at the University of Pennsylvania in 1946 did it by physically configuring switches, cables, and plugboards.
A few years later, MIT engineers programmed the Whirlwind by punching code onto paper tape that was then loaded into the computer's memory -- making it among the first "stored-program" machines. Later, they and others moved on to punch cards, one for each line of code.
By the early 1960s, programmers with interactive computers could use a "line editor" to type their code on teletypes -- large, noisy keyboard-and-printer machines. They'd type one line of code at a time, and their work would be saved on a spinning hard disk the size of a modern washing machine. But there was still no such thing as the now-familiar full-screen text editors that allow programmers to see and modify many lines at a time on a display.
One of the first such tools, EMACS, turns 50 this year, and it is still widely used. EMACS first ran on the early video terminals at the MIT Artificial Intelligence Laboratory in 1976, but its core concepts were so powerful that it was rewritten for many operating systems in the decades that followed. Apple even distributed it with Mac OS X. Beyond that, the software-sharing community that started around EMACS helped give rise to the modern-day free software movement and the GNU/Linux operating system.
A few years later, MIT engineers programmed the Whirlwind by punching code onto paper tape that was then loaded into the computer's memory -- making it among the first "stored-program" machines. Later, they and others moved on to punch cards, one for each line of code.
By the early 1960s, programmers with interactive computers could use a "line editor" to type their code on teletypes -- large, noisy keyboard-and-printer machines. They'd type one line of code at a time, and their work would be saved on a spinning hard disk the size of a modern washing machine. But there was still no such thing as the now-familiar full-screen text editors that allow programmers to see and modify many lines at a time on a display.
One of the first such tools, EMACS, turns 50 this year, and it is still widely used. EMACS first ran on the early video terminals at the MIT Artificial Intelligence Laboratory in 1976, but its core concepts were so powerful that it was rewritten for many operating systems in the decades that followed. Apple even distributed it with Mac OS X. Beyond that, the software-sharing community that started around EMACS helped give rise to the modern-day free software movement and the GNU/Linux operating system.
Thanks EMACS (Score:5, Interesting)
Re: Thanks EMACS (Score:4, Insightful)
I do it's still quite a nice editor and especially in the days of llms the fact that it's fully programmable and easily so is is a really big advantage.
Re: Thanks EMACS (Score:2)
EMACS is my favorite operating system...
Re: (Score:2)
Re:Thanks EMACS (Score:5, Interesting)
Works very well for me. I have created and installed several extensions that work well for me!
And no, I do NOT use AI at all for any reason! I program to exercise my mind! And I will as long as I can!
"Coincidentally, nobody over the age of 50 has the finger dexterity to operate it."
Bull$#!t! I do have very good dexterity!
I did learn C so many years ago on an original, two full height 5 1/4 floppy, IBM PC, using edlin!
Happy Birthday emacs!
Re: (Score:2)
Not to engage in oneupsmanship but I've been using Emacs for 40+ years. I'm now 77 and still use it--- org-mode to run my professional and personal lives, not to mention writing and publishing, and much more. Certainly I don't have the hand/finger flexibility that I did at a younger age, but by remapping caps lock to control I've avoided any serious ergo issues. I do also write Elisp whenever I need something particular to my environment. I used to program but these days it's mostly Elisp and Bash scrip
Re: Thanks EMACS (Score:1)
spoken like a true vi user.
Re: (Score:2)
I always thought/said that EMACS will end up sentient... you may not touch AI but your editor will end up evolving into the terminators that take over in the future. Nobody should hook up the LLM to EMACS for the safety of humanity the offspring must not come into being!
Re: Thanks EMACS (Score:2)
You think no one has hooked Emacs to LLMs? There are three ofr four tools for this in various interaction guises already.
Re: (Score:2)
I used EMACS pretty consistently until about 10 years ago (So... 1992 to about 2025 thereabouts) until the repo with all the configs I had got nuked by atlassian. Last time I tried to use Emacs I discovered to my horror I had forgotten almost all the chords I used to know so intuitively.
Emacs was the one text mode IDE that can hold its own with the visual studios, eclipses and jetbrains of the world. Its a *full* IDE. Whereas vim can hold its own handily against the VS-Codes of the world, Emacs is more alig
Re: (Score:2)
Re: Thanks EMACS (Score:2)
Except for a year or three in the 80s, I have always hated Emacs. My little fingers greatly appreciate that I learned vi (and vim). Not neovim either. Bram Molenaar was a saint.
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
Even back when I did use emacs, I preferred microemacs because it had most of the normal commands but loaded faster. Emacs was s..l...o..w. It was also infamously bad for accepting patches, practically moribund in fact.
Re: Thanks EMACS (Score:2)
It is a little arcane, but the GUI does work over X.
Most of it's user are happy with something being a little arcane if it is quicker. The directory and file selection logic is way faster than any other GUI dialog I have used.
Re: (Score:2)
It is a little arcane, but the GUI does work over X.
I have to use Wayland, you insensitive clod!
Re: Thanks EMACS (Score:2)
Well me to. That seems to work also, don't know why.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
long life to emacs! prost!
Re:Thanks EMACS (Score:5, Funny)
Not that filthy EMACS users are any better. Both should be purged. Nano master race raise up!
Re: (Score:3)
Re: (Score:2)
Have to disagree. Nano is a confusing scourge on all aspects of civilization and development environments.
I've worked with all sorts of development environments from ancient and basically unsupported to ... the mess we have now. At the vey least, if you know the basics of vi(m), you will be able to edit files anywhere. Outside of vi, you have cat, jeebus help us all.
Re: (Score:3)
Nano master race raise up!
Nano is useless bloatware. RAM costs a lot these days, use Pico instead.
(Note: Yes this is sarcasm, I know the relationship between them).
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Give me a *Nix text editor with Bief emulation mode.
Re: (Score:2)
Theres an editor I'm somewhat fond of thats replaced Nano for me called, conveniently enough, Micro. Its basically a Nano style no-nonsense basic editor. More for modifying config files than as an IDE, but its got mouse support that just works like its supposed to (Assuming your term config + ssh has mouse setup right, these days thats true mot of the time) , uses wordstar keys (ctrl-c/v/x , ctrl-s to save, ctrl-q t
Re: Thanks EMACS (Score:2)
Love my vi although I only know five or so commands and that is all I typically need.
vi is the best editor (Score:5, Funny)
I don't mean to spoil emacs big day and all, and I'll let you guys talk about it .. but vi is the best editor. emacs couldn't anticipate the coming of AI .. pretty much a settled debate now that vi is much more suited for prompt writing and editing your .md files.
ctrl-x y
dammit
z w
y
wx
:
Re: vi is the best editor (Score:4, Informative)
Ed is the standard text editor!
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
My fingers remember vi (Score:2)
Re: (Score:2)
Same here. I have seen some Neovim tutorials on the youtubes but I just use plain old vim.
Re: (Score:2)
vim is the reason I had to give on up using a Dvorak keyboard and switch back to Qwerty. It turns out I'm quite capable of typing text in Dvorak, but relearning the muscle-memory for all the different vim operations was a bridge too far :(
Re: (Score:2)
If and only if you can touch type
Re: (Score:3)
Let them do their thing.
I remember in High School the Camaro guys couldn't stop talking about how their Camaros were better than Mustangs but the Mustang guys never felt the need to denigrate the Camaros.
It's a matter of nature.
unrelated: Tailscale is so fooked today:
https://www.bleepingcomputer.c... [bleepingcomputer.com]
Some people here may need to panic right about now.
Re: (Score:2)
And use QWERTY or QWERTY-like. HJKL cursor navigation doesn't quite work the same on DVORAK or other layouts.
Re: vi is the best editor (Score:2)
And use QWERTY or QWERTY-like. HJKL cursor navigation doesn't quite work the same on DVORAK or other layouts.
What?
Re-read what you wrote and go off and think about it...
HJKL navigation is not QWERTY-dependent, it works just fine on Dvorak-layout keyboards, although key placement/layout is a bit non-sensical, but "h" Dvorak moves the cursor exactly the same way "h" does on QWERTY.
Re: vi is the best editor - kludge for DVORAK (Score:2)
If and only if you can touch type
And use QWERTY or QWERTY-like. HJKL cursor navigation doesn't quite work the same on DVORAK or other layouts.
...
HJKL navigation is not QWERTY-dependent, it works just fine on Dvorak-layout keyboards, although key placement/layout is a bit non-sensical, but "h" Dvorak moves the cursor exactly the same way "h" does on QWERTY.
Is that not what the GP said? Look at the context of, "If and only if you can touch type." IE: with fingers on home row, HJKL cursor navigation causes the keys to placed where QWERTY would have them on JXCO, which is pretty awful to use in practice. IMO, and as a long time vim user, I'd want to remap all the vim commands such that most, if not all, remained in the same position they were in while using a QWERTY layout.
FYI, it turns out that is very easy to do in vim! The following will allow one to type in
Re: (Score:2)
Re: (Score:2)
Also vi came out that exact same year: Bill Joy wrote it at Berkeley. So I suppose you could argue that your choice is a bit like early rapper culture: east coast vs west coast!
Re:vi is the best editor (Score:5, Informative)
vi is a patch to ed. Remember most terminals were teletypes that output a line at a time, so you used "ed" to edit lines one line at a time. (And likely an inspiration for the brilliant MS-DOS edlin editor). But fancy new video teletypes were becoming a thing, and it was actually possible to display multiple lines of text on the screen at a time. Bill Joy added visual mode to ed to take advantage of this so you can visually display and edit blocks of text rather than a line at a time.
Tools like grep came about from ed as well.
ed-mode is fundamental to vi when doing commands like search and replace.
Want some fun? Set your terminal to TTY mode and try using vi. Depending on how good the emulation of vi is, it might work in line-at-a-time mode or not at all.
Re: (Score:2)
There is only one way to ESC.
Re: (Score:1)
There is only one way to ESC.
use a text editor.
Re: (Score:2)
Well,
you did not get the joke.
Anyway: Vi/m and EMACS are: Text Editors.
Re: (Score:2)
I don't mean to spoil emacs big day and all, and I'll let you guys talk about it .. but vi is the best editor. emacs couldn't anticipate the coming of AI .. pretty much a settled debate now that vi is much more suited for prompt writing and editing your .md files.
:
ctrl-x y
dammit
z w
y
wx
Hah. That bit made me think of this description [wikipedia.org] of the TECO editor:
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.
P.S. I'm a long, long-time EMACS user (like since the mid 80s).
Fun note: Googling "emacs", gets you, "Did you mean: vim?" and Googling "vim" gets you, "Did you mean" emacs?"
Re: (Score:2)
Yeah, let's ressurect a 30-year-old flame war!
50 is fitting (Score:5, Funny)
Coincidentally, nobody over the age of 50 has the finger dexterity to operate it.
Re: 50 is fitting (Score:2)
My first boss in tech used a Kinesis keyboard. He blamed his severe carpal on emacs.
Re: (Score:2)
I had the same experience with a coworker at AOL in the 1990s.
He blamed his left pinky arthritis on Emacs' requirement of using the CTRL key for practically everything.
Re: (Score:2)
I used mostly the relatively tiny Emacs inspired editor "mg" from around 1987 until retiring in 2023. Initially I used Gosling Emacs (Unipress), then GNU in the early version with the death's head comment in the Gosling derived display code, then the full GNU rewrite. I wrote a bunch of Elisp utilities to rework a commercial source base from a poorly supported commercial compiler to gcc, and continued to use GNU Emacs whenever I needed scripting or the need to work with large or peculiar files.
It works best
Re: (Score:2)
Nah. Over 50 by quite a bit and still happily emacsing.
I remember in the early days, people said emacs stood for "Eight Megs And Constantly Swapping". Eight megs... how quaint!
Re: (Score:2)
And nobody under 50 has everb heard of either EMACS or vi!
Re: (Score:2)
ed (Score:2)
Ed is the standard text editor.
Re: (Score:2)
echo "#include <stdio.h>" >> Hello.c
Too bad recent vulnerabilities made us remove it (Score:2)
It's too bad recent userland vulnerabilities made us remove Emacs from everywhere.
Our detection tools rate it as a 9/10 vulnerability.
Userland only. Yes, no privilege escalation. 9/10 vulnerability.
I feel like I'm taking crazy pills.
Re: (Score:2)
Yeah that does sound crazy. You'll have to provide a lot more detail than that!
I mean EMACS *is* a LISP interpreter. It's kind of what it does, run scripts from any user-provided source. Heck you can shell script with "#!/usr/bin/env emacs --script".
Re: (Score:2)
Apparently the EDS blocks it because malicious txt files can cause arbitrary LISP code execution. Also Vim and Neovim are often apparently blocked for similar concerns. Fortunately VS Code has a Vim mode.
What a world we live in. I remember laughing at the thought of an image or text file being able to compromise a system.
Re: (Score:2)
I'm more concerned with hackers hijacking my screen, hypnotizing me with some kind of spooky animation and compelling me to do crimes with my computer. And then having blood run down my screen, actual blood, by some unknown mechanism.
Re: (Score:2)
https://app.opencve.io/cve/CVE... [opencve.io]
Mother (Score:1)
Darn vague memory but - Yes. Keypunch machinesâ"such as the IBM 026, IBM 029, and IBM 129â"allowed operators to duplicate an existing card up to a specific column to correct errors or edit data without re-entering the entire 80-column sequence.
Re: (Score:2)
The DUP key was repeat on hold, so you could approach the errored column more quickly, then do a few single key presses to get it exactly.
I once refurbished an off-contract 026. The print head had a mechanical "ROM" character generator. A metal plate with milled grooves and lands was X/Y positioned according to the character being printed, then pressed with a cam onto an array of spring loaded wires that formed the dot matrix. Under the consent decree, you could buy IBM spare parts over the counter at the I
the power! (Score:5, Interesting)
Re:the power! (Score:4, Funny)
Only if you've specifically configured how it should indent. If you use it with default configuration, it loves to insert tabs. And it's constantly messing up my indentation, because it has strong opinions about how my code Ought To Be Indented. I mean, just go to the middle of a line, edit a few characters, and it suddenly shifts the line over because it decides the line was indented by the wrong amount.
You can configure it, but if I'm using emacs it's probably because I've logged in remotely to some other computer, possibly just to debug one issue and then I'll never log into it again. So as a rule, if I'm using emacs it's probably with default settings.
Does emacs have its own GenAI now? (Score:2)
configuring switches, cables, and plugboards (Score:2)
Programming used to be a very different experience from the one we know today. In fact, the first programmers didn't write code at all; the six women who worked on the ENIAC, one of the world's first computers, at the University of Pennsylvania in 1946 did it by physically configuring switches, cables, and plugboards.
I am pretty sure there is a vim plugin for that!
It's only missing one thing... (Score:3)
EMACS can do practically anything. The only thing it's missing is a decent text editor.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Eight Megabytes And Constantly Swapping (Score:2)
Re: (Score:2)
I'm a rebel (Score:3)
It's still being developed ... (Score:4, Informative)
... and it's still a really useful and powerful tool. Truly impressive IMHO.
Never liked EMACS (Score:3)
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
it's name has caused me so many typos (Score:2)
Every. Damn. Time.
Does EMACS finally have a good file system? (Score:2)
But, I never hear about it's file system. In order to be considered modern, it would have to support something like BCacheFS, Hammer2, or BTRFS.
So, what file systems does the EMACS OS support?
Or does it support native Linux file systems directly?
I would not think so, because Linux OS file systems are embedded i
Thanks Richard Stallman and Guy Steele (Score:2)
Systemd (Score:2)
Wait a minute⦠wasnt this emacs the systemd of the 70s??
- ducks -
Eight Megabytes And Constantly Swapping (Score:2)
As much as ramageddon hurts, Emacs' appetite for memory is a solved problem and you can enjoy that Emacs Macht Alle Computer SchÃn.
Happy 50th (Score:2)
Re: (Score:1)
Happy birthday emacs!
I remember compiling (and maintaing) the Amiga port of microemacs for a while because I missed emacs so much in my home environment where "all" I had was an A500 and not a full blown emacs package on an Ultrix workstation.
Although on the Amiga, there was CygnusEd which was also an awesome editor for its time.
The Aztec C compiler suite I used back then came with a vi clone named "Z" (if I recall correctly) and I even hated it there before ever encountering vi in a Unix environment :-)
EMACS self-aware (Score:2)
So does vi (Score:2)
EMACS - as my buddy, Don Richey, the senior systems and networking admin I was working with the end of the nineties put it, "EMACS, the windowing operating system masquerading as a text editor".
I do, eventually, manage to remember how to get *out* of emacs when I foolishly invoke it.
widely used? (Score:2)
"emacs... still widely used."
The world "widely" is doing a lot of the heavy lifting there. It is not even top 20 according to stack overflow [visualstudiomagazine.com].