News for hackers. Stuff that matters.
Re:Benefits of Not Using an IDE by wokwokwok on Saturday August 21, 2021 @10:28AM (#28257297)
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 productive.

…but “no IDE” is just rejecting everything because you didn’t like one thing; it’s just being lazy.

Re:Benefits of Not Using an IDE by drunkpotato on Saturday August 21, 2021 @12:16PM (#28258136)
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 doing to help them out, costing their colleagues time and frustration helping them when they won't help themselves.

Some people from the first group find they prefer not using an IDE. It's rather the opposite of laziness, it's choosing the workflow they find most productive, even if it differs from your preferred workflow.

Re:Benefits of Not Using an IDE by bccdee on Saturday August 21, 2021 @12:32PM (#28258285)
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 XML or whatever within the frameworks we're using that writing or changing code is impossible without automation? These are bad things.

An IDE can be a powerful abstraction, but when the underlying layer it's abstracting over becomes inaccessible, then all it's doing is adding more complexity by obscuring concrete details.

Re:Benefits of Not Using an IDE by jeffeld on Saturday August 21, 2021 @01:14PM (#28258671)
"An IDE can be a powerful abstraction, but when the underlying layer it's abstracting over becomes inaccessible, then all it's doing is adding more complexity by obscuring concrete details"

This. All day long.

Re:Benefits of Not Using an IDE by squarefoot on Saturday August 21, 2021 @01:57PM (#28259052)
And night, and the whole week.

I can edit, compile and install my kernel and all its drivers in a few command lines from shell, why more and more projects, most way simpler than a kernel, ask me to install for example VSC just to build them? Give me a Makefile and possibly enough instructions to integrate its options into the favorite IDE, but making the IDE a requirement, especially for small projects or those one simply wants to build and install, adds only more complexity.

Re:Benefits of Not Using an IDE by rzwitserloot on Saturday August 21, 2021 @01:19PM (#28258715)
> Do I have to spin up a whole session of the IDE just to run my test suite?

In the java ecosystem at least, the answer is no. But in highly CI-based situations, the answer is still no, but you DO need the CI system to be up, and the only way to run a test at all is to just commit something and see the CI system run it, e.g. because the tests require a database engine that isn't installed on your development machine.

I'm not saying that's a good idea, just saying that I have seen that in real (as in, for pay and for real eyeballs) dev teams. I've never observed 'I only know how to run my tests inside the IDE'. IDEs (again, this is mostly speaking from the perspective of the java ecosystem) use build tools as project definitions, and those build tests all know how to run the test suite from the command line. `mvn test` is all you need to type.

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

No, it's `mvn install` or `mvn build` or whatever take on 'build' you are looking for specifically.

If you ditch your IDE, __nothing__ whatsoever would change: Your build is _still_ based on a build tool. (it better be, in the sense that trying to run the build by hand or by patching a bunch of shell scripts together is almost 100% correlated with very low quality dev teams in my experience).

In other words...

what are you on about? IDEs don't abstract such details away to extreme degrees. In fact, insofar that they ever did (generally in GUI builders, which, what with the web and languages like java and Adobe Air and silverlight falling by the wayside in the past few years for front-end dev - are kinda dead), the new takes on such tools all very explicitly keep the whole 'actually this just edits a text file of some sort and this automated click-the-GUI-together tool is bending over backwards to ensure that the underlying file looks as close as possible to what you would write by hand.

Re:Benefits of Not Using an IDE by szatkus on Saturday August 21, 2021 @02:02PM (#28259098)
In my current organization I saw a project, where there is no Maven. The build system is a couple of configuration files for Eclipse IDE and that's the only way to run it. I'm glad I didn't have to do anything around that.
Re:Benefits of Not Using an IDE by eropple on Saturday August 21, 2021 @02:31PM (#28259321)
That definitely does happen with really poorly considered starting points, but in my experience it's also maybe a day's work to pull that apart and put it into Maven/Gradle (unless you've also got, like, some really terrifying ant stuff to go with it, and even then you can sometimes ask "is this even necessary?" and get with the chopping down).

IntelliJ even has tooling to get you started:

https://www.jetbrains.com/help/idea/convert-a-regular-projec...

Re:Benefits of Not Using an IDE by touisteur on Saturday August 21, 2021 @05:21PM (#28260682)
The ant eclipse plugin does some lifting for you. Sometimes, it can be better this way than having 2 buildthings not in sync... But yeah ant all the way if everyone's happy with it...
Re:Benefits of Not Using an IDE by eitland on Sunday August 22, 2021 @02:38AM (#28263415)
I had to fix one such case 6 years ago where the build procedure was to build in IntelliJ.

It took a day or two to get kt over to Maven: basically create a Maven file, make sure everything were in the correct standard Java layout, then build and unzip the war file and compare it to the unzipped war file from the existing build process repeatedly while getting the last tweaks in place.

Re:Benefits of Not Using an IDE by AmpsterMan on Saturday August 21, 2021 @02:21PM (#28259252)
My team used to have stuff off that nature after we inherited the code base. Acquisition and movement of HQ meant a brand new team on a 15 year old B2B SaaS. Trying to move away from the combination of shell scripts, perl scripts, eclipse config, etc. Over to Gradle has been painful, but with it for onboarding new devs.
Re:Benefits of Not Using an IDE by wheybags on Saturday August 21, 2021 @03:38PM (#28259892)
If you're not familiar with them, have a look at visual studio SLN files. They are exactly what was described. There is more and more being pushed into the msbuild files instead (a separate format, that is at least theoretically separate from visual studio) but the weird and underdocumented sln file still exists. And msbuild files are absolutely unreadable XML crap anyway, good luck writing one by hand.
Re:Benefits of Not Using an IDE by bccdee on Saturday August 21, 2021 @08:41PM (#28261925)
> have a look at visual studio SLN files. They are exactly what was described.

You nailed it in one — visual studio is exactly what I was complaining about.

Re:Benefits of Not Using an IDE by bccdee on Saturday August 21, 2021 @08:39PM (#28261913)
>> Do I have to spin up a whole session of the IDE just to run my test suite?

> what are you on about?

This complaint is based on a .NET project I used to work on. I'm sure this isn't universally the case for everything .NET, but I had to work with one instance of visual studio open in the code repository and a second instance of visual studio open in the test repository. Everything we did was configured in and executed through VS. It was pretty nasty.

Re:Benefits of Not Using an IDE by jeffterns8 on Monday August 23, 2021 @11:42AM (#28277551)
Poor project management != fault of IDE, it's the one responsible for choosing to configure the project in said way. That's not dismissing the fact that VS and other IDEs allow, and even recommend, nasty setups but, unless they force them, I don't see blaming optional features or poor usage of a tool as a rational reason to write off an entire toolset that can be powerful and productive.
Re:Benefits of Not Using an IDE by bccdee on Monday August 23, 2021 @11:58PM (#28284940)
It was an older project — from what I've heard, better VS project structuring has only been possible in newer VS editions.
Re:Benefits of Not Using an IDE by jeffterns8 on Tuesday August 24, 2021 @08:58AM (#28288232)
How old are we talking? I've worked with versions of VS since VS 2005 and don't recall ever having issues with project structuring.
Re:Benefits of Not Using an IDE by Yajirobe on Saturday August 21, 2021 @02:14PM (#28259198)
> 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.

Isn't this the case with Android Studio? Is it even possible to do Android development without Android Studio?

Re:Benefits of Not Using an IDE by papaf on Saturday August 21, 2021 @03:38PM (#28259886)
Is it even possible to do Android development without Android Studio?

Oh yes: https://www.lambdanative.org/

Re:Benefits of Not Using an IDE by Kwpolska on Sunday August 22, 2021 @08:00AM (#28264755)
You can build an app from the command line with Gradle: https://developer.android.com/studio/build/building-cmdline

That said, it would be quite difficult to write anything substantial without Android Studio.

Re:Benefits of Not Using an IDE by eitland on Sunday August 22, 2021 @02:32AM (#28263390)
> 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 fix bugs using whatever editor you want.

I also maintain a lot of React code, used to work on .Net Core and some plain old C# before Core, I've maintained Angular and before that Java, older Delphi versions and even PHP.

The only projects that had the problem you talk about were

- Visual Studio (not Visul Studio Code) projects from before .Net core

- and old Delphi projects.

That said, I'm kind of stuck with IntelliJ now because of Kotlin (which is an awesome language) but I miss NetBeans a lot and how it - instead of saving everything in its own configuration files - simply accepted Maven .pom files as configuration, meaning uncluttered repos and still having all config synced and up to date everywhere. (Maven is well though out so if you just accept the defaults the files are small and contain only the things they need to contain like name, namespace and version, dependencies and necessary configuration.)

Re:Benefits of Not Using an IDE by bccdee on Sunday August 22, 2021 @05:08PM (#28269622)
I was mostly complaining about an old Visual Studio project I used to work on.
Re:Benefits of Not Using an IDE by eitland on Monday August 23, 2021 @12:16AM (#28272288)
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 by jeffterns8 on Monday August 23, 2021 @09:27AM (#28275349)
You mean when you or a team chooses to embed them into the project's workflow to that degree? Or are you talking about the worst IDEs no one should use while sounding like it is a general IDE issue with the industry standards?

Any decent IDE doesn't enforce such things, it is something questionable devs choose to incorporate. You may inadvertently do this if you don't know an IDE, and try to use excessive features available, but that's still on you for doing so. It shouldn't have been a decision made by someone lacking in knowledge/experience, whether a junior dev or a senior selecting an unknown tool without proper evaluation.

Or are you implying such features from IDEs can somehow be attained by non-IDE toolchains that don't also ingrain you in those toolchains to make use of said features?

Re:Benefits of Not Using an IDE by tester756 on Saturday August 21, 2021 @02:04PM (#28259119)
>An IDE can be a powerful abstraction

how IDE "can" be an abstraction?

It's tool, it's wrapper (e.g button over commandline commands), but abstraction?

Re:Benefits of Not Using an IDE by xxpor on Saturday August 21, 2021 @02:16PM (#28259215)
The line between the two isn't very clear, nor is it productive to really argue about it, IMO
Re:Benefits of Not Using an IDE by tester756 on Saturday August 21, 2021 @02:24PM (#28259278)
>nor is it productive to really argue about it

I do agree

Re:Benefits of Not Using an IDE by Nevermark on Saturday August 21, 2021 @04:48PM (#28260448)
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 by rzwitserloot on Saturday August 21, 2021 @01:17PM (#28258696)
This is a bit of a cargo cult argument.

Specifically: "The best developers" indeed know how to work without an IDE. They also know 5 programming languages, 50 libraries, and know a whole bevy of esoteric randomness, such as difference between a Thompson-NFA style regex engine and the limitations thereof, or something like that.

There is no such thing as a 'the best developer' that doesn't know much. The 'knows many things and has lots of experience' is a tautologic argument.

In the mean time, bad programmers 'use an IDE a lot and are lost without it'. That's also tautologic.

In other words, your observation proves absolutely nothing, in regards to whether it is wise to use an IDE or not. You're not going to magically turn a bad programmer into a good one by uninstalling their IDE. You're not going to ensure a new programmer is going to turn into a good one if you advise them to forego an IDE, nor will you ruin a potentially good one if you install an IDE on their computer.

It says nothing.

Re:Benefits of Not Using an IDE by lultimouomo on Saturday August 21, 2021 @12:28PM (#28258250)
> 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.

The best swimmers can stay afloat with pounds and pounds of weight dragging the down; the worst swimmers will drown. Doesn't mean weighing you down makes you a better swimmer.

Re:Benefits of Not Using an IDE by falcolas on Saturday August 21, 2021 @12:31PM (#28258281)
Ironically, it would make you a better swimmer - it will help you build up strength, stamina, and technique.

An excellent choice in analogies.

Re:Benefits of Not Using an IDE by wokwokwok on Sunday August 22, 2021 @05:12AM (#28264018)
...this is actually a great analogy.

Yes, it does; but when you're trying to set a record swimming the English Channel, or escaping from a sinking ship you'd be an idiot to do it deliberately weighing yourself down with weights.

I suppose there's something to be said for both ways of doing things ultimately, depending on what situation you're in, and what your goal is.

...but unconditionally advising people to swim with weights, is simply bad advice.

Re:Benefits of Not Using an IDE by falcolas on Monday August 23, 2021 @09:53AM (#28275711)
> when you're trying to set a record swimming the English Channel

Your training time to competition time is about 99:1 (on the high side for the competition time). The record attempts (or the emergencies) are a poor continuation of this analogy when it comes to programming.

> unconditionally advising people to swim with weights, is simply bad advice

So we should advise them to use floats instead, since it makes swimming so much easier?

Re:Benefits of Not Using an IDE by orwin on Sunday August 22, 2021 @08:23AM (#28264889)
So the best case is learning without an IDE, and working with one?
Re:Benefits of Not Using an IDE by jeffterns8 on Monday August 23, 2021 @11:53AM (#28277760)
Well the analogy doesn't actually allow for a starter/bad swimmer as they drown first.

Also, swimmers don't swim with weights to improve technique or strength. I'd expect it would result in unorthodox or worsened technique due to trying to swim around the artificial imbalance of the weights.

Re:Benefits of Not Using an IDE by falcolas on Monday August 23, 2021 @05:12PM (#28282018)
> Also, swimmers don't swim with weights to improve technique or strength.

They use the aquatic analog to weights - disabling their arms or legs, drastically increasing drag (via multiple swimsuits, or suits with chute-like pockets), swimming against bungee cords.

Re:Benefits of Not Using an IDE by jeffterns8 on Monday August 23, 2021 @09:58PM (#28284339)
Other than bungee cords for small pools/space usage, can't say I've heard of such drag methods, only of resistance training outside of the pool. Though, I didn't mean to take the analogy off-topic, maybe I got too literal.
Re:Benefits of Not Using an IDE by bryanrasmussen on Saturday August 21, 2021 @04:17PM (#28260207)
Harrison Bergeron would never have ascended so high, were he not so greatly weighed down first.
Re:Benefits of Not Using an IDE by cwyers on Saturday August 21, 2021 @02:45PM (#28259408)
I mean, assuming you don't drown.
Re:Benefits of Not Using an IDE by kristjansson on Saturday August 21, 2021 @04:18PM (#28260218)
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 by oldsecondhand on Saturday August 21, 2021 @12:36PM (#28258325)
But you don't use git to write your code. Code autocompletion and cross referencing are pretty big productivity boosters that won't prevent you from learning command line git. Also I bet you don't use the command line for diffing files.

Also the problems is that most IDEs half ass their git client. When I was using Sourcetree, I rarely ever felt the need to go to the command line.

Re:Benefits of Not Using an IDE by dmurray on Saturday August 21, 2021 @02:43PM (#28259402)
> Also I bet you don't use the command line for diffing files.

Wait, isn't this normal? I run "diff" and "git diff" all the time (I think I have those both set up to invoke colordiff, but it's still a command line program). Also vim -d.

Occasionally I browse diffs on Github or Bitbucket instead. I don't find it an improvement. I do favour editors over IDEs, but I don't think I'm an extremist on this one.

Re:Benefits of Not Using an IDE by hactually on Saturday August 21, 2021 @07:11PM (#28261403)
Another git diff/diff user here. Being able to pipe my code changes is a huge win.

Maybe I'm old - my whole os/shell is my ide

Re:Benefits of Not Using an IDE by orwin on Sunday August 22, 2021 @08:27AM (#28264916)
For my sibling using `git diff`, can i introduce you to tig[0]? I think it is inferior to magit, but you can install and test it with `apt install tig` and then `tig` in a git directory.

[0] http://jonas.github.io/tig/

Re:Benefits of Not Using an IDE by paulddraper on Saturday August 21, 2021 @10:22PM (#28262338)
...But in either case, the programmer is better with the IDE
Re:Benefits of Not Using an IDE by irrational on Saturday August 21, 2021 @01:40PM (#28258907)
That sounds more like a problem with git than a problem with the IDE. Why does git allow you to screw up your repository?
Re:Benefits of Not Using an IDE by slim on Saturday August 21, 2021 @01:48PM (#28258965)
Bacause git is powerful
Re:Benefits of Not Using an IDE by moron4hire on Saturday August 21, 2021 @02:05PM (#28259126)
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.
Re:Benefits of Not Using an IDE by Akronymus on Saturday August 21, 2021 @03:07PM (#28259623)
The very power that allows you to screw up is the power thar makes the tool worth using in the first place.
Re:Benefits of Not Using an IDE by aoms on Saturday August 21, 2021 @01:52PM (#28259005)
Git simply gives you the power to do 'things', if that results in a state you didn't want.. well.. go figure
Re:Benefits of Not Using an IDE by tester756 on Saturday August 21, 2021 @02:02PM (#28259099)
It's not about IDE or not, it's about curiosity how do things work under the hood.
Re:Benefits of Not Using an IDE by temporallobe on Saturday August 21, 2021 @07:14PM (#28261422)
The Git tools built into IDEs are indeed very convenient, but I often warn junior (and even mid) developers to NOT use them unless you understand exactly what they’re doing.
Re:Benefits of Not Using an IDE by thrower123 on Saturday August 21, 2021 @01:45PM (#28258944)
The worst developers I've worked with have been sado-masochists who refuse to use IDEs.

People take pride in being less productive and making things harder than they need to be.

Re:Benefits of Not Using an IDE by deltasixeight on Saturday August 21, 2021 @03:06PM (#28259611)
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 by h4x0r12345 on Saturday August 21, 2021 @04:22PM (#28260266)
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 by deltasixeight on Saturday August 21, 2021 @10:59PM (#28262489)
Totally Wrong.

The Maven Project IS the configuration. Intellij is only a shortcut. It let's you access configurations via click rather than via a command line expression.

In the end if you want to create a Maven Project configuration or edit the configuration it's on you to do it. At most intellij will just generate boilerplate for you.

Re:Benefits of Not Using an IDE by h4x0r12345 on Saturday August 21, 2021 @11:07PM (#28262530)
No that's not how it works. IDEA has its own project files (*.iml, .idea), separate from Maven. We are talking about IDE projects which are separate from Maven.
Re:Benefits of Not Using an IDE by deltasixeight on Sunday August 22, 2021 @01:08AM (#28263048)
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.

Re:Benefits of Not Using an IDE by h4x0r12345 on Sunday August 22, 2021 @01:16AM (#28263079)
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.

Re:Benefits of Not Using an IDE by deltasixeight on Monday August 23, 2021 @03:03AM (#28273017)
"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?

Re:Benefits of Not Using an IDE by dimgl on Saturday August 21, 2021 @02:24PM (#28259280)
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.

Re:Benefits of Not Using an IDE by deltasixeight on Saturday August 21, 2021 @02:58PM (#28259551)
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 by jeffterns8 on Monday August 23, 2021 @12:04PM (#28277966)
The "programming text editors"/"code editors" of now that are used in place of traditional IDEs are practically always extended to, by definition, being an IDE, albeit a leaner, more custom-fit one.
Re:Benefits of Not Using an IDE by orwin on Sunday August 22, 2021 @08:31AM (#28264939)
I'm really just asking, do you think VSCode is a text editor? I used to put it in the same categories as IDE (and thought that it was really better than Netbeans and Eclipse)
Re:Benefits of Not Using an IDE by deltasixeight on Monday August 23, 2021 @03:08AM (#28273038)
The lines have blurred. I would put it more in the editor category. You really need to download plugins for it to come close to an IDE and it's not as feature complete as say pycharm or Clion.

I would say VSCode is more in the code editor category, but as I said before the lines are blurring. With enough plugins and configuration even vim and emacs can straddle that line.

In general IDE's tend to have more features less bugs, and have all of these features out of the box.

Re:Benefits of Not Using an IDE by jeffterns8 on Monday August 23, 2021 @12:12PM (#28278101)
That's just confusing big-brand mature IDE suites as the definition for IDE though. Any dev working on an actual project is going to be using those tools with plugins/extensions, configured as an IDE.

A dev would require completely separate tools that provide that functionality to say otherwise.

Re:Benefits of Not Using an IDE by CharlesW on Saturday August 21, 2021 @12:55PM (#28258501)
> 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.

"Best" is a marketing term. How do you mean it as it applies to software quality or productivity?

I'm trying to understand if you're serious, since the author (who notes "I myself use IntelliJ, CLion and MySQL workbench almost everyday") doesn't even seem to believe what he's writing.

Re:Benefits of Not Using an IDE by Waterluvian on Saturday August 21, 2021 @10:41AM (#28257382)
“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 by the_third_wave on Saturday August 21, 2021 @11:20AM (#28257680)
Power drills are simple tools, they are the 'vi' equivalent of the 'ed' manual drill.

The physical equivalent of an IDE would be a laser-guided auto-centering/levelling 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. It would weigh 15 kg, need an external power pack and be unusable in tight corners. For some tasks it would be a great time saver, for others it would just be in the way. Some workers would love it, others would fight it. Some would be more productive using it, others would be far more productive if only that damn megadrill did not insist on using that oversized drill bit while they knew the construction would be much stronger by using a slightly smaller bit, necessitating them to override the megadrill tool selector for each and every hole they drilled.

Re:Benefits of Not Using an IDE by grogenaut on Saturday August 21, 2021 @11:35AM (#28257818)
I think you mean cnc machine. And those are amazingly productive.
Re:Benefits of Not Using an IDE by mionhe on Saturday August 21, 2021 @03:32PM (#28259831)
CNC mills are super useful. But not all the time. I regularly (not all the time, or even a majority, but regularly) choose a manual mill over my cnc because for simple jobs that only require a part or two, it's faster than setting up the 3d model, deciding on cutting strategies, setting up the tools, etc.

My choice in editors follows the same logic. If I just need to jot down some notes, or knock together a simple bash script or something, it doesn't really matter what I use. Whatever has syntax highlighting and is available on that system is great. Something more complex, where I don't want to spend brain cycles on repetitive tasks or management that the tools can handle for me, I'd rather use something that will handle that for me.

Re:Benefits of Not Using an IDE by the_third_wave on Saturday August 21, 2021 @11:50AM (#28257929)
No, a CNC machine is a distinct entity which enables the user to create objects which can not be created using only a power drill. The lower-tech predecessor of a CNC machine is a milling machine [1], not a hand-held drill.

[1] https://en.wikipedia.org/wiki/Milling_(machining)

Re:Benefits of Not Using an IDE by dogma1138 on Saturday August 21, 2021 @12:29PM (#28258258)
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.

Re:Benefits of Not Using an IDE by the_third_wave on Saturday August 21, 2021 @05:46PM (#28260861)
> 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 more complex the piece the harder it becomes.

To get back to basics without getting lost in a forest of tools these comparisons are based around the 'To IDE, or not to IDE' question. The CNC mill was pulled in through a side door but doesn't really feature in the comparison which was between a simple power drill and the hypothetical 'smart drill' I dubbed 'megadrill' which tries to be as 'helpful' as possible. Some people would like such a contraption, others would shun it.

Re:Benefits of Not Using an IDE by grogenaut on Sunday August 22, 2021 @04:41PM (#28269403)
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 by dmz73 on Saturday August 21, 2021 @10:15PM (#28262306)
I think both your and parent's analogy are somewhat off.

IDE is like a big machine that can make a variety of parts to the exact spec very fast with minimal waste. This machine can help even inexperienced operator become productive in short time.

vi/ed is like manual power tools that can accomplish the same task but it takes a lot longer, wastes a lot more material and only experienced operators can be somewhat productive but nowhere near what they could achieve with the big machine.

When users become experts with these tools, they can produce all sorts of custom parts that big machine is not configured for but like they always say - use the right tool for the job: if you are making 5 custom parts then use the hand tools, when you are making hundreds of the same part, use the big machine.

Re:Benefits of Not Using an IDE by 9front on Saturday August 21, 2021 @01:31PM (#28258840)
The Hole-Hawg drill is the IDE equivalent. Recently discussed on HN: https://news.ycombinator.com/item?id=28015229
Re:Benefits of Not Using an IDE by the_third_wave on Saturday August 21, 2021 @05:32PM (#28260752)
No, a Hole-Hawg [1] - made famous in these circles by Neal Stephenson's essay 'In the beginning was the command line' [1] - is just a powerful drill without any bells and whistles, a "lump of metal with a handle sticking out of it". It would be more sort of an 'ed on steroids', trading off ease of use for raw power.

[1] https://www.milwaukeetool.com/Products/Power-Tools/Drilling/...

[2] https://web.archive.org/web/20180218045352/http://www.crypto...

Re:Benefits of Not Using an IDE by throwaway09223 on Saturday August 21, 2021 @11:56AM (#28257971)
I think you've hit upon an important distinction, because while construction workers won't be bringing hand tools "to the worksite," there are in fact many people who do use hand tools for fine woodworking in their woodshops.

People work with wood for different reasons and people write software for different reasons. All of these tools and approaches can be valid.

Some may be interested in rapid and low cost large scale construction - big teams working fast. Others may be interested in creating a thing of beauty either independently or in small groups of likeminded craftsmen. It shouldn't be surprising that we have many different tools and practices.

Re:Benefits of Not Using an IDE by Waterluvian on Saturday August 21, 2021 @02:17PM (#28259221)
I agree and love this distinction.

When I’m paid to produce, I use tools that help me produce.

When I’m enjoying my passion, I actually do use an entirely different set of tools!

Re:Benefits of Not Using an IDE by jakear on Saturday August 21, 2021 @12:17PM (#28258140)
Exactly. When I’m tinkering around in Scheme crafting cutesy little interpreters a simple text editor is great, and having an IDE would feel like having someone standing over my shoulder whispering to me every rule of a game I already know by heart.

On the other hand, when I’m working on a new area in a several thousand file project with dozens of contributors, or any number of its side-projects that I may have never seen before in my life, it’s more like having talented counsel at my shoulder informing me of all the various contracts I’d be expected to observe for any possible plan of action I might consider taking.

Re:Benefits of Not Using an IDE by hakfoo on Saturday August 21, 2021 @03:23PM (#28259755)
Conversely, for model building, I have much better results using #80 drill bits in a hand held twist drill than trying to chuck them into a power drill and hope that it will not break the bit or rip the delicate work asunder.

Similarly, an IDE can be overkill when you're writing a self-contained one-off task, or dealing with an opinionated IDE that doesn't fit with the project you're importing.

Re:Benefits of Not Using an IDE by jkepler on Saturday August 21, 2021 @03:51PM (#28259993)
Wouldn't another analogy be knowing how to navigate a boat with a sextant and a chronometer versus modern radio and GPS maritime navigational aides? The latter's more efficient, but those with deep knowledge of navigation understand how to use the former if necessary.
Re:Benefits of Not Using an IDE by mayankkaizen on Saturday August 21, 2021 @04:02PM (#28260072)
As someone replied to GP, you should definitely know how to complete tasks with only basic tools and without advanced tools. But it doesn't mean you should only use basic tools or no tools at all. I mean I do know how to calculate without calculator but it doesn't mean I dont use calculator. I use it all the time. Of course deep knowledge almost always means that you have a strong hold on the basics.
Re:Benefits of Not Using an IDE by Waterluvian on Saturday August 21, 2021 @04:54PM (#28260490)
Yep. I was taught how to navigate with a compass and sextant and such.

And then we did it once.

And then we used GPS and Total Stations ever since.

Re:Benefits of Not Using an IDE by jayceedenton on Saturday August 21, 2021 @12:22PM (#28258197)
This is probably a good time to mention Tim Ewald's talk, Programming With Hand Tools:

https://youtu.be/ShEez0JkOFw

Re:Benefits of Not Using an IDE by SilasX on Saturday August 21, 2021 @07:51PM (#28261677)
For those who want and abstract, the best I could find was this:

https://old.reddit.com/r/Clojure/comments/4j3ani/with_all_of...

Re:Benefits of Not Using an IDE by bluedino on Saturday August 21, 2021 @11:02AM (#28257557)
Portable electric power tools are such a game changer when working on cars. I could never go back to the days of doing it by hand, it would be ten times worse for construction.
Re:Benefits of Not Using an IDE by desine on Saturday August 21, 2021 @02:24PM (#28259284)
I would never use power tools on my motorcycle or car. On threading, nuts/bolts/screws should always be torqued gently into spec. On unthreading, I prefer to feel if there's significant resistance, warranting a cleaning/deoxidization of the part.

Predrilling a screw hole in some hard wood? Yeah I don't need to feel anything except the power of lithium cells dumping electricity into torque.

Re:Benefits of Not Using an IDE by zucker42 on Saturday August 21, 2021 @11:01AM (#28257547)
People still use shovels even though excavators exist.
Re:Benefits of Not Using an IDE by citizenkeen on Saturday August 21, 2021 @11:03AM (#28257573)
Those are not comparable. If there was a backpack mounted shovel that powered my digging I'd never use a shovel again.
Re:Benefits of Not Using an IDE by beebeepka on Saturday August 21, 2021 @11:47AM (#28257907)
People still drink water even though Brawndo exists
Re:Benefits of Not Using an IDE by adrian_b on Saturday August 21, 2021 @12:47PM (#28258426)
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/linking options) and the compilation/building/running functions are as simple and fast as how that can be done without using an IDE (if you know how to do it in the right way).

Especially the Eclipse-based IDE's provided by many vendors of embedded products are the worst offenders.

I have wasted too much time with helping puzzled coworkers to find where in the hierarchy of IDE menus one could find whatever was needed. Even when knowing where to find the commands, using the IDE menus was many orders of magnitude slower than what I could do outside the IDE to perform the same function upon the project.

Re:Benefits of Not Using an IDE by eyelidlessness on Saturday August 21, 2021 @01:05PM (#28258600)
> 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 hard time seeing this as a clear distinction, however. I mean, VSCode has a built in debugger/protocol, language server/protocol/intellisense, file system aware refactoring, code rewriting refactoring, integrated git client, inline blame and history navigation, GitHub integration, linter integration including automated fixes…

I understand it’s a different tool than VS, but I honestly don’t have a clear understanding of what separates editor from IDE in this case.

Re:Benefits of Not Using an IDE by Zababa on Saturday August 21, 2021 @03:55PM (#28260026)
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 least that has been my experience.
Re:Benefits of Not Using an IDE by eyelidlessness on Sunday August 22, 2021 @11:37PM (#28272108)
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 by jeffterns8 on Monday August 23, 2021 @10:55AM (#28276731)
The comments have just devolved into people arguing or confusing mature big-brand IDEs, with excessive and all-encompassing features, as the definition for an IDE.

Anything lesser, they're calling a simple code editor but, by actual definition, they are referring to a lighter IDE (as the ones that can be installed as base editors they have all extended with plugins/extensions to that point) and then acting like the topic is about the big-brand IDEs, even though it is making points against tooling they are all using with their "editors" just like what you're using VSCode for.

Re:Benefits of Not Using an IDE by adrian_b on Saturday August 21, 2021 @03:04PM (#28259597)
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 by cweagans on Saturday August 21, 2021 @06:16PM (#28261045)
Have you published this makefile somewhere? I’d love to take a look at it.
Re:Benefits of Not Using an IDE by adrian_b on Sunday August 22, 2021 @01:16AM (#28263075)
It is not published, but there is not really much about it, except exploiting most features provided by gmake.

For easy maintenance, the universal makefile is split into 4 files that are completely universal + 1 makefile with extra definitions per each combination of operating system and CPU type that might be a target for compilation.

The extra files for specific compilation targets, e.g. skylake-linux-gnu, armv7e-m4-none-eabi, i686-cygwin and so on, contain definitions for the names of all the tools that might be used, e.g. compilers for various programming languages, linking commands, librarian commands, binary file modification commands (e.g. objcopy), default locations for library files, default locations for include files, default values for compilation flags.

The 4 completely universal files do not contain directly any command name or command flags or any file name or any directory name. They contain only variable names whose values are either defined in the operating system/CPU specific makefile or whose values are determined by the make command by scanning the project and by transforming the found files, e.g. by replacing the file name extensions.

The 4 completely universal files are:

1. A file for the top directory of a complex project, which descends recursively in all subdirectories and runs there the given make command, if a Makefile exists in the subdirectory

2. A file with make targets. Examples of make targets:

clean:

$(RM) $(RMFLAGS) $(MAP) $(BIN) $(IMPLIB) $(EXE) $(LIB) $(WEXE) $(DLIB)

$(RM) $(RMFLAGS) $(OBJS) $(OBJS:.o=.d) $(OBJS:.o=.lst)

and

all : $(EXE) $(LIB) $(WEXE) $(DLIB)

The 4 variables above are the files to be built, respectively CLI executables, static libraries, GUI executables and dynamic libraries.

As I have said everything must be expressed using variables that will be defined elsewhere.

3. A file with make rules, for how to build any kind of file that might be encountered. Examples of rules:

%.o: %.c

$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ -c $<

%.s: %.cpp

$(CXX) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -o $@ -S $<

%.d: %.cpp

$(CXX) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -MD -o $(@:.d=.o) -c $<

4. A file with definitions, which is the most important in simplifying the makefiles needed for any new project, which are typically almost empty, because they do not need any other line besides including the universal makefile, even if I usually add a definition with a list of source directories, in order to separate the place where the project is built from the place where the source files are stored and possibly some options, e.g. building a debug version instead of a release version, or building for a cross-compilation target.

Example how to determine the directories with source files:

ifeq "$(strip $(SOURCE_DIRS))" ""

SOURCE_DIRS := .

endif

ifeq "$(strip $(PREFIX_DIR))" ""

VPATH := $(SOURCE_DIRS)

else

VPATH := $(addprefix $(PREFIX_DIR)/, $(SOURCE_DIRS))

endif

Example of how to scan the source directories for source files written in a certain programming language:

CPP_FILES := $(notdir $(wildcard $(addsuffix /*.cpp, $(VPATH))))

The list for every kind of source files is stored in a corresponding variable like above.

For the source files that are compiled to object files, the list of object files that must be made is computed so:

OBJS := $(CPP_FILES:.cpp=.o) $(C_FILES:.c=.o) $(SS_FILES:.S=.o) $(S_FILES:.s=.o) $(O_FILES)

I use many more kinds of source files, so the OBJS above is just a shortened example.

The operating system/CPU type specific makefile includes the 3 universal files with targets, rules and definitions and it also includes the automatically generated dependencies:

include $(OBJS:.o=.d)

so later only the specific makefile needs to be included, depending on the compilation target.

There are many more details, but these are the general principles. They are intended to make me write as little as possible in the Makefile for a new project.

If I do not define in the Makefile from the project directory what shall be built with "make all", then either an executable is built, having the same name as the Makefile directory, or another kind of file is built, if the directory has a special suffix, e.g. a static library for a directory ending in "_lib".

When I add, delete, move or rename source files, I do not have to do anything for project management, except doing a "make clean" before that, because the next "make" will update the lists of source files.

Re:Benefits of Not Using an IDE by HelloNurse on Saturday August 21, 2021 @01:28PM (#28258812)
Regarding especially Eclipse, project and build management in an IDE can be good. Typical Java projects that use Maven and are built "officially" with scripts and CI systems without an IDE can be worked on by Eclipse quite cleanly by

  - Checking sources out of version control
  - "Importing" them in the Eclipse workspace as projects from existing code in an arbitrary location
  - Configuring what Maven installation, and with what configuration files, is to be used to build your projects
  - Defining a grimoire of Maven command lines (build and test locally, build and deploy somewhere else, package for release, etc.) as run/debug configurations
The impact is limited to harmless project metadata files (containing nothing important that isn't mirrored from Maven POM files) and repeating in the closed world of Eclipse options configurations, paths etc. that are probably already in scripts, CI pipeline definitions and so on.
Re:Benefits of Not Using an IDE by jeffterns8 on Monday August 23, 2021 @10:42AM (#28276491)
A lot of this is starting to result in talking semantics of what an IDE is. A powerful/smart code editor, extended to have the functionality most will ever use an IDE for (and definitely incorporating the base definition of what an IDE is), ends up being argued as different because the base product didn't start as an IDE or it isn't as feature-rich as the mature, big-brand IDEs people have grown up hearing. Why people are even playing semantics with this when the topic is making points against tooling, that programmers are very much using with tools like VSCode, I really don't understand.

The tooling and layout of the same functionality you choose to use is something more modern tools, and product versions, have improved upon but is unrelated to what an IDE is. It also differs between tools and IDEs. For you to say you've never used an IDE with simple or fast file handling is either a lie or a severe lack of experience, as almost all decent ones have a 1 or 2-click approach via the explorer (and toolbar/hotkeys if you don't like an explorer side-pane). I actually can't think of any half-decent IDE that doesn't have the same approach for files as popular code editors, and I've used a lot of both for different platforms and languages. The only time I've had noticeable experiences is in cases via command/terminal but we're talking GUI editors here.

Worth noting, I have never in my career found myself mentioning any Eclipse-based IDE as an example of a good IDE. In fact, almost every dev I've ever met regards them as the worst IDEs they have experienced, not as a baseline standard for or expectation of IDEs. It's basically redundant to comment on x experience being bad as anyone that has ever used one already knows that is expected.

Re:Benefits of Not Using an IDE by bdcravens on Saturday August 21, 2021 @12:57PM (#28258522)
It also depends on the language. I don't think I'd consider working in a .NET project with an IDE, but it's overkill for Ruby or Javascript projects.
Re:Benefits of Not Using an IDE by smw on Sunday August 22, 2021 @06:57AM (#28264473)
Rubymine can, with one click, make an ER diagram of your ActiveRecord model -- from the code, not the db schema. That pays for itself right there, especially if you're learning someone else's code base. Try it for a day, you'll never go back.
Re:Benefits of Not Using an IDE by bdcravens on Sunday August 22, 2021 @12:42PM (#28266971)
I've used it before. I found it valuable, but there were a number of reasons I went back to a smart editor instead. I do use Jet Brain's DataGrip, so I'm a big fan of their tools overall.
Re:Benefits of Not Using an IDE by the_third_wave on Saturday August 21, 2021 @10:50AM (#28257459)
> …but “no IDE” is just rejecting everything because you didn’t like one thing; it’s just being lazy.

This is the vi vs emacs debate transposed to build tools and as such will never conclude. Some like their tools to be as "complete" as possible, others want them out of the way. You might be closer to the first camp, I'm close to the second, others are in between. All of these choices are fine, there is no canonical truth here and as such the "nonsense" label used above is just that, nonsensical.

Re:Benefits of Not Using an IDE by Mikeb85 on Saturday August 21, 2021 @12:16PM (#28258134)
Dunno, I kind of like no IDE. If you use an IDE, it's basically editor + a bunch of command line tools being invoked from the IDE's interface. You can also just use an editor + those command line tools from a terminal. It's the same functionality with a slightly different workflow and IMO not worse.

I disagree with the author's dislike of code completion tools but somewhat agree with the other points. In particular how some IDEs create their own project structure.

Re:Benefits of Not Using an IDE by IncRnd on Saturday August 21, 2021 @10:47AM (#28257428)
It's not being lazy. There is no need for me to use an Integrated Development Environment.

Many of the most highly productive people use Separated Development Environments. The integration is most times not necessary. I have never had an IDE provide a feature that I needed and couldn't quickly create or obtain.

People let you install your tools in your monolithic IDE package. Why are you so insistent on degrading people who are experts in their fields?

Re:Benefits of Not Using an IDE by thinkharderdev on Saturday August 21, 2021 @12:06PM (#28258045)
It kind of depends on how we are defining IDE. Every developer I know who doesn't use an IDE uses either VS Code, vim or emacs with a bunch of plugins which approximate IDE functionality (but are much more customizable and configurable which I suspect is what they like about it). At the end of the day every IDE is just a text editor with plugins too. It really comes down to whether you want something that just works (and probably forces you to do some things THEIR way on some margin) or you want to tweak your dev environment to be just right for your workflow.
Re:Benefits of Not Using an IDE by bccdee on Saturday August 21, 2021 @12:40PM (#28258364)
Yeah, that's true. For me, it'd be somewhat irritating to work without LSP features like "jump to definition," "hover to view doc string," or even tab completion. Arguably, these are IDE features. But when it comes to higher-level features like build tooling or even grepping, I'd much rather work from a command line.

Something like tab completion can't exist outside the editor, but as soon as features can exist as separate tools, bundling them together begins to feel like a limitation. Having separate tools means you can discard the ones you don't need, which is part of what leads to fully-featured IDEs feeling so bloated to me.

Re:Benefits of Not Using an IDE by thinkharderdev on Saturday August 21, 2021 @01:03PM (#28258578)
True. I've been slowly moving towards VSCode from IntelliJ over the past year or so and that has mostly been driven by better Scala LSP implementation (Metals has gotten immeasurably better over that time). And even when I used IntelliJ exclusively, I more or less used it as a text editor with code completion/jump to definition. I still used a separate terminal for git, builds, etc.

I think there are also certain efficiencies that come with bundling as well though. You end up with a bunch of things specifically designed to work together so they in some cases are better than the generic, composable tools. I still find myself firing up IntelliJ from time to time because sometimes it just seems to work better (faster, more responsive, etc) even though the feature I am using technically exists in VSCode + Metals.

Re:Benefits of Not Using an IDE by z5h on Saturday August 21, 2021 @10:58AM (#28257519)
In 20 years of working as an engineer and also interviewing, I’ve seen maybe 3 people that could be as productive without an IDE. They certainly exist, but I believe they are rare exceptions.
Re:Benefits of Not Using an IDE by IncRnd on Saturday August 21, 2021 @11:02AM (#28257555)
I understand. So, the differences must be the backgrounds or amount of time the people have spent as programmers.

I'm, of course, not talking about certain platforms that almost certainly expect or require the use of a specific IDE build tool.

Re:Benefits of Not Using an IDE by alpaca128 on Saturday August 21, 2021 @11:24AM (#28257719)
For me the choice is more a) tooling that does everything but distracts me all the time b) tooling with some limitations but versatile, consistent across languages and completely modular.

I'm not rejecting IDEs because I didn't like one thing. I like nothing about IDEs except the refactoring feature; but even that doesn't make up for the painful UX. IDEs are like MS Word: they do everything I need but I hate every moment of it.

Re:Benefits of Not Using an IDE by newbamboo on Saturday August 21, 2021 @10:40AM (#28257378)
“Men have become the tools of their tools. Money is not required to buy one necessity of the soul. Most of the luxuries and many of the so-called comforts of life are not only not indispensable, but positive hindrances to the elevation of mankind.”

Henry David Thoreau

One day the IDE will do most of the coding. Users will just click “ok” and spend most of their time asking IT to reboot and reinstall things until it all just works(tm).

Re:Benefits of Not Using an IDE by MonkeyClub on Saturday August 21, 2021 @10:32PM (#28262384)
This isn't an actual verbatim Thoreau quote, it's rather a mishmash of disparate sentences from Walden,[0] so perhaps the use of the quotes is mistaken.

The sentences do carry a general spirit, however, which is very nice and pleasing, until you're reminded that Thoreau's rugged existence in nature was supported by his mum cooking him dinner.

I would instead offer the following sentence from Walden as a better encapsulation:

"The best works of art are the expression of man’s struggle to free himself from this condition, but the effect of our art is merely to make this low state comfortable and that higher state to be forgotten."

Namely, our arts and crafts come to cater to the alleviation of the burden of our physicality, yet neglect the needs of our spirituality.

I doubt that either the command line or an IDE can cater much to spirituality, although I've heard some argue that there's much food for the soul in Emacs and Lisp.

[0] https://gutenberg.org/files/205/205-h/205-h.htm

Re:Benefits of Not Using an IDE by newbamboo on Sunday August 22, 2021 @11:32AM (#28266276)
The internet is a tool that I’ve again become tool of, it seems. The fuller context of the quote I was searching for I think still applies as much to IDEs as emacs. Lisp is arguably a more solid and earthly foundation.

But lo! men have become the tools of their tools. The man who independently plucked the fruits when he was hungry is become a farmer; and he who stood under a tree for shelter, a housekeeper. We now no longer camp as for a night, but have settled down on earth and forgotten heaven. We have adopted Christianity merely as an improved method of agri-culture. We have built for this world a family mansion, and for the next a family tomb. The best works of art are the expression of man’s struggle to free himself from this condition, but the effect of our art is merely to make this low state comfortable and that higher state to be forgotten. There is actually no place in this village for a work of fine art, if any had come down to us, to stand, for our lives, our houses and streets, furnish no proper pedestal for it. There is not a nail to hang a picture on, nor a shelf to receive the bust of a hero or a saint. When I consider how our houses are built and paid for, or not paid for, and their internal economy managed and sustained, I wonder that the floor does not give way under the visitor while he is admiring the gewgaws upon the mantel-piece, and let him through into the cellar, to some solid and honest though earthy foundation.”

Re:Benefits of Not Using an IDE by SV_BubbleTime on Saturday August 21, 2021 @12:17PM (#28258141)
There’s only one place I can disagree.

Some examples of Teaching/learning.

The US Navy is teaches C without an IDE. This makes sense for them. If they had institutional knowledge going back to the 1970s, it all still pretty much applies and looks the same as it did 50 years ago, or another 50 years from now.

Yes. You should use a good tooling if your goal is to make something.

Re:Benefits of Not Using an IDE by l0b0 on Saturday August 21, 2021 @05:07PM (#28260592)
Definitely. There's no dichotomy though. I use some of the features of my IDE: editing obviously, interactive debugging and just general exploration via Ctrl-click are infinitely faster and more powerful than anything I've used on the command line. It's not great for everything though. So I keep swapping to the terminal for everything which I find more effective there: Git, running tests, creating projects, and the like.

Basically, don't think a single toolset is always going to be superior to your other toolsets. Feel free to mix and match, and change over from one toolset to the other when it's convenient or just more efficient. But of course moderation isn't going to get the clicks.

Re:Benefits of Not Using an IDE by abetusk on Saturday August 21, 2021 @01:04PM (#28258590)
IDE !== tooling

Your sentiment about the right tools for the job is spot on, and one should strive to choose tools that make you more productive but IDEs are one tool of many.

There's a host of other things to consider, like what is the testing environment like, library management, repository layout, etc. When you're working across a wide variety of languages, setups, environments, etc. choosing an IDE like Eclipse or Atom might not always be the right tool for the job. This also completely neglects the fact that vi/vim and Emacs, while mostly considered "text editors", can be enhanced to essentially be IDEs in their own right.

I think the article's arguments are weak, but so is this counter-argument, sorry.

Re:Benefits of Not Using an IDE by chooseaname on Saturday August 21, 2021 @12:30PM (#28258264)
c) choosing a platform that over complicates things and requires tooling that most developers use but never quite understand.

> you’re not being smart, cool or clever by choosing

c

Re:Benefits of Not Using an IDE by drdebug on Sunday August 22, 2021 @12:35PM (#28266886)
It seems to really depend on the type of work that you are doing. If you write high level code using many external libraries in a language like Java, using an IDE can be a time saver. If you are write low level C code, I found that using an IDE does not seem to be that helpful. But that's just my 2c.
Re:Benefits of Not Using an IDE by OJFord on Saturday August 21, 2021 @08:06PM (#28261747)
What? No, sorry, your comment is the nonsense. Not using an IDE doesn't mean 'no tooling', it just means 'different tooling we don't happen to call 'IDE''.

I think it's so blurry now as to be a pointless debate anyway - is VS Code an 'IDE'? Or is it an editor with a load of plug-ins available that give it equivalent functionality to an IDE? Because the latter definitely applies to vim and emacs and sublime too, and if it's the first, then... A lot of people don't use an IDE!

Re:Benefits of Not Using an IDE by TeeMassive on Saturday August 21, 2021 @12:47PM (#28258423)
Me too I dislike this kind of absolute statements about IDEs.

The author make a few good points about abusing some features; just like abusing any tool beyond their intended purposes.

IMO the best is the compromise of making the code IDE agnostic. So yeah, I do use IDEs and other tools in conjunction to that the tools I used and the skills I know are not bound to a specific project.

Re:Benefits of Not Using an IDE by tpoacher on Saturday August 21, 2021 @06:03PM (#28260969)
You seem to be mistaking lack of an IDE with lack of tooling ...
Re:Benefits of Not Using an IDE by toiletaccount on Saturday August 21, 2021 @01:08PM (#28258625)
jesus christ. coding used to mean something. i guess we all should eat baby food because we arent being smart cool or clever by wasting time and energy chewing.