Live data from Hacker News

Benefits of Not Using an IDE

alexander-hansen.dev

181–190 of 389 posts

Re: Benefits of Not Using an IDE

#181

Listen, long story short: just say no to nonsense like this. Given the choice of a) tooling, or b) no tooling, you’re not being smart, cool or clever by choosing b. Obviously, what tools you pick are important and heavy IDEs like IntelliJ are a trade off between speed and functionality, and yeah, more nimble tools do exist, and it’s definitely worth trying different development tools to see what makes you most produc…

Me too I dislike this kind of absolute statements about IDEs.

The author make a few good points about abusing some features; just like abusing any tool beyond their intended purposes.

IMO the best is the compromise of making the code IDE agnostic. So yeah, I do use IDEs and other tools in conjunction to that the tools I used and the skills I know are not bound to a specific project.

Re: Benefits of Not Using an IDE

#182

Listen, long story short: just say no to nonsense like this. Given the choice of a) tooling, or b) no tooling, you’re not being smart, cool or clever by choosing b. Obviously, what tools you pick are important and heavy IDEs like IntelliJ are a trade off between speed and functionality, and yeah, more nimble tools do exist, and it’s definitely worth trying different development tools to see what makes you most produc…

There is a very large difference between a very smart source code editor (e.g. Visual Studio Code) and a complete IDE. I consider the first essential and the second completely useless.

For editing or just navigating the source files, the smarter the editor is, the better.

On the other hand I have never seen any IDE where the management of projects (e.g. adding/deleting/moving/renaming files and setting compilation/linking options) and the compilation/building/running functions are as simple and fast as how that can be done without using an IDE (if you know how to do it in the right way).

Especially the Eclipse-based IDE's provided by many vendors of embedded products are the worst offenders.

I have wasted too much time with helping puzzled coworkers to find where in the hierarchy of IDE menus one could find whatever was needed. Even when knowing where to find the commands, using the IDE menus was many orders of magnitude slower than what I could do outside the IDE to perform the same function upon the project.

Re: Benefits of Not Using an IDE

#183
I guess it depends on your definition of an IDE, and where you're most comfortable/productive. I see a lot of posts about autocomplete, refactoring, linting, tooltips, tests-by-cursor/file, snippets. Thanks to a very friendly plugin community, you can get all of these in vim, emacs etc. I like vim, and it has nothing to do with hubris.

For me it's mostly about:

1. proximity to the terminal: I find cli tools very useful for most of my daily tasks. Using an editor puts the terminal first, and my editor second. One-off tasks are a tmux split/tab/session away and everything is neatly organized.

2. consistent interface: Working with a terminal is neat because everything is text and it is composable. Working in vim, all menus are just buffers - you can navigate them the same way as you would your code. Searching, navigation, jumping between windows/menus, filtering -- everything stays consistent.

3. quick n' dirty workflows: If I identify a task-specific workflow I want to improve in vim, it is pretty easy to drop in functions and/or keybindings to do what I want. The interface was built in a way that makes this easy. Writing a plugin for visualstudio, or jetbrains etc. requires knowing a lot more about the editor you're working in and how it's built. Maybe it just feels that way to me.

4. 0% adjustment when working over SSH: tabs, splits, etc. both in my editor and terminal are identical in an SSH session. No discomfort. Mostly useful at home.

5. low distraction: This one's personal. IDEs are intimidating, hundreds of buttons, menus, logs prompts all fighting for your attention. If I click through a deeply nested menu I often forget what I'm doing - especially if there is a fire. Functions and Muscle memory works for me. It clearly does not work for everyone.

Re: Benefits of Not Using an IDE

#184

Listen, long story short: just say no to nonsense like this. Given the choice of a) tooling, or b) no tooling, you’re not being smart, cool or clever by choosing b. Obviously, what tools you pick are important and heavy IDEs like IntelliJ are a trade off between speed and functionality, and yeah, more nimble tools do exist, and it’s definitely worth trying different development tools to see what makes you most produc…

The best developers I've found are the ones who know how to work without an IDE, even if their preference is to use one. Contrastingly, the worst, slowest developers I've worked with rely on their IDE without understanding what it's doing for them, and are helpless in new/unsupported situations. They also, 100% of the time, screw up their git repositories on a regular basis, and need someone who knows what they're do…

> The best developers I've found are the ones who know how to work without an IDE, even if their preference is to use one.

"Best" is a marketing term. How do you mean it as it applies to software quality or productivity?

I'm trying to understand if you're serious, since the author (who notes "I myself use IntelliJ, CLion and MySQL workbench almost everyday") doesn't even seem to believe what he's writing.

Re: Benefits of Not Using an IDE

#185

Listen, long story short: just say no to nonsense like this. Given the choice of a) tooling, or b) no tooling, you’re not being smart, cool or clever by choosing b. Obviously, what tools you pick are important and heavy IDEs like IntelliJ are a trade off between speed and functionality, and yeah, more nimble tools do exist, and it’s definitely worth trying different development tools to see what makes you most produc…

