Live data from Hacker News

Benefits of Not Using an IDE

alexander-hansen.dev

361–370 of 389 posts

Re: Benefits of Not Using an IDE

#361

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…

I'd like to point out that you don't need an IDE for error reporting. Most editors these days integrate with a language server for inline errors and linting. Even features such as jump-to have existed in Vim/emacs for many years. I would add graphical debuggers to your list. You can get by with command line debuggers and there are external attachable debuggers but neither is really comparable to an IDE.

Depends on a language.

Perl for example is extremely difficult for an editor to get right, especially if you use OO framework other than Moose.

On the other hand, as others pointed out, where is the line between an IDE and a sufficiently customized editor using language server?

Re: Benefits of Not Using an IDE

#362

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…

I'd like to point out that you don't need an IDE for error reporting. Most editors these days integrate with a language server for inline errors and linting. Even features such as jump-to have existed in Vim/emacs for many years. I would add graphical debuggers to your list. You can get by with command line debuggers and there are external attachable debuggers but neither is really comparable to an IDE.

... and you are right about graphical debuggers.

I left them out because I very rarely use them, unfortunately. It's my personal vice, of sort. I tried to learn to use and love them, more than once, but never learned to be more efficient with them than without, and when a deadline hits, usually drop them and never look back.

I grew up as a programmer without graphical debuggers, developed a rather sophisticated way to debug with essentially "print" statements, but on steroids -- I have a library of debugging utilities which I kind of recreate for any language I am working with. I've a habit to anticipate where they may be needed, and my code is usually peppered with commented out debugging statements (of course all of them generated via code snippets), which help me to be very efficient in debugging my code.

I must say that some of my collaborators over the years hated it, others loved it, adapted my system and used it in their own code.

I think it would be good to un-learn this habit and learn to use debuggers efficiently, and to produce a bit more conventional code. On the other hand, life is short, and there are only so many fights you can hope to win...

Re: Benefits of Not Using an IDE

#363

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…

If those are the things you're using to define an ide, then vim/emacs/vscode have been ides for a while now. Seriously, lsps have gotten really good.

... Including refactoring?

Re: Benefits of Not Using an IDE

#364

Earlier quoted context omitted.

I'd like to point out that you don't need an IDE for error reporting. Most editors these days integrate with a language server for inline errors and linting. Even features such as jump-to have existed in Vim/emacs for many years. I would add graphical debuggers to your list. You can get by with command line debuggers and there are external attachable debuggers but neither is really comparable to an IDE.

... and you are right about graphical debuggers. I left them out because I very rarely use them, unfortunately. It's my personal vice, of sort. I tried to learn to use and love them, more than once, but never learned to be more efficient with them than without, and when a deadline hits, usually drop them and never look back. I grew up as a programmer without graphical debuggers, developed a rather sophisticated way t…

It's easier than you think! I picked up command line debugging in a couple days when working with software that was extremely difficult to printf debug.

Re: Benefits of Not Using an IDE

#365

Earlier quoted context omitted.

There isn’t anything a CNC can make that someone with a file and a lot of times on their hands cant. Heck you can do that with a drill too mostly using jigs. I had to create a few times quite complex shapes from a block of aluminum and what I did I just 3D print a bunch of jigs and drilled out 98-99% of the material away in the same way a CNC would and finished it with dremmel.

> There isn’t anything a CNC can make that someone with a file and a lot of times on their hands cant. True, but the comparison here was against a power drill, not a person with a file and lots of time on his hands. While it may be theoretically possible to achieve the accuracy of a CNC mill using a power drill it would not be the tool of choice. Achieving the repeatability of a CNC mill using hand tools is hard, the…

I don't feel I pulled in the CNC through a side door, I was responding to your comment of:

`laser-guided auto-centering/leveling drill with automatic drill bit changer/sharpener, depth guide, dust evacuation and material sensor with automatic lookup for which hole size and depth to use for the given task.`

Which at that point you probably, as I said, just want a CNC machine.

