Live data from Hacker News

Why GNU Emacs?

elephly.net

301–310 of 317 posts

Re: Why GNU Emacs?

#301
post #21
post #15

Apparently, I'm feeling ranty today... I've used Vi and Emacs as my primary editor. Now I've moved on to Sublime Text 3. Despite being powerful tools Vi and Emacs have probably harmed the state of Unix text editing. They've kept antiquated UIs from before keyboards were an text editing UIs were standardized. It's kinda sad that MS Dos, Windows and MacOS have all had a plethora of powerful editors with convenient stan…

Not trying to be confrontational, but conversational -- I'd say that both vi and Emacs have solid fundamentals and have stuck with a model that works, to their credit. I must admit that I shop around for editors occasionally (I'm a long-time emacs person, who swapped back to vi a few years ago to re-develop his vi-fu), but I haven't seen anything so compelling that I've switched to anything else. It may well be that…

This is going to sound a little misguided, but bear with me. If you want to see what you're missing: Take a look at the IDEs of the moment. Try something like eclipse on java code or maybe devstudio in the windows world.

In general, vi/emacs are missing support for editing above the level of text (eg. refactoring) and support for UI above the level of a text terminal. I know add-ons exist for both editors that do some of these things, and of course, you can run both in a graphical terminal with custom fonts, etc -- but if one is being honest, it's not very well integrated in either of the old standbys.

I'm a vim user, but not really an advocate. I'm just used to it, I like the way it works (mostly) out of the box[1], and I think it's text editing facilities match the way I edit better. It's a great generic text editor -- as is emacs (for some others, not me). But all they do is understand text...

I had to do some Java development recently. So I tried eclipse (with a vim keymap plugin). Now, eclipse kind of sucks in many ways, but one thing it definitely has is the ability to refactor code. Something like variable rename over multiple files that would have me concocting a sed-ish script for vi, or doing query-search-replace, next,next,next,skip,next in emacs was literally two keystrokes and bang, done. Forget about actually moving language constructs from one file to another or to another package, etc. And the UI for it was very clear: inplace modification, and popping up a warning about where the refactoring would break, if it would.

And then we have modern UI. Eclipse isn't even very pretty (or modern) by modern standards, but it still highlights properties of code (warnings, unused variables, etc) by actually drawing symbols or boxes on the screen rather than attempting to wrangle indications into the world of VT220 terminals. Among other things...

One could put this all making up for deficiencies in Java, I suppose. Except, again, if one is honest, one realizes that this kind of thing is highly useful no matter what language you're developing in...

Neither Vim or Emacs has very good support for any of this at all. There are examples of add-ons that do it kinda-sorta, but they aren't very good. Emacs is better than vim at this, of course[2], but it's still not very common for language support to get to this level. It's not a standard thing, and it should be. Such is history, and the pragmatics are writing a substantial piece of software inside another piece of software in a crappy language :-). Emacs still crappier (and slower) than eclipse at just highlighting syntax (and barely does the highlighting of semantics).

Emacs & vim have real issues as code editors because they are stuck in the past -- and not the recent past either. Vi was never meant to be anything but a text editor, for good or ill. And Emacs... well emacs lives in it's own little world reminiscent of a half-baked lisp machine crossed with a VT220 terminal. And while the capability is there somewhat to do the above, there is a lot of historical baggage and historical code to overcome.

So, is eclipse my editor of choice now? :-) :-P Well, no (except for java code). :-) It's a shitty editor, it's slow to start, it crashes or gets into a funky state too often, and it's really a Java-editor, not a generic text/code/anything editor (although it tries to be, and fails). But I think eclipse and tools like it show clearly "what is missing" in an old-school editor like vim/emacs, or indeed any new editor which uses either of these as a model.

[1] I also think key-chording, which emacs uses (and others influenced by emacs use) is actively physically harmful.

[2] A better scripting language helps. I'm sure emacs is somewhat passable at refactoring lisp code. :-)

Re: Why GNU Emacs?

#303

Earlier quoted context omitted.

I would instantly disregard anyone who says this. Just run it in daemon mode and connect with emacsclient.

I used to do that. Then I got a new job that requires Windows 7 and emacs can't start in daemon mode. :(

Gnuserv + Gnuclientw

