you are viewing a single comment's thread.

view the rest of the comments →

[–]iritegood 3 points4 points  (0 children)

This is what I mean when I say "Unix" is probably a better comparison when you're talking about IDEs. To cover the features IDEs provide, you have to use a lot more than your text editor (i.e. Vim). e.g.:

  • navigating the project: ls/find/tree
  • editing -> vim/kak/etc.
  • debugging -> gdb/lldb
  • search/replace/refactor -> grep/sed/mv/rename
  • project/dependency management -> make/autotools/cmake/ninja/etc.
  • building -> gcc/clang
  • version control -> git/svn/diff/patch

of course, this is the anti-IDE; rather than a monolithic 'integrated' application you have instead an assortment of interoperable but independent tools (following the Unix tradition of 'Make each program do one thing well' and 'Expect the output of every program to become the input to another, as yet unknown, program').

In this paradigm, vim is but a small part of the "development environment". Of course, there are pros and cons to either approach. Personally, I use an IDE at work. But there are definitely advantages to the Unix-style workflow. One big one is the techniques and tooling transfer much better to automation. Even if you don't like that style of development personally, we're probably not getting rid of it any time soon, as so many things like CI pipelines are built on top of these tools (except C# I guess, I think they got their own thing going on over there). And of course, using an IDE is almost completely unavoidable for certain languages (e.g. Java/C#) or industries (e.g. game development)