Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
This is a very odd thread in the "much ado about nothing" vein. Some people use Homebrew or MacPorts (I use MacPorts) and need the tools they provide access to, others don't. What is the argument about??
 
  • Like
Reactions: Stella
I do not — I also (implicitly) brought up JS.

And yes, I'm aware COBOL developers exist; I personally know one. Is that the hill you're trying to climb on?

I honestly don't know if you're simply not aware, or if you're trolling now. There are literally hundreds of programming languages. Plenty are not in common usage, but the world does not run on those few you mentioned, by a long way.

So you agree that using libraries is common. Glad we got that settled.

Using libraries is quite common. I didn't question that. I refuted the claim that "every developer uses hundreds of libraries and tools", particularly within the context of the topic, which is a package manager with historically poor dependency management. Practically (if not literally) no one is installing for example, NodeJS or Python or Ruby or PHP libraries using Brew. They might install an underlying C-lang library using it, but the vast majority of libraries used in those languages are written in the language itself, and are installed (mostly) on a project-basis (rather than globally), using a language specific package manager.

Whether the npm ecosystem is healthy or not (it's not), it's a massive portion of today's developer workforce (and yes, plenty of those develop on a Mac), so whatever you're trying to argue here, it's working against you.

My argument is that claiming "look node developers use an average of 500 libraries per project, so all developers must use hundreds of libraries" is like claiming "look, smokers on average die at 65, so human lifespan on average must be limited to 65".


You'll still likely install an SDK on the host.
If the project at hand is being built in a VM, the only "SDK" likely to be installed on the host OS, is whatever comes with Xcode by default, because the easiest way to install the common unix build tool chain is to install Xcode.

You seem to be bringing up more and more esoteric use cases here.
If you think the number of developers using Macs but not building for macOS is rare, I have some news for you.


No, it doesn't. A "must-have" isn't something that's literally required for your survival.
Survival? Straw man much?

The context is software development.

If you get so hung up on meanings, try a dictionary.
The very example you copied from that particular dictionary has this description for the term "must have":

something considered absolutely necessary or essential to own:

Do you think this example implies that, if you love chocolate, you will literally die without that cookbook?
I don't even think that example matches with their own definition of the term, unless by "chocolate lovers" they mean "non-expert chocolate makers" or something similar.

And no, there is no concept of them dying, the concept I would have thought was obvious is, that without said thing, you cannot achieve what you're trying to do: in the case of the discussion, write/develop/build software, in the case of the weird example, I'd assume the goal at hand is to make chocolate. If the goal is just to eat chocolate, I'm not really sure why anyone would think a book is required to eat something, unless the book is what you're trying to eat.


So, ignoring their ridiculous example, because we have our own real-world example here. Are you suggesting that Brew is "considered absolutely necessary or essential" for software development?

If your answer is yes, I'd like to kindly request that we never work together please.

I was under impression that “must have” is a commonly accepted colloquial expression expressing high (subjective) desirability and/or praise.
I'd suggest that it only matches that definition, if you consider it the same way people use the word "literally" to mean "figuratively". i.e. The term means "absolutely essential" but people are apparently often using it to mean a relatively opposite term: "desirable, but generally not required".

@chucker23n1 linked to an example above with apt definitions and then completely nonsensical examples of the term:

noun​

something considered absolutely necessary or essential to own: This cookbook is a must-have for chocolate lovers.

adjective​

essential to own: a must-have black cocktail dress.

Multiple dictionaries reference the term as being a (mostly) US, informal term, so it's hardly surprising people use the term differently, but regardless, I stand by my argument. Brew will save some developers time. It's not a singularly magical mythical software beast that makes previously impossible tasks, possible.
 
Last edited:
Practically (if not literally) no one is installing for example, NodeJS or Python or Ruby or PHP libraries using Brew. They might install an underlying C-lang library using it, but the vast majority of libraries used in those languages are written in the language itself, and are installed (mostly) on a project-basis (rather than globally), using a language specific package manager.

Of course you are not using Homebrew (or any other software package manager for what matters) to install Python libraries... That’s not “poor dependency tracking”, it’s common sense. Python has its own package distribution network and its own package manager after all. Why would a general purpose package manager interfere with all that?

But you can use Homebrew to install and manage Python itself. In fact, Python Homebrew formula has been installed almost 800k times in last 30 days: https://formulae.brew.sh/analytics/install/30d/
 
Of course you are not using Homebrew (or any other software package manager for what matters) to install Python libraries...

And yet when I refuted your original claim that Brew is a "must have tool" for Software developers, your response was this:

Who has the time to download and manually compile hundreds of libraries and tools — and keep them updated!

So which is it?
 
And yet when I refuted your original claim that Brew is a "must have tool" for Software developers, your response was this:

You didn't refute anything. You are just stubbornly arguing about language use and refusing to accept any other interpretation than your own. If you are really so petty about it, so be it. Doesn't change the fact that hundreds of thousands users (most of which are developers) use Homebrew to manage their installations.
 
But you can use Homebrew to install and manage Python itself. In fact, Python Homebrew formula has been installed almost 800k times in last 30 days: https://formulae.brew.sh/analytics/install/30d/
Great. You could also just install it using the official .pkg installer from python.org, which was available as a universal installer (i.e. supporting intel and arm Macs) two months ago.

You didn't refute anything.
You said it's a "must have tool". I'm telling you, it's not. Do we need to discuss what "refute" means now?

You are just stubbornly arguing about language use and refusing to accept any other interpretation than your own.
I'm sorry that words have meanings you don't like or agree with. I can't help that.

Doesn't change the fact that hundreds of thousands users (most of which are developers) use Homebrew to manage their installations.
Nobody, literally nobody, anywhere, ever said "developers don't use this tool". Or even that they shouldn't. I simply said, it's not a requirement. I even agreed with you that it probably saves some developers time.


A microwave saves time compared to most other methods of heating things to eat or drink. They're used by people all over the ****ing world, way more than Homebrew is used. And yet a microwave is not a requirement to heat or cook food. It's a convenience item.
 
I'm sorry that words have meanings you don't like or agree with. I can't help that.

You might want to read up on idiomatic expressions ;) You are really a stubborn one, aren't you? You know, you don't have to be 100% right about everything. You have made your point and it's not without merit, but continuing to aggressively attack me over a use of a common idiom is barely constructive.