But I have not yet found a way to make Emacs close all frames and keep server running.

But it is better than restarting Emacs for each file...

Re: Why GNU Emacs?

#304

Once, I used Emacs. All I did with it was play in the land of elisp. I never got any real work done. Then, a passionate friend converted me to Vim. I only ever used it to do battle with my .vimrc. I never got any real work done. Now, I use Atom. Click a button, install a feature. No more distractions. I wish it were faster though; I can never get any real work done.

How does atom work in a ptty?

Re: Why GNU Emacs?

#305
post #287

Earlier quoted context omitted.

I'm eagerly waiting for the day I can use emacs as my window manager.

You're waiting for a day in the past: See EXWM, links in a sibling comment. With it, you can use emacs as your window manager already.

That would be awesome! Is it actually stable and/or usable?

Re: Why GNU Emacs?

#306

Earlier quoted context omitted.

Ironically, the only thing Emacs can't seem to do these days is be a browser. ;)

The xwidget_mvp branch has been merged into the emacs master branch about a month ago. It allows you to embed GTK widgets INSIDE an emacs buffer, effectively allowing one to create actual GUIs inside of emacs. This also allows you to embed a full webkit-based browser (with javascript support!) right into emacs, and use it like a regular browser. Just clone the emacs repo, build it with gtk3 and xwidget support, and r…

There's only one question that remains to be answered. Why?

Re: Why GNU Emacs?

#307
post #272

Earlier quoted context omitted.

I think what makes a tradition is the work that is in the original spirit of the project [1], not the exceptions to it. I would argue that the original developers of Unix over at Bell Labs were horrified at X and the "monolithic" applications that were being developed for Unix. So much so that they wrote an entirely new operating system, Plan 9 that pushed composability to a new level and also included its own window…

Plan9 is not that successful and not a good representation of actual Unix use. Doesn't GNU Emacs run on Plan 9? Wait, there is Acme. What about Acme's architecture? > Acme is about 8,000 lines of code in Alef, a concurrent object-oriented language syntactically similar to C [Alef]. Acme’s structure is a set of communicating processes in a single address space. One subset of the processes drives the display and user i…

http://man.cat-v.org/plan_9/1/emacs

Plan 9 is more Unix than Unix. First, Acme is no longer written in Alef, but in C (on Plan 9) or Limbo (for Inferno). Second, I don't think you understand how Acme works; try reading the Acme paper or watching Russ Cox's introductory screencast.

Re: Why GNU Emacs?

#308

Once, I used Emacs. All I did with it was play in the land of elisp. I never got any real work done. Then, a passionate friend converted me to Vim. I only ever used it to do battle with my .vimrc. I never got any real work done. Now, I use Atom. Click a button, install a feature. No more distractions. I wish it were faster though; I can never get any real work done.

How does atom work in a ptty?

Not everybody needs that. Even I as a sysadmin just use TRAMP from within my graphical Emacs to edit remote files and don't open Emacs in an SSH session over a terminal emulator.

Re: Why GNU Emacs?

#309
post #278

Earlier quoted context omitted.

> Lisp is like a ball of mud. Add more and it's still a ball of mud - it still looks like Lisp. Such claims are usually made by people who haven't discovered the power of Lisp yet. http://www.defmacro.org/ramblings/lisp.html

Such claims are usually made by people who haven't discovered the beauty of APL yet.

APL is actually beautiful. Watch the development of Conways game of life in APL:

https://www.youtube.com/watch?v=a9xAKttWgP4

Re: Why GNU Emacs?

#310
post #307
post #272

Earlier quoted context omitted.

Plan9 is not that successful and not a good representation of actual Unix use. Doesn't GNU Emacs run on Plan 9? Wait, there is Acme. What about Acme's architecture? > Acme is about 8,000 lines of code in Alef, a concurrent object-oriented language syntactically similar to C [Alef]. Acme’s structure is a set of communicating processes in a single address space. One subset of the processes drives the display and user i…

http://man.cat-v.org/plan_9/1/emacs Plan 9 is more Unix than Unix. First, Acme is no longer written in Alef, but in C (on Plan 9) or Limbo (for Inferno). Second, I don't think you understand how Acme works; try reading the Acme paper or watching Russ Cox's introductory screencast.

[deleted]
Post reply on HN