Live data from Hacker News

Benefits of Not Using an IDE

alexander-hansen.dev

51–60 of 389 posts

Re: Benefits of Not Using an IDE

#51
post #9

Not having an IDE doesn't make me remember things. In my case it just means I use a very limited subset of the features, because I'm not being reminded of the things I don't remember and I don't get to see newer language features unless I happen to read a blog post or see something here on HN. I tend to fall back to implementing things with primitives and fail to use built-in functionality.

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 of abstraction ontop of abstraction ad infinitum, it's just not feasible anymore. I got to a point in certain development ecosystems where not relying on tooling started to really hinder me. Self reliance was no longer a strength and a point occurred where I simply had to lean on more and more tooling or I'd be lost.

I still think if you have tooling that does something, you should understand what it's doing and how it's doing, at least once, then let it do every subsequent need for that task. It's good not to have black boxes in your ecosystem. Unfortunately even that is becoming difficult because of the number of layers of abstraction in some ecosystems (especially web development).

I've never been a fan of black boxes that I simply trust and don't know their tradespaces, then hope for the best.

Re: Benefits of Not Using an IDE

#52

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…

“Power drills have batteries or cords and motors that wear down and they’re more expensive and complex and can break more easily and it’s just smarter to bring hand crank tools to the worksite.”

- Nobody

Re: Benefits of Not Using an IDE

#53
post #13

The difference between an IDE and a souped-up vim or emacs configuration is ... very little. Your average fancy pants vim config has auto-completion, debuggers, etc.

I think this is not wrong. When you are using the better quality IDEs (for example C# with Visual Studio, or Java with IntelliJ), they offer you a lot this isn't there in Emacs or VIM.

I currently mostly work in Python using Emacs, because I don't know of anything that adds really compelling full-blown IDE features for a dynamically typed language.

I will also say that Datagrip and Microsoft SQL Server Studio are both way ahead of any Emacs SQL packages I've tried.

Re: Benefits of Not Using an IDE

#54
These days I'm seeing more common support for using an IDE with an external build system. Best of both worlds... you get to have the IDE add the tedious import statements at the top of your file, and people without the IDE won't have any problems with your project.

Depending on the language and build system, this might be something I set up manually (set up an IDE project to mirror the build system), something you can set up automatically (export build system to IDE project), or there might be a standard layout for source code that mostly works.

Re: Benefits of Not Using an IDE

#55
post #4

A good ide is all about auto completion and refactoring tools. The autocompletion means you don’t have to spend as much time memorizing apis, so you can focus more on simplifying your design and minimizing coupling. In something like unreal engine, the intellisense really sets ides apart. The refactoring means you can quickly and easily make large changes to make the code easier to work in. You can just work signific…

I'm surprised how many of my colleagues don't use the debugging features of their IDE. Being able to step through code line by line and see all the variables states at any time and evaluate arbitrary expressions given those states seems far superior to print/console based guesstimation. However, somehow my colleagues still do great work!

Ah but who will debug the debuggers.

Re: Benefits of Not Using an IDE

#56
I think the benefits of working with KISS tools - the opposite of 'everything but the kitchen sink' in Emacs parlance - is that it significantly lowers the cognitive load. This may sound odd when comparing a rather bare-bones vi + tools setup with a bells-and-whistles IDE like Visual/Android/whatever Studio but it just ends up working that way for me. I already need to keep enough state in my head for the project I'm working on so I'd rather not have to worry over the state of whatever tools I'm using.

As an aside, I feel the same about the unbridled growth of tooling around certain languages (Javascript being a prime example) and environments (Android comes to mind). Maybe it is just because of the way I started out with 8-bit assembly where a macro assembler was a luxury which could not entirely be trusted to do the right thing but I know I'm not the only one.

Re: Benefits of Not Using an IDE

#57

In Linux, it often feels like the whole OS is the IDE. In the same shell, you can edit source files, compile, debug, execute, rename, search, create and execute scripts to do literally anything with any language, use git, surf the web, update, reboot, launch a game, etc, etc. An IDE on top of that always felt restricting to me. Like why limit yourself? But maybe that's a windows/Mac thing.

What about refactoring tools? What about integrated debugging, stepping right into the code you're editing on your screen? What about hot reload?

If Unixheads would stop pretending their stone-knives-and-bearskins development tools were equivalent to full-fledged IDEs, development would have advanced much more than it has decades ago.

Re: Benefits of Not Using an IDE

#58

Maybe I’m weird, but at some point I stopped fixating on which tools to use and just settled on a personal workflow: * terminal open at root of project used for source control * one or more tabs for ssh/VMs etc * IDE/VSCode/vim for editing Any of those is fine. And sometimes I switch between them depending on my mood. If I’m out and about it can be nice to conserve battery and focus by going full terminal mode. If I…

I'm similar.

When I need to create a lot of "new" code, I'll usually use nvim. When I need to edit/refactor existing code, I'll more often use atom or vscode.

I like both a lot. When bashing out code that is already reasonably clear in my head, vim works faster and with less "overhead". An ide like vscode works better for me when I need a good global search & replace, or something the ide has plugins for.

Re: Benefits of Not Using an IDE

#59
None of this matters in the slightest as soon as you have to work with other people on stuff. At that point common tooling is more important than specific personalised tooling.

If everyone is using IntelliJ and you're using Atom, it's going to be problematic. Not because of either of those tools, but because you now have a discrepancy that is not relevant to the work you're doing yet it's creating problems for the work you're doing. Adding friction like that doesn't help anyone.

"Works on my machine" doesn't just apply to the artifacts you build, it also applies to the way you work on your project.

Of course there is some difference between multiple people editing random plain text in a random editor and multiple people building a piece of software with a toolchain, deployment strategy, tests etc. If everyone in your team can scaffold the tests in 1 second because that's what the IDE does, and you're the only one that has to burn half a day on manually stubbing out the same scaffolding, you're the problem.

Re: Benefits of Not Using an IDE

#60

There is a common perception with electric bicycles that the rider will pedal less hard to go the same speed. But there is an alternative: they could pedal the same amount and go faster. I kind of view IDEs like that. You can use it as a crutch, or you can take the energy you would have used thinking about the things the IDE is now doing for you and focus it elsewhere.

veering off-topic, that's one of the problems I have with electric bikes - they stop being bicycles and become another kind of vehicle - a faster vehicle that needs longer stopping distances and now has a highe r fatality rate when colliding with a pedestrian.

We see this in London cycle lanes. Some cycles are doing a commute, some are trying out for the olympics, some people are doing 25 on a electric scooter and these are alien - hard to predict because they don't obey our intuition about physics. A guy on a scooter does 10mph tops and puts his foot down a lot.

Post reply on HN