There is a very large difference between a very smart source code editor (e.g. Visual Studio Code) and a complete IDE. I consider the first essential and the second completely useless. For editing or just navigating the source files, the smarter the editor is, the better. On the other hand I have never seen any IDE where the management of projects (e.g. adding/deleting/moving/renaming files and setting compilation/li…

It also depends on the language. I don't think I'd consider working in a .NET project with an IDE, but it's overkill for Ruby or Javascript projects.

Re: Benefits of Not Using an IDE

#186

> Some Projects with 40000+ files might take >5 minutes to load. I would buy a more powerful computer. I have a project with 34908 files and IntelliJ doesn't care. Not quite 40_000+ files but still a lot :). Also with IntelliJ I make fewer mistakes. This "thing" is just more intelligent than I am. Add "SonarLint" to the game and I sometimes don't even know _why_ I am wrong :P. Also I think "Avoid IDE lock-in of your…

You need an IDE for Java. That language is built for IDE. The requirement is a little bit less for some other popular languages.

Any statically typed language benefits greatly from an IDE, if only for the automatic refactoring.

Dynamically typed languages can hardly be automatically refactored.

Re: Benefits of Not Using an IDE

#187
post #174

Earlier quoted context omitted.

It kind of depends on how we are defining IDE. Every developer I know who doesn't use an IDE uses either VS Code, vim or emacs with a bunch of plugins which approximate IDE functionality (but are much more customizable and configurable which I suspect is what they like about it). At the end of the day every IDE is just a text editor with plugins too. It really comes down to whether you want something that just works…

Yeah, that's true. For me, it'd be somewhat irritating to work without LSP features like "jump to definition," "hover to view doc string," or even tab completion. Arguably, these are IDE features. But when it comes to higher-level features like build tooling or even grepping, I'd much rather work from a command line. Something like tab completion can't exist outside the editor, but as soon as features can exist as se…

True. I've been slowly moving towards VSCode from IntelliJ over the past year or so and that has mostly been driven by better Scala LSP implementation (Metals has gotten immeasurably better over that time). And even when I used IntelliJ exclusively, I more or less used it as a text editor with code completion/jump to definition. I still used a separate terminal for git, builds, etc.

I think there are also certain efficiencies that come with bundling as well though. You end up with a bunch of things specifically designed to work together so they in some cases are better than the generic, composable tools. I still find myself firing up IntelliJ from time to time because sometimes it just seems to work better (faster, more responsive, etc) even though the feature I am using technically exists in VSCode + Metals.

Re: Benefits of Not Using an IDE

#188

The author seems to use IDE for one purpose only: to auto-generate boilerplate code. But this is far from the only benefits of IDEs! I rarely use IDEs for code generation, I don't even like autocomplete. For this stuff I use code snippets; I develop collections of those for any language I use. You don't need an IDE for it; any good text editor has such features. For me really important features of a good IDE are: - N…

Just about every editor has a language server support nowadays, that's far from a compelling argument to use an IDE. Even emacs/vim have those now.

For Java at least, the language server built into IntelliJ is comically further ahead than VS Code + extensions.

Re: Benefits of Not Using an IDE

#189

Listen, long story short: just say no to nonsense like this. Given the choice of a) tooling, or b) no tooling, you’re not being smart, cool or clever by choosing b. Obviously, what tools you pick are important and heavy IDEs like IntelliJ are a trade off between speed and functionality, and yeah, more nimble tools do exist, and it’s definitely worth trying different development tools to see what makes you most produc…

IDE !== tooling

Your sentiment about the right tools for the job is spot on, and one should strive to choose tools that make you more productive but IDEs are one tool of many.

There's a host of other things to consider, like what is the testing environment like, library management, repository layout, etc. When you're working across a wide variety of languages, setups, environments, etc. choosing an IDE like Eclipse or Atom might not always be the right tool for the job. This also completely neglects the fact that vi/vim and Emacs, while mostly considered "text editors", can be enhanced to essentially be IDEs in their own right.

I think the article's arguments are weak, but so is this counter-argument, sorry.

Re: Benefits of Not Using an IDE

#190

Listen, long story short: just say no to nonsense like this. Given the choice of a) tooling, or b) no tooling, you’re not being smart, cool or clever by choosing b. Obviously, what tools you pick are important and heavy IDEs like IntelliJ are a trade off between speed and functionality, and yeah, more nimble tools do exist, and it’s definitely worth trying different development tools to see what makes you most produc…

There is a very large difference between a very smart source code editor (e.g. Visual Studio Code) and a complete IDE. I consider the first essential and the second completely useless. For editing or just navigating the source files, the smarter the editor is, the better. On the other hand I have never seen any IDE where the management of projects (e.g. adding/deleting/moving/renaming files and setting compilation/li…

> There is a very large difference between a very smart source code editor (e.g. Visual Studio Code) and a complete IDE. I consider the first essential and the second completely useless.

I know VSCode is positioned this way in the market, probably to differentiate it from VS. And I switched to it from a much less “smart” editor (TextMate, which I still adore! No offense meant to TM creator/maintainers!).

I’m having a hard time seeing this as a clear distinction, however. I mean, VSCode has a built in debugger/protocol, language server/protocol/intellisense, file system aware refactoring, code rewriting refactoring, integrated git client, inline blame and history navigation, GitHub integration, linter integration including automated fixes…

I understand it’s a different tool than VS, but I honestly don’t have a clear understanding of what separates editor from IDE in this case.

Post reply on HN