Live data from Hacker News

Benefits of Not Using an IDE

alexander-hansen.dev

261–270 of 389 posts

Re: Benefits of Not Using an IDE

#261
post #245

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…

I'm not even sure what to make of this. No sane developer I know will work without an IDE, much less prefer not using an IDE. Sure, we can probably write code without an IDE but in what way does that mean I'm a better developer? I feel myself cringing whenever I hear that a developer is going to reach for TextEdit or Notepad++ to write code.

Those editors aren't really part of the conversation anymore. I would say they were maybe over 12 years ago. Not so nowadays.

People are referring to SublimeText, Vim, Emacs, VSCode as Programming Text editors. VSCode is currently the most popular with vim as purist second and Emacs for "elite" hackers.

Re: Benefits of Not Using an IDE

#262

None of these feel particularly true to me, but in particular "less code is more readable" is just so clearly not true. If this was the case we'd all still be using Perl.

That's not even true in Perl.

However "less conceptually complex code is often easier to reason about' is absolutely true and it takes most people a fair amount of practice (and at least if you're me, a lot of wondering why your foot suddenly has a hole in it) to properly appreciate the difference between "less conceptually complex" and "less".

Re: Benefits of Not Using an IDE

#263

As the author points out, it does depend on the language. I switched to vim "full-time" when moving to a Go team. (Prev Java). Java is a language that does not lend itself to vim. Even just compiling and running a sufficiently large java program can be a pain without an IDE setup.

Neovim + LSP for C# development worked really great (until I ran into a Roslyn bug...). You might consider that an "IDE" though.

Editor/IDE is, ahem, a spectrum, not a binary.

Much holy warring ensues from people forgetting this ;)

Re: Benefits of Not Using an IDE

#264
Things I would greatly miss without Rubymine IDE:

1. interactive debugger

2. quick jump to function/constant implementation

3. show usages of function/constant under cursor

4. source control (Git) diffs

5. database browser

There are probably other things I'm forgetting to mention.

Sure, all of these can either be cobbled together to some degree out of the fundamental individual tools. You can add plugins to Vim or Emacs to help with many of these. With enough effort you can get close to what a polished IDE offers... but you're effectively making your own quirky, fragile, non-portable inferior IDE.

Yeah, a heavy IDE is slow to start and resource hungry. But hardware is cheap, and you only start the IDE once every few days (or weeks).

When I'm on a remote server, then I'm in a shell using vim. Fine, and doable. But to really build and get things done, saving my brain for actual problem solving, I wouldn't want to give up my IDE.

Also, some of the cons on OP's list are problems with the language being developed in, not the IDE.

Re: Benefits of Not Using an IDE

#265
post #126
post #51

Earlier quoted context omitted.

For the longest time I was a proponent of limited tooling. In many cases its good to know what you're automating or simplifying because I often found myself in situations where I may have environments I need to do things where I didn't have my tooling to lean on. In the past, this was possible without too much pressure on cognitive load. In modern code bases with all sorts of libraries and layers of abstraction ontop…

I think one could make the case that IDEs enable the type of complexity you're referring to. I don't know that I view that as a positive. A lot of software development is about managing complexity. IDEs allow developers to be sloppier. In the same way that faster CPUs have resulted in less optimized software over the years, IDEs have resulted in more complex software.

I'm not sure it's about sloppiness, some things are more complex than others. I believe IDEs are tools that allow one to handle more complexity. They have resulted in more complex software, but maybe that's because they've enabled us to write more complex software (and more of it).

Like an architect that uses CAD to create plans for a large building -- sure, they could do that with a pen on paper as well, but it would require a lot more people and a lot more time.

Re: Benefits of Not Using an IDE

#266

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

The good editors for programmers, since ancient times, for example already in the BRIEF editor for MS-DOS, before 1990, provide means to attach arbitrary CLI commands or scripts to menus or keyboard shortcuts.

Therefore, if you want you can invoke from inside the editor any commands needed for project management or for compiling/linking/running/debugging.

So in the end you are right that a powerful editor can do what an IDE does, after some customization.

The main difference with IDE's is that the project management provided by the IDE is normally non-optional, you are forced to always use it.

In 30 years of experiencing a very large number of IDE's I have not seen even a single one where using its project management functions would not waste a lot of time comparing to non-integrated alternatives.

I think that it is sad that only a very small number of developers know how to use correctly the ancient program "make". I do not know why this happened. To use correctly "make" I have never needed anything else besides reading the GNU make manual provided with gmake, but it seems that very few people read the manual.

The only time when I had to write makefiles was more than 20 years ago, when I have written a set of universal makefiles, which I have been using unchanged for every software project ever since. For any new project I need to just (optionally) add a file with some extra definitions, e.g. a list of directories where the source files are located or the names of the executables or libraries that must be built. If no definitions are provided, suitable defaults are used, e.g. the directory with the Makefile also contains the source files and the target is an executable with the same name as the directory. The Makefile per target directory may contain just a single line, with an include directive for the universal makefile. The universal makefile searches all the source directories for all the possible types of source files, selects automatically the appropriate compilers based on the language indicated by the file name extensions and on the cross-compilation target if one is specified, generates automatically all the dependencies and so on.

Instead of using "make" like this, almost all the open-source projects that I have seen have huge and immensely complicated makefiles that are much more difficult to read, understand and modify than the source files of the programs. When the makefiles are generated from templates, those are typically even more difficult to understand and modify.

I have no idea who loves those extremely complex methods of compiling and building software projects.

During the years, a lot of replacements for "make" have been introduced, which are better than "make" used wrongly, but I have not seen any which is better than "make" used rightly, without pointless complications.

Re: Benefits of Not Using an IDE

#267
post #204

Earlier quoted context omitted.

Why do doctors memorize medicines and their effects? Because it's faster to retrieve from memory than from documentation, even automatically presented documentation. It removes a context switch. The "brain cycles" are only run while doing the memorization, not while actually doing the work. > I don't recall ever struggling to remember syntax of languages I frequently code in. Because you've memorized it.

Do they have every single medicine memorized, or just the ones they most commonly use? Sure, I tend to remember the parts of libraries and apis I use often, but I'd still argue my editor having a reminder just a keystroke away is very beneficial.

More than just the most commonly used...

https://www.youtube.com/watch?v=jR7d56UeeeU <= Song-based memorization aide for 200 different medications

Re: Benefits of Not Using an IDE

#268

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…

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?

Re: Benefits of Not Using an IDE

#269

Earlier quoted context omitted.

I get those exact same warnings in Vim :)

Vanilla vim without any extension ? Otherwise you're just reimplementing your own IDE by hand in your vim config

It's 8 lines of config, more than half of which are cosmetic customizations for colorblindness accessibility that I'd need with an IDE anyway.

Re: Benefits of Not Using an IDE

#270
post #220

Earlier quoted context omitted.

Bacause git is powerful

Being able to do the wrong thing should not be confused with power. It's just a broken tool, that is broken so often, it needs this so-called "power" to clean up after it when it shits the bed.

The very power that allows you to screw up is the power thar makes the tool worth using in the first place.
Post reply on HN