DEV Community

Discussion on: Why Are Some Developers so Allergic to IDEs?

Collapse
 
daemoen profile image
Marc Mercer

I've found myself debating whether to respond to this or not to. Part of the reason for that is it seems that (at least based on the comments section, not the article), that you are more interested in convincing people that they should be on an IDE, as opposed to a text editor, which that is a discussion/debate you are welcome to have, but doesn't seem as much an interest in the real reasoning.

For my case, I tend to use VIM almost exclusively. I don't do a whole lot of 'programming' per say these days, I spend ~85% of my time working in yaml/ansible, so its like a pseudo code. That said, I have used vim as my primary 'interface' for many many years, since my mentor forced it on me moons ago. I have written in C, CPP, Makefiles, Bash, Python, etc for years. I just don't feel that I need a full ui to do it. I can just as easily write gcc -o blah as I can right click a button. I can modify a makefile to take directives to do what I want. I saw another user mention above -- 'I am generally comfortable on the command line, and find that ui's hide what I need when I need it most' (paraphrased). I completely agree with that sentiment.

You say that a paid tool can help me boost my productivity.. How? Because it has autocomplete? From my perspective, I think it says more about each of our own comfort and familiarity with the given choice that we have made. As someone who has used vim for countless edits and numerous years, I have a level of familiarity with it that goes beyond 'open file, save quit enter'.. I am familiar with the best way of managing plugins (for me, though it was actually added to vim with 8.0, so there might be some merit to it?), I have my leader macro mapped in a way that works for me. I know which plugins to use that suit my need, and I have used these plugins for a very long time. Tools like ctags? Yeah, vim supports that. Tools like git? Yeap, we have fugitive and magit too. Syntax highlighting? We have the newer python language servers, or we have classic syntax highlighting. Auto completion? Yeap, we can do that too. You can even setup color schemes based on file extension/type so that you have whatever setup you prefer. I know that there are refactoring tools for many languages in vim, but I have personally never used a refactoring tool with any of the languages I have used/written in.

To get to your question about why do we have negative feelings? I don't necessarily have negative feelings, I just don't have the level of comfort that someone that has used an ide has for ides. I have tried various ide setups over the years, I just don't find them native for myself. I spend almost all of my time on the CLI, so why do I need something to take me away from that?

Collapse
 
waterlink profile image
Alex Fedorov • Edited

you are more interested in convincing people that they should be on an IDE, as opposed to a text editor, which that is a discussion/debate you are welcome to have, but doesn't seem as much an interest in the real reasoning

I thought I’m interested in convincing. Or rather I can’t put one and one together and understand just WHY someone wouldn’t use such a tool…

After a lot of comments I understood the following:

  • there are valid reasons (be it rational, or emotional)
  • now I want to convince people to do more refactoring in their day job: continuous refactoring. Without that IDE actually doesn’t provide enough value to make a painful steep-learning-curve switch.

And in other threads, I do learn a lot from people’s point of view, and I think I owe them to share my story and point of view. It’s up to them what to do about it.

You say that a paid tool can help me boost my productivity.. How? Because it has autocomplete? From my perspective, I think it says more about each of our own comfort and familiarity with the given choice that we have made. As someone who has used vim for countless edits and numerous years, I have a level of familiarity with it that goes beyond 'open file, save quit enter'.. I am familiar with the best way of managing plugins (for me, though it was actually added to vim with 8.0, so there might be some merit to it?), I have my leader macro mapped in a way that works for me. I know which plugins to use that suit my need, and I have used these plugins for a very long time. Tools like ctags? Yeah, vim supports that. Tools like git? Yeap, we have fugitive and magit too. Syntax highlighting? We have the newer python language servers, or we have classic syntax highlighting. Auto completion? Yeap, we can do that too. You can even setup color schemes based on file extension/type so that you have whatever setup you prefer. I know that there are refactoring tools for many languages in vim, but I have personally never used a refactoring tool with any of the languages I have used/written in.

That was my VIM experience for years as well, so I fully understand you.

I think, for me, there was a moment in time where I shifted my values. I started using more robust programming practices such as Clean Code/Architecture, Proper TDD, 100%-Pairing-instead-of-code-review, Real Continuous Integration, Trunk-based Development, and so on.

All these practices rely heavily on a lot of things, and one thing specifically: continuous refactoring. This is when you refactor the code every 2-5 minutes, and adapting the design of the software in the presence of new requirements is second nature to you, and it doesn’t take weeks of “pseudo-refactoring.”

Of course, if you practice continuous refactoring like this you need the tooling. For the language of my choice at a time, the maximum I could find was “rename refactoring.” Compare it to the set of automated refactorings that I’ve found later in the IDE: ground vs heaven.

It’s about goals, values and practices. Different tools can support different ones in different ways.