Nobody, literally nobody, anywhere, ever said "developers don't use this tool". Or even that they shouldn't. I simply said, it's not a requirement. I even agreed with you that it probably saves some developers time.

Of course it's not a requirement. Using an IDE is not a requirement. Using a high-level programing language is not a requirement. I mean, there are people who do data science in C++. When was I ever arguing that it is a requirement? What I did was to use an emphatic rhetoric device (via an idiom) to indicate that I consider a competent package manager to be an essential (not to be confused with mandatory!!) component of a developer's repertoire.
 
not a requirement
essential
not to be confused with mandatory

So, you're saying it's not mandatory (required by law or mandate; compulsory ) nor is it a requirement (a thing that is needed or wanted; a thing that is compulsory; a necessary condition ) but it is essential (absolutely necessary; extremely important ) .... ok sure.


I consider a competent package manager to be ... component of a developer's repertoire.

I think you're trying to say developers should be experienced in the use of a package manager, but you're seemingly using adjectives that are generally attributed to a person (competent, repertoire) with a subject of the package manager itself. I think you need at least another verb in there somewhere. Unless you're referring to 'package manager' as a skill or role that a developer should have experience with (which is a thing, but "packager" or "packaging team" would be more common I think)
 
So, you're saying it's not mandatory (required by law or mandate; compulsory ) nor is it a requirement (a thing that is needed or wanted; a thing that is compulsory; a necessary condition ) but it is essential (absolutely necessary; extremely important ) .... ok sure.

Are you an AI? :eek: A human should have no problems navigating the intricacies of human language pragmatics.

I think you're trying to say developers should be experienced in the use of a package manager, but you're seemingly using adjectives that are generally attributed to a person (competent, repertoire) with a subject of the package manager itself. I think you need at least another verb in there somewhere. Unless you're referring to 'package manager' as a skill or role that a developer should have experience with (which is a thing, but "packager" or "packaging team" would be more common I think)

Well of course if you remove the copula the sentence won't make much sense. "A competent package manager" = well-designed package management software, "developer's repertoire" = tools that a developer routinely relies on. What I am saying is that using a package manager improves a developer's experience and if you are a developer it is probably a very good idea to use one (in fact, you probably already do).
 
I honestly don't know if you're simply not aware, or if you're trolling now. There are literally hundreds of programming languages.

Yes, and?

Your claim was: "Who's claiming that every developer uses "hundreds of libraries and tools"?"

How many programming environments in common use in 2021 don't rely on hundreds of libraries and tools?

Plenty are not in common usage, but the world does not run on those few you mentioned, by a long way.

So what? That wasn't the point at all.

Using libraries is quite common. I didn't question that. I refuted the claim that "every developer uses hundreds of libraries and tools",

And yet you're still not bringing up a single common example where developers don't do that.

particularly within the context of the topic, which is a package manager with historically poor dependency management. Practically (if not literally) no one is installing for example, NodeJS or Python or Ruby or PHP libraries using Brew.

This is true, and also not the point I was making. A NodeJS, Python, Ruby or PHP dev will use package managers like npm and pip and still commonly use something like HomeBrew on top of that.