Given I have and use a handheld drill, a drill press, a manual mill, a CNC mill, a manual lathe, and a CNC lathe, as well as Vim, Emacs, VS Code, and Intellij, I think I'm decently well informed on this topic.

If you setup a CNC mill, you can use it as a manual mill, some people just don't like those ergonomics. I mainly keep my manual mill as a better drill press, and use the CNC for most stuff.

I generally just use intellij for everything in the same way.

Re: Benefits of Not Using an IDE

#366
post #165

Earlier quoted context omitted.

The thing I hate most about IDEs is when they insinuate themselves into a project's development workflow so deeply that you can't make do without them. Do I have to spin up a whole session of the IDE just to run my test suite? Do I have to dig through eleven nested GUI settings dialogues to find out what the command to build the damn project is, just so I can tweak a build parameter? Is there so much boilerplate or X…

> Do I have to spin up a whole session of the IDE just to run my test suite? Do I have to dig through eleven nested GUI settings dialogues to find out what the command to build the damn project is, just so I can tweak a build parameter? Can you say what language/platform you talk abojt here? I currently work in Kotlin with IntelliJ where sadly the only working IDE is IntelliJ,but you can build it just fine and even f…

I was mostly complaining about an old Visual Studio project I used to work on.

Re: Benefits of Not Using an IDE

#367

Earlier quoted context omitted.

If those are the things you're using to define an ide, then vim/emacs/vscode have been ides for a while now. Seriously, lsps have gotten really good.

... Including refactoring?

By refactor do you mean rename across the project, or extracting a chunk of code out into a function/method?

Rename across the project is introduced by lsps.

As for renaming, I don't use it particularly often, but it's documented in microsoft's code action documentation[0] to include: Extract method, Extract function, Extract variable, Extract interface from class (some of those might be language/server dependent).

The neovim framework[1] at least does provide a wrapper for the code action.

VSCode gets most of its capabilities outside text editing from language servers. So the rule of thumb is that if VSCode has it, vim/neovim/emacs usually have it these days.

[0] https://microsoft.github.io/language-server-protocol/specifi...

[1]https://neovim.io/doc/user/lsp.html

Re: Benefits of Not Using an IDE

#368
post #286

Earlier quoted context omitted.

> 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…

I think the difference is that when you start out with VSCode, you tend to do things by editing text and using the CLI, and with time you add plugins and tools that makes it more into an IDE. When starting out with IntelliJ or Pycharm or whatever, you first start by trying to understand the IDE itself to generate your project, and then you start writing code inside the project. A bit like libraries and frameworks. At…

My experience has been that I’ve installed very few extensions, and all of them improve the editing experience. I haven’t added anything that provides an IDE experience, I just use those features that are built in.

Re: Benefits of Not Using an IDE

#369
post #366

Earlier quoted context omitted.

> Do I have to spin up a whole session of the IDE just to run my test suite? Do I have to dig through eleven nested GUI settings dialogues to find out what the command to build the damn project is, just so I can tweak a build parameter? Can you say what language/platform you talk abojt here? I currently work in Kotlin with IntelliJ where sadly the only working IDE is IntelliJ,but you can build it just fine and even f…

I was mostly complaining about an old Visual Studio project I used to work on.

Then we agree very much.

I can happily say that this problem doesn't exist on the other platforms I deal with but I guess you already know :-)

Re: Benefits of Not Using an IDE

#370

Earlier quoted context omitted.

Yes that's configuration for the IDE. But the project itself is configured off of Maven, the project files for the IDE are ADDITIONAL settings for the IDE itself. For example in CLion you can't create a new target from the IDE, you have to edit the cmake file.

Your wording is not precise > In order to even get the IDE working with a project you need to configure it to work. Meaning you already have a Maven/SBT/Gradle project and need to get the IDE to work with it.

"it" in this case refers to the project. If it refers to the IDE then the statement is false. So by logic it must refer to the project itself.

Why else would I come on here to make some claim that is false?

Post reply on HN