8 ms·
I dunno. I have used a lot of IDEs in my day but I always go back to emacs. I know its not for everyone but I can still have a running python, ruby, etc process
by pech0rin 4y ago
I dunno. I have used a lot of IDEs in my day but I always go back to emacs. I know its not for everyone but I can still have a running python, ruby, etc process and send bits of code to the process and interactively iterate on ideas smoothly. Also with the advent of language servers jump to definition, large refactoring of symbols, etc are pretty straightforward.
The number 1 thing I hate about IDEs and will always hate about IDEs is that you open a "workspace" you cannot access all of your files at once. So often I am working with multiple git repos or various things scattered around my computer. In emacs I can simply open the file and have all the syntax highlighting, linting, etc just work. Instead of waiting for 10s for a whole new IDE workspace to open. And then not even have the ability to switch between them easily.
Anyway, I don't think I am Luddite and I try to love modern IDEs and editors because everyone says how much more productive they are in them. I honestly have to think that editors are not whats holding back software development, and seems disingenuous to say shying away from them is somehow negative.
- zorr 4y agoThe way I get around that is by opening multiple workspaces so I can alt-backtick between them. At least on my setup the ideavim copy buffers are shared between workspaces so I can easily yank from one and paste in the other. It requires a bit of memory though as IJ just works better if you give it a lot of memory. Not really a problem for me as my dev machines have at least 32 or 64G and besides IJ, firefox and a terminal I don't have much open.
- invalidname 4y agoA lot of my friends used emacs back at Sun. Modern IDEs really improved since then and I haven't seen a feature that emacs can do that they can't. Yes a JetBrains IDEs will take longer to build the AST model in RAM but once you have it they do amazing things with it. E.g semantic search and replace, etc. The debugger capabilities are spectacular, they literally show the values of variables on the side of the line you stepped over. Another cool thing, inferred types just show next to the variable definition, parameter names appear in the method call, etc. These are small things that add up to a lot on the day to day. About projects. JetBrains do create project files but don't require a project structure in newer versions of their IDEs. The problem is that IDEs are very simple to pick up and people stop after that basic usage. They have depth that exceeds emacs in some respects.
- _glass 4y agoFor Java Emacs is terrible. I loved IntelliJ. But for Python, Haskell, Common Lisp, Clojure, OCaml, I turn back to Emacs, because it is very familiar, and very nicely integrated.
- eadmund 4y ago> Modern IDEs really improved since then and I haven't seen a feature that emacs can do that they can't. Easy extensibility. Read email. Run a calculator. Run Lisp … Meanwhile, there is literally no feature any IDE has which Emacs cannot do. It's just a simple matter of programming.
- invalidname 4y agoEverything is "just programming" but deep semantic heuristics from an IDE can't be done reasonably in Emacs. Most of the big features require keeping a full AST model of the project in RAM. That would make emacs/vi really slow. IDEs are 100% extensible via plugins. Wrote a few of those myself.
- eadmund 4y ago> 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.
- pjmlp 4y agoMeanwhile the author of XEmacs says he prefers modern IDEs.
- ungamedplayer 4y ago[Citation needed]
- pjmlp 4y ago> These days I live in NetBeans. It does everything I want, very cleanly simply and efficiently. It’s the nicest environment I’ve ever lived in. https://www.dodgycoder.net/2012/09/q-with-nine-great-programmers.html https://www.dodgycoder.net/2012/09/q-with-nine-great-program... It wasn't XEmacs, but rahter the genesis of Emacs itself (I got that wrong). https://www.youtube.com/watch?v=IT__Nrr3PNI&t=1642s https://www.youtube.com/watch?v=IT__Nrr3PNI&t=1642s https://en.wikipedia.org/wiki/Gosling_Emacs https://en.wikipedia.org/wiki/Gosling_Emacs Got to love all the St. Thomas requests on developer forums.
- worthless-trash 4y agoFor anyone following along, that quote is from the first link. The comparison and conversion can and will depend on many factors, the first and most likely is that the version of emacs he wrote didnt have standard lisp, not that elisp is much more standard. When a non free ($395 in 1980 money) vs free (as in GNU/GPL) version of emacs, its not surprising that GNU emacs was the crowd favourite. I'm not convinced that goslings move to an IDE as the gos emacs creator is a fair datapoint when comparing modern emacs though.
- pjmlp 4y agoYeah, that there is that detail that our community is plagued by people that won't pay for their tools while feeling entitled to get a salary. Imagine if all professions would behave the same way.
- aerique 4y agoEmacs is an IDE in my opinion. Whenever there's some hot new IDE feature it'll end up in Emacs sooner or later. Sometimes better than the original implementation, sometimes not. What I like about Emacs is that it is timeless, works on a lot of platforms, supports a lot of programming languages (while a lot of modern IDEs are focused on a single language[1]) and also supports e-mail, Twitter, IRC, Matrix, etc. etc. [1] Which makes them very good for that specific language, I get that. But I prefer Emacs' "just good" support if that means I don't have to learn a new IDE again.
- Communitivity 4y agoI've used Emacs for development before, and like it. I also like the more purposed IDEs. I consider Emacs a general purpose IDE because with all the packages I add it has IDE functionality (source jumping, refactoring, syntax highlighting, debugger interface, compiler interface, code completion, etc.). It takes a bit to get it set up just right for a given language though.
- bmj 4y ago> The number 1 thing I hate about IDEs and will always hate about IDEs is that you open a "workspace" you cannot access all of your files at once. So often I am working with multiple git repos or various things scattered around my computer. In emacs I can simply open the file and have all the syntax highlighting, linting, etc just work. Instead of waiting for 10s for a whole new IDE workspace to open. And then not even have the ability to switch between them easily. This is a different workflow than the average use of an IDE, particularly for, say, Java or C# development. Personally, if I am working on a web app with a fairly large codebase, I use VS Code, but if I am editing a few scripts or other files, I absolutely use Neovim from the terminal.
- Macha 4y agoI sometimes find myself using neovim _in_ the VS Code terminal when I need to quickly jump out and edit a non-project file like a ssh config or something
- ftlio 4y agoIn my experience, most IDE users don’t know that Emacs is effectively an IDE that can do all of the same things, and even more. When you show them, then the complaint is that it’s a hassle to configure, and I don’t really know what to do with that. I like configuring my text editor. I’ve worked with tools my entire life and the main difference between Emacs / VI and other IDEs is they’re tools you can hone infinitely and truly make an extension of your mind, as opposed to IDEs which more fit the “choose the best tool for the job” mentality, which I appreciate, but does not apply to text editing to me because of how Emacs / VI shifted my mindset. Emacs still feels 1000x more modern to me than any IDE, especially VS Code. And I agree that text editing / better IDEs really are not the problem in software development.
- nomel 4y ago> is effectively an IDE If it's a text editor with an understanding of the code, that also allows debugging, then it's an IDE by definition.
- dragonwriter 4y ago> In my experience, most IDE users don’t know that Emacs is effectively an IDE that can do all of the same things, and even more A programmable editor can, by programming (and in many cases, this means using modules others have programmed) become a Development Environment both more powerful and more adapted to your particular use than any available Integrated Development Environment, but it's not an IDE because no vendor integrated it for you (though sometimes, rather than collecting small modules of your own, you can get a pre-integrated set of modules for a particular use for a programmable editor, and that is exactly an IDE.) > Emacs still feels 1000x more modern to me than any IDE, especially VS Code VS Code, like Emacs, is a programmable editor, not an IDE. (though I guess it's built-in, first party tooling for certain languages makes it a very light IDE for them.)
- _glass 4y agoI program my Emacs for very basic stuff, but very specialized for projects. For other developers (even who use VSCode) it's black magick. I think Emacs has also a culture of tinkering.