Hacker News new | ask | show | jobs
by duncan_bayne 4112 days ago
Sooooo many reasons. Here are a few:

* http://orgmode.org/

* http://www.gnus.org/

* http://www.emacswiki.org/emacs/JabberEl

1 comments

those don't convince me, though maybe i'm not reading far enough in to see their significant use point. bbedit does what i need and does it well. i write css/html/javascript for dev work, and it works fine for keeping notes or whatever like that first link mentions.
I have the nasty feeling I'm being trolled, but ... try watching these to get a feel of what a proper programmable editor is capable of:

* https://vimeo.com/13158054

* https://vimeo.com/30721952

Basically, the idea is that your editor becomes your entire world. News, email, chat, source control, code, running code ... everything merges into the one system, and efficiency gains in one area tend to be applicable to others.

All your keyboard accelerators, macros, etc. etc. are available to all functions. Want to kill to the end of the line? It's C-k ... in everything. In your editor, in your email client, in your scheduler ...

not trying to "troll", my question was genuine, though i admit i could have phrased it more narrowly.

personally i prefer not having to learn new keyboard shortcuts to style a todo list for example as that first video discusses. i just write it out, use an asterisk or some easy system to show points, outline levels or whatever. if it's important to get done that day i note that in plain text. this is faster and easier to remember than learning a whole system for todo lists and marking up the different items importance, etc.

i want my email client to be focused on email, and a scheduling or calendar program to be focused just on that. for me bbedit is a swiss army knife of text editors in that it does lots of things to text - grep, search over huge numbers of directories, whatever. but i don't want one environment for things beyond that. for me those do many things badly, instead of one thing well.

Ah, but that's just the point. Emacs doesn't do many things badly, it does many things better than the alternatives :)

E.g. take one case, recurring appointments. You can do the usual (monthly, weekly, etc.) or embed a snippet of Lisp code in your org-mode file; if it evaluates true when your agenda is being generated, then the item is deemed to be repeating that day.

So, let's say you want your calendar to contain an event if the weather is forecast to be over 40 degrees C on that particular day[1]. Easy if you're using org-mode, but basically impossible with every other system I've seen.

The point behind using a programmable editor is that their programmability allows you to extend them in ways that their original creators never intended. Whereas, say, a conventional email client is designed to be used in just the way its creators intended, and never extended.

I gave a presentation on this topic (the power of programmable UIs) a while back:

https://github.com/duncan-bayne/presentations/blob/master/pr...

Edited to add: in fact, lack of programmability is basically what's broken about modern computing environments. People are so used to software being non-programmable that they don't know what they're missing. It's no accident that even rudimentary programmable environments like Excel are so popular.

[1] ... which is a reasonable requirement for me; the work done by the systems I help to build is highly dependant upon weather.

well i don't care about appointments from my text editor... i think i should delete this question and re-phrase it more narrowly, unfortunately it seems it's impossible to delete.