Hacker News new | past | comments | ask | show | jobs | submit login

> Most of the big features require keeping a full AST model of the project in RAM. That would make emacs/vi really slow.

That's what LSP does, and emacs supports LSP. Heck, it even has two packages implementing support for LSP.

For that matter, I don't see any reason why Emacs would be any worse at keeping a full AST in RAM that is an IDE. Emacs Lisp is not the most efficient runtime out there, but it's acceptable.

> IDEs are 100% extensible via plugins.

Plugins are not 100% extensibility: they only enable one to extend the IDE in the ways the plugin system was designed to allow. Emacs, OTOH, enables one to extend or replace all editor functionality implemented in Lisp. I am not aware of any other IDE which offers, for example, all of the following: multiple email clients, a net news client, an IRC client, a Slack client, multiple web browsers, a Git UI, a spreadsheet, a personal organiser, multiple calendaring systems, a computer algebra system, multiple file managers, multiple shells and terminal emulators, an RSS client, a music player and Tetris.




I haven't written LSP so I'll reserve the opinion at that. What I understood about emacs is that it doesn't have a concept of a project so I don't see how it can form dependencies that are more sophisticated. But maybe I don't understand something about that.

I can totally write these sort of plugins for any IDE I worked with. Notice that all of these capabilities are symbols of a bygone time where you stuck everything into an editor. There's no motivation for a plugin developer to do these sort of things. Instead we have plugins like Lightrun, TabNine/Copilot, etc. Stuff that's actually useful for development.

JetBrains (and some other IDEs) have a builtin file manager, terminal, etc. These make some sense for development.


> What I understood about emacs is that it doesn't have a concept of a project

Not built-in, but there are packages available for that.


A wise man once told me, if you can't find a package that does most of what you want in emacs, you're using the wrong search terms.


I think project.el is builtin




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: