Hacker News new | ask | show | jobs
by brlewis 3355 days ago
I hope you're right that this goes the way of emacs. I've been productive in emacs for 30 years, but I'm growing impatient for emacs to get a real programming language with lexical scoping like they were talking about doing with Scheme 20 years ago. Despite its lack of macros, JavaScript is arguably a better Lisp than Emacs Lisp. I've toyed with Atom a couple of times recently and am seriously thinking of switching.
2 comments

Emacs Lisp in GNU Emacs has now lexical scoping...
See, I just don't understand why you would want to use emacs over an editor that does all the work for you. Thats why I avoid it, it seems like a big cost that I don't have to pay if I just use a different editor.
How do you think an IDE "does all the work" for you? Somebody working on the editor wrote some code in C++ or Java or whatever that makes it do that, and that code is baked into the IDE.

In emacs, the only missing part is that perhaps nobody has already written the elisp that makes it do whatever task you are asking for.

emacs is a smallish program written mostly in C that defers to a scripting language for nearly everything, and it ships a bunch of code in that scripting language that does all the work of being an editor. You can look at that code using the editor itself, and you can change that code using the editor itself. It's insanely flexible and extensible; see e.g. advice [0], and most modules provide meaningful hooks for you to add your own code.

All the IDE/editor behavior is just code. If it's compiled and baked into your IDE, fixed, unchanging, then if there is any behavior you don't like, you better hope the dev included a knob that lets you tweak it, or you have a lot higher barrier to making your editor work the way you want it to.

[0] https://www.gnu.org/software/emacs/manual/html_node/elisp/Ad...

Thats exactly my point, theyve written all the various features you might have to write yourself, and theyve integrated them for you.
guess it's a tradeoff. if what you want is common enough, it's quite possible it'll already have been written. if not, you may have to write elisp yourself.

but, if what you're working on is not common, maybe there isn't a (good) IDE either.

Whether an editor needs to be programmable or not depends on what "all the work" is. If you're doing the same exact work as everybody else then certainly a programmable editor is overkill. If your work is different, then programming is how you tell the editor what it means to do all the work for you.
People seem to ridiculously inflate this cost. If you are going to be using a tool for 40 hours a week 50 weeks a year for the next decade then you will be using it for 20,000 hours over the next decade.

Spending a few hours to configure it to your liking. In fact if you start atom and wait 6 seconds for it to start just once a day then twice wait 3 seconds for a new window you will in the same time frame have waited 8 hours for atom to start.

Heres the thing, its a cost you pay for every single project you start and every change you make to your build system. Emacs makes it possible but hard to maneuver, by my reckoning.

There are some really giant projects where that becomes reasonable, but for me thats just not the case. And if I were going to invest time like that, I'd rather invest it into an environment which has a higher ceiling for what it can do (emacs doesnt provide fast/rich/easy autocomplete, for example)