Live data from Hacker News

Benefits of Not Using an IDE

alexander-hansen.dev

291–300 of 389 posts

Re: Benefits of Not Using an IDE

#291

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…

Exactly this. Productive use of IDEs (or vim, or emacs, or vsc, or …) is the opposite of cargo-culting: one knows exactly how to decompose the abstractions presented by the IDE. Should they fail, or prove limited, one grumbles a bit and then goes and does it by hand.

Using or not using an IDE because good developers use but don’t need an IDE misses the point. It’s never the choice of tool, it’s knowing how to use it.

Re: Benefits of Not Using an IDE

#292
I started with Q-Basic about 30 years ago, which came with an IDE which was as powerful as Textedit or Nano. No auto-completion, no refactoring, nothing. Then came Delphi, MS Visual Studio, Visual Basic, Eclipse, IntelliJ/AppCode/Android Studio, Xcode, Visual Studio Code - all in that order.

I came to realize that the more the IDE did for me the worse I became as a programmer!

Today I’m back to plain text editing with a powerful text manipulation tool - (Neo)Vim.

And I program like back in the 90s — I have all file names, methods, the complete code structure of _all_ products and services of our company on my mind. I can see the final solution in my mind before I start typing a single letter. Refactoring is done with regex, it works the same in all programming languages. I work full stack. And I’m really fast. And I’m not tired by having all code and APIs in my mind. Because programming is pure joy again for me. Pure text editing is what makes me fast and having tons of fun. I ship so fast and things very rarely break. Bugs are fixed within minutes because I see the root causes flashing up in my mind.

To me IDEs are for intermediate programmers. It’s a good thing to temporarily improve your skills but I don’t see them as a means to achieve mastery, at least not for the mastery that I could achieve.

Re: Benefits of Not Using an IDE

#293

Earlier quoted context omitted.

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…

Nah if you ever used a modern IDE from the jetbrains line. In order to even get the IDE working with a project you need to configure it to work. That absolutely necessitates understanding of the details of what's going on. You are literally building automation by using additional tooling. It doesn't build it for you. Also screwing up a git repo, what does that even mean? A bad commit?

If you have a Maven project, IntelliJ will open it and configure itself automatically. The IDE user doesn't need to know anything about Maven build configurations. It just works.

Re: Benefits of Not Using an IDE

#294
One of my personal role models, https://github.com/Gabriel439/, uses mostly vanilla Vim. Maybe they'd be 10x as productive with an IDE, but I doubt it. And in any case, the difference in quality and output between them and me is certainly not the tools.

I don't think the tooling matters at all, unless you work in a very specific field where certain tools may be mandatory.

Whether you look up APIs in documentation or read that same documentation in your editor, who cares? Seeing red squiggles as you type or in a terminal window that refreshes on change? Who cares. It wouldn't even make a difference if you only saw errors when manually starting compilation.

None of it really matters in the end.

Re: Benefits of Not Using an IDE

#295

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

Pro tip from an ex-performance guy: Allowing your developers to use machines more powerful than your minimum targeted device is a very good way to produce software that will not run on your maximum targeted device.

The minimum targeted device is sometimes not even capable of running the development environment. Doom was developed on $10k NeXT workstations. Good luck trying to develop Doom on a 386.

Re: Benefits of Not Using an IDE

#297

Earlier quoted context omitted.

I'd rather have my doctor consulting recent knowledge base than use their 30 year old memories from school. Medicine is not set in stone and recommendations change.

As I've heard it, use your memory, then back it up with documentation if/when you need the certainty. You can't easily consider a treatment or remedy or library function you don't remember.

The problem with using cache is that you can feel certain it's correct but you don't really know until you check with the source. And since you check with the source anyway, the cache becomes a drag to correctness

Re: Benefits of Not Using an IDE

#298
post #11

Earlier quoted context omitted.

Refactoring is where it's at for me. The ability to rename functions and variables across not just a local file, but all references in the code base is huge. Relatedly, the ability to find all usages of a symbol and navigate between them is indispensable for me at this point.

> Relatedly, the ability to find all usages of a symbol and navigate between them is indispensable for me at this point. I don't know if people just aren't aware, but vi and emacs have been doing this since at least the 90s. This isn't some fancy feature that requires an IDE. Recently the support has improved even more through LSP.

> I don't know if people just aren't aware, but vi and emacs have been doing this since at least the 90s. This isn't some fancy feature that requires an IDE. Recently the support has improved even more through LSP.

We know about them. When you start adding these scripts to vi and Emacs they're no longer in the realm of plain text editors. You can add a bunch of hacks to turn vi or Emacs into a poor mans IDE.

Re: Benefits of Not Using an IDE

#299
post #236

Earlier quoted context omitted.

The line between the two isn't very clear, nor is it productive to really argue about it, IMO

>nor is it productive to really argue about it I do agree

It was still a good question!

There is a line between a tool:

A) that makes managing relevant information more efficient, while not hiding any of that information.

B) vs. a tool that hides some details, providing a tradeoff of higher productivity MOST of the time, but at the cost of requiring a fall back tool on other (rare?) occasions.

I would say, once a tool stops providing access to any (even rarely) relevant details, it has become an abstraction.

Re: Benefits of Not Using an IDE

#300
In the early days of IDEs (1990s) there were projects where I spent more time trying to figure out the IDE than I did on the project code! Same goes for many frameworks. Just when you get competent, the IDE/framework changes. AFter a few generations, informal standards developed in IDE functionality so it was easier to switch. But still by far the most powerful tool I know that I only had to learn once is the Unix pipeline.
Post reply on HN