They might install an underlying C-lang library using it, but the vast majority of libraries used in those languages are written in the language itself, and are installed (mostly) on a project-basis (rather than globally), using a language specific package manager.

So you agree that those developers use hundreds of libraries and tools.

Glad we have that settled.

My argument is that claiming "look node developers use an average of 500 libraries per project, so all developers must use hundreds of libraries" is like claiming "look, smokers on average die at 65, so human lifespan on average must be limited to 65".

Are you going to stick to that argument, or do you realize how bad it is?

If the project at hand is being built in a VM, the only "SDK" likely to be installed on the host OS, is whatever comes with Xcode by default, because the easiest way to install the common unix build tool chain is to install Xcode.

Which comes with hundreds of libraries and tools.

If you think the number of developers using Macs but not building for macOS is rare, I have some news for you.

I don't think that.

(I'm one of them.)

Survival? Straw man much?

The context is software development.


The very example you copied from that particular dictionary has this description for the term "must have":




I don't even think that example matches with their own definition of the term, unless by "chocolate lovers" they mean "non-expert chocolate makers" or something similar.

I didn't realize the intricacies of the term "must-have" were so difficult to explain, and yet here we are.

And no, there is no concept of them dying, the concept I would have thought was obvious is, that without said thing, you cannot achieve what you're trying to do:

Again, that isn't what "must-have" means.

So, ignoring their ridiculous example, because we have our own real-world example here. Are you suggesting that Brew is "considered absolutely necessary or essential" for software development?

No. Nobody is suggesting that. Which is what we've been trying to explain for multiple pages.
 
A human should have no problems navigating the intricacies of human language pragmatics.

Really? What's the difference between "a necessary condition" and "absolutely necessary" ? Because you're arguing that something is one and not the other. Is it Schrödinger's package manager? Both necessary and not necessary?

"A competent package manager" = well-designed package management software, "developer's repertoire" = tools that a developer routinely relies on.

... Look, I get that English isn't your first language, but why do you keep making arguments about the definition of terms, when you clearly don't know them?

competent | ˈkɒmpɪt(ə)nt | adjective
having the necessary ability, knowledge, or skill to do something successfully:

a highly competent surgeon | [with infinitive] : make sure the firm is competent to carry out the work.

repertoire | ˈrɛpətwɑː | noun

a stock of plays, dances, or items that a company or a performer knows or is prepared to perform.

the whole body of items which are regularly performed: the mainstream concert repertoire.

a stock of skills or types of behaviour that a person habitually uses: his repertoire of denigratory gestures.

Those terms both refer to skills. You're referring to a tool, and seemingly not referring to the ability to use said tool.

How many programming environments in common use in 2021 don't rely on hundreds of libraries and tools?
I dunno, how many cows don't **** on their owners shoes?

You're asking me to disprove your claim. That isn't how this works buddy. You want to claim the vast majority of developers use "hundreds of libraries and tools", you prove it.
 
you're still not bringing up a single common example where developers don't do that.
I'm also not bringing up a common example where developers don't eat rats for lunch. You made a claim, you back it up. All I said was that not everyone does what you're claiming, and I know that because I am a developer, and work with other developers.

So you agree that those developers use hundreds of libraries and tools.
I'd love if you could show me where I agreed about "hundreds of libraries" in that snippet mate.

Are you going to stick to that argument, or do you realize how bad it is?
I have no idea what you do for a living. I write software for a living. I've had the misfortune of working with projects that involved a nodejs component.
If you're concerned that I'm comparing nodejs to cancer, don't be concerned. It wasn't deliberate. Lets just call it a happy accident, because it's quite apt.

Which comes with hundreds of libraries and tools.
So? A Mac comes with iMovie and GarageBand. That doesn't mean everyone who has a Mac uses iMovie and GarageBand.

No. Nobody is suggesting that. Which is what we've been trying to explain for multiple pages.

Ok, so apparently neither you nor anyone else is claiming "Brew is "considered absolutely necessary or essential" for software development?"... but someone did claim, and you're defending the claim, that Brew is "must-have" software.

Now.. the definition quoted by you for "must-have" is...
something considered absolutely necessary or essential


So now it's Schrödinger's English where words both do and don't mean something.
 
... Look, I get that English isn't your first language, but why do you keep making arguments about the definition of terms, when you clearly don't know them?

You're not one to talk, what with how confused you are by "must-have".
 
You're not one to talk, what with how confused you are by "must-have".
The person I quoted claimed that English is not their first language. I'm not trying to insult that person, I'm simply acknowledging that they've explained English is a second language for them.

English is my first language, and I'm not confused by the definition of 'must-have'. I'm confused by people who argue that a given thing is not necessary, but also is necessary.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.