this post was submitted on 13 Sep 2024
147 points (92.0% liked)
Programming
17362 readers
209 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I use emacs, and kind of had the same gut reaction, but they do address it and have a valid point in that the IDEs they're talking about are "out of box" set up and require little learning to use in that mode.
Like, you can use emacs and I'm sure vim as an IDE, but what you have is more a toolkit of parts for putting together your own IDE. That can be really nice, more flexible, but it's also true that it isn't an off-the-shelf, low-effort-to-pick-up solution.
Emacs had some "premade IDE" project I recall that I tried and wasn't that enthusiastic about.
I don't know vim enough to know what all the parts are. Nerdtree for file browsing? I dunno.
With emacs, I use magit as a git frontend, a compilation buffer to jump to errors, projectile to know the project build command and auto-identify the build system used for a given project and search through project files, dired to browse the files, etags and some language server -- think things have changed recently, but I haven't been coding recently -- to jump around the codebase. I have color syntax highlighting set up. I use .dir-locals.el to store per-project settings like that build command used by projectile. The gdb frontend to traverse code associated with lines in a stack trace on a running program. TRAMP to edit files on remote machines.
But that stuff isn't generally set up or obvious out of box. It takes time to learn.
EDIT: The "premade IDE" I was thinking of for emacs is eide:
https://software.hjuvi.fr.eu.org/eide/
Doom Emacs, spacemacs, etc.
And there are plenty of nvim "distros" like that (lazyvim for example).
They make getting started pretty easy. I've been using Doom for years and never bothered to make a full config of my own.
If you need an "off the shelf, low effort" IDE then you pick whether you are using VSCode or Vim/Emacs and then go to youtube and google "best plugins for ${LANGUAGE} in ${EDITOR}". And you get basically a minute of copy pasting to have it set up to about the same level of optimization.
Aside from that? The reality is that everything takes time to learn. It took you time to learn your preferred emacs config. It took me time to learn default vim and then what my preferred vim config should be and how to take advantage of it. Just like it took time to learn the editor that came with python on windows for years (still might?).
Which gets back to this being a boomer ass article.