
Attached: 1 image @[email protected] the crowd went wild for this one
@leo @hipsterelectron Truly, unhinged.
I do find that mood often has an effect on my ability to program. Specifically, lacking guidance in the face of an unyielding problem often deeply frustrates me, sometimes to the point of needing to pivot to a very different approach. I don't think a patronizing IDE will help solve this issue.
@fog I know you're disagreeing, but I think you've gotten to the core of the point I'm trying to make.
Many IDE features make it easier to write more code in less time. Programmers often want this, but I strongly believe that more code makes programs worse. Faster coding means less time spent designing elegant solutions.
The point of raising this question is less to assert my own opinion (though I've made myself clear) and more to note that evidence in favour of either opinion is lacking.
@vtrlx you are absolutely right. I love to write less code (so that I have more time just to think about it or even to play with alternatives or other projects). But having the IDE show me the docs of a function I am using instead of having to look it up in the docs removes some friction and let me concentrate on the code even more. That's all and I think we're aligned on the basic principles here.
BTW, trying out your "shell" is on my roadmap, just after FOSDEM.
What is your comparison baseline?
I use emacs for small stuff and switch to IDEs for bigger things. So emacs is my baseline, though you could argue it is an IDE of itself.
I somewhat heavily use IDE features like "rename", "go to declaration", "find all uses", "move to base class". Doing any of these is faster with an IDE than it would be with emacs + grep.
Also, I'll do these more freely when in front of an IDE, resulting in better, cleaner code.
You didn't ask about AI, did you?
@vtrlx @dj3ei I use vim and plain git, and I'm slow. I edit one file at a time most of the time.
I would not be much faster using an IDE, because what takes me time is to read and understand the code I'm editing, and its surroundings.
I have a fast teammate that uses an IDE but commits strings of "typo/fix".
As long as you can stay focused on your task, it's not that hard to use a plain editor on medium-sized code bases.
What's actually hard is to stay focused in the modern workplace 🙃.
@vtrlx @dj3ei
What you’re saying is equivalent to «you should apply patch by hand because otherwise it makes you dependent on Git» or things like that.
Renaming something automatically is just removing tedious, deterministic work, without mistake; it has nothing to do with offloading a cognitive process onto an LLM???
@vtrlx @dj3ei
Depends what you mean by «IDE». Renaming stuff is something vim can do too, it doesn’t really add complexity to the editor itself, tho you might not prefer it or like how it works.
As for cognitive offloading, the features I usually think of are autocomplete and code suggestions.
I don’t know what’s code suggestions, I don’t use them. I don’t really see how autocomplete is different than going through docs manually (well I get some people could just use whatever seems to fit without really thinking, but people also copy-paste stuff from StackOverlow without thinking).
In the future, consider interpreting unusual arguments in good faith instead of making highly questionable comparisons as you have.
Well, I’m not sure how they’re «highly questionable»? I assure you I try to assume good faith, but I am annoyed by your initial comparison to using LLMs. I would argue that what bloats project is a capitalist culture more than features than automate deterministic work.
@vtrlx I use an IDE most of the time. I see 3 kind of benefits
1. reading assistance
Code navigation, navigable call hierarchy analysis, navigable dependency analysis, finding references, syntax coloration, symbol search (variable, function name, class name in oof languages),quick documentation access, quick source code access
2. writing assistance
Auto-completion, method suggestion and api discovery these 2 especially when backed by a strong type system), automatic safe refactorings (symbol rename, function extraction, call signature update, capitalisation, and in OO languages class or interface extraction)
3. Trivial interactive debugging especially for tests.