Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Just curious, what tools are running that you install and manage with homebrew? I do Machine Learning which implies python and C++ libraries and tools.
Starting from Python, numpy, scipy ... using homebrew you are always on the latest version without looking at several places. Same applies for node, java and many others. Of cause you can install everything on your own, manage updates and dependencies. But using homebrew makes life so much easier.
 
I dont know why but I cant seem to find anything useful in Homebrew, yes I could use youtube-dl but even short videos are like almost a gig.

Do you guys recommend trying out something? I just dont think Homebrew is useful in any way.
If you ever need to install mongo DB in a Catalina system so you can use Mongoose over NPM then this is the place to go.
 
Just curious, what tools are running that you install and manage with homebrew? I do Machine Learning which implies python and C++ libraries and tools.

If your area of use is well defined and well established, there is a good chance that you can use a streamlined package of some sort, in your case probably Anaconda. If you have to work with a plethora of different tools and framework, a general purpose package manager becomes a crucial tool.

Things I use homebrew for:

- various command line utilities, including my favorite shell, fish
- basic dependencies like Boost, image processing libraries etc.
- spatial processing libraries (computational geography and maps)
- Python, node, lua, gcc
 
Starting from Python, numpy, scipy ... using homebrew you are always on the latest version without looking at several places. Same applies for node, java and many others. Of cause you can install everything on your own, manage updates and dependencies. But using homebrew makes life so much easier.
Interesting. I do most of my Python ML work in google Colab, colab.research.google.com, these days. It's free online Jupyter Notebook. Also, since they give you access to GPUs for acceleration. just pip install as part of the notebook.

Tried homebrew years ago, but found it fought with packages installed via OSX and those installed via Homebrew. It was a bit confusing how to mix and match these, so I gave up.
 
Tried homebrew years ago, but found it fought with packages installed via OSX and those installed via Homebrew. It was a bit confusing how to mix and match these, so I gave up.
That’s why I’m using MacPorts.
HomeBrew tried to do package management on macOS the way it’s done in Linux, but that’s not suitable for the system. MacPorts does it in a way that fits with the way macOS does things and without complications with system and apps from other sources.
 
  • Like
Reactions: Captain Trips
The confusion of everyday users starts in the article itself, which strangely compares Homebrew to the MAS.

Putting aside the "cask" aspect, this is the tool where you install open source software, not in the traditional "Mac" directories, but rather into the hidden, underlying unix directories with the short funny names. All this stuff also requires dependencies, and brew figures that out too. It not related to MAS, but rather other Mac package managers like MacPorts and Fink, themselves sharing heritage with package managers in the unix/Linux world.
 
  • Like
Reactions: AxiomaticRubric
It really isn’t.

It’s quite concerning that a “software developer” is claiming a tool whose original point was just to automate the compilation steps is a “must have”.

for those who don’t understand the concept: imagine if you went to a pizza shop and they said frozen pizzas, or frozen pre-made pizza bases, or pizza sauce in a bottle are a “must have” to do business.

(edit: add some component examples)

You're right its not a "must have" — provided that you don't care about your time.

I suspect you're conveniently forgetting the "bad old days" of manually finding and compiling a whole hierarchies of depencies on which the actual software you want is reliant. It could take hours in some instances. With brew (and macports, yum, apt, etc) it is seconds to minutes.

Furthermore; updates to these packages, controlled by your package manager, keep known security vulnerabilities off your system. You care about the security of your computer, yeah?
 
provided that you don't care about your time.
Wow. So your theory is that brew is some uniquely time saving solution for developers and anyone who doesn’t use it is clearly just wasting time?

ok then good luck with that theory. FYI it sounds pretty similar to how Windows PC users used to (and likely some still do) dismiss anything that isn’t windows as being incapable because they themselves didn’t use it or didn’t understand why someone else wouldn’t use what they do.
 
it's sad that the unix guts of the OS is thought of as "developer stuff"

Why?

macOS survived for 17 years without shipping with any command line whatsoever (you basically only got a command line if you installed MPW). iOS doesn't ship with a command line either.

Arguably, your very use of the word "guts" means most people shouldn't have to deal with that.
 
Ummm, no.

The Mac App Store is an app store. HomeBrew is a package manager.

A better comparison would be NPM for JavaScript app development or Apt-Get for Linux.

An app store is basically a package manager with a focus on payments.

(Yeah, the App Store also doesn't handle dependencies, but other than that, it's quite similar: you install a bunch of stuff, and it centrally manages updates for it.)
 
the comment I replied to didn’t say “it makes onboarding inexperienced developers easier” or “it makes things quicker”.

they said it’s a “must have”, implying it’s a hard requirement for any developer. I can tell you categorically that is false.

OK, so you're arguing the semantics that there are 30% of developers who don't use a package manager and get by fine, and therefore, it's not technically a "must" have? Cool cool.
 
Who's claiming that every developer uses "hundreds of libraries and tools"? Are you? You're wrong. That isn't an opinion, it's fact.

What developer at this point doesn't?

If you develop Mac/iOS apps, you will. If you develop .NET stuff, you will. Java, same. Python, same.

Even if you do only web development, you'll probably use a package manager like npm, and if anything, you won't have hundreds of dependencies, but rather tens of thousands.
 
  • Like
Reactions: AxiomaticRubric
OK, so you're arguing the semantics that there are 30% of developers who don't use a package manager and get by fine, and therefore, it's not technically a "must" have? Cool cool.
I’m saying that brew is not a requirement to write/build software.

The phrase “must have” implies that it is a requirement.

Too often people overlook misuses of words. Words have meanings, but if we ignore those meanings why use words at all? Why not just grunt and assume the other party knows what we mean. At least both parties will know there is some guesswork intended.
 
Why?

macOS survived for 17 years without shipping with any command line whatsoever (you basically only got a command line if you installed MPW). iOS doesn't ship with a command line either.

What's MPW?

maOS ships with a full set of command-line utilities, most of which are the only way to completely administer the system. Tools like Disk Utility, Time Machine etc. are just wrappers over the underlying command line tools.


Arguably, your very use of the word "guts" means most people shouldn't have to deal with that.

At the same time, users would benefit immensely from learning some basic command line, as it opens up completely new possibilities for them...
 
  • Like
Reactions: AxiomaticRubric
What developer at this point doesn't?

If you develop Mac/iOS apps, you will. If you develop .NET stuff, you will. Java, same. Python, same.

Even if you do only web development, you'll probably use a package manager like npm, and if anything, you won't have hundreds of dependencies, but rather tens of thousands.
FYI there are a goodly number of developers who use Macs as a host OS, but install no libraries or languages or runtimes directly on said host, because it’s not the target environment.

And claiming that developers who use npm will install hundreds of libraries is like claiming that a person who sticks their head in a bucket of water is going to inhale a lot of water. The JavaScript community has fetishised the concept of libraries to the point that single-line logic (literally `variable % 2 === 0` - is the number even and thus leaves no remainder when divided by 2) become a library of its own, with dependencies of its own.

npm and “modern JavaScript” are not useful examples of anything except definitions for terms like “cargo cult”, “circle jerk” and “you couldn’t pay me enough to work with those people”.
 
  • Angry
Reactions: AxiomaticRubric
What developer at this point doesn't?

If you develop Mac/iOS apps, you will. If you develop .NET stuff, you will. Java, same. Python, same.

Even if you do only web development, you'll probably use a package manager like npm, and if anything, you won't have hundreds of dependencies, but rather tens of thousands.
Oh and how could I forget to ask: do you really think the world operates on just obj-c/swift, .net, Java and python?
 
  • Disagree
Reactions: AxiomaticRubric
Oh and how could I forget to ask: do you really think the world operates on just obj-c/swift, .net, Java and python?

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?

Because yes, the vast majority of software these days gets built with the help of package managers. Which is not to say you're a bad developer if you don't use one, but "must-have" is a perfectly valid way to describe them at this point.
 
FYI there are a goodly number of developers who use Macs as a host OS, but install no libraries or languages or runtimes directly on said host, because it’s not the target environment.

You'll still likely install an SDK on the host.

(You seem to be bringing up more and more esoteric use cases here.)

And claiming that developers who use npm will install hundreds of libraries is like claiming that a person who sticks their head in a bucket of water is going to inhale a lot of water. The JavaScript community has fetishised the concept of libraries to the point that single-line logic (literally `variable % 2 === 0` - is the number even and thus leaves no remainder when divided by 2) become a library of its own, with dependencies of its own.

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

npm and “modern JavaScript” are not useful examples of anything except definitions for terms like “cargo cult”, “circle jerk” and “you couldn’t pay me enough to work with those people”.

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.
 
What's MPW?

MPW is Macintosh Programmer's Workshop and is how developers got a command line in the Mac OS Classic days.

maOS ships with a full set of command-line utilities, most of which are the only way to completely administer the system. Tools like Disk Utility, Time Machine etc. are just wrappers over the underlying command line tools.

I'm not sure how this is relevant (we weren't discussing administering a system, were we?), but while Disk Utility does wrap around various tools like fsck, I don't believe Time Machine wraps around anything. There's tmutil, but the UI doesn't wrap around that.

At the same time, users would benefit immensely from learning some basic command line, as it opens up completely new possibilities for them...

Maybe.
 
  • Like
Reactions: jdb8167
I’m saying that brew is not a requirement to write/build software.

Technically, it isn't, no.

The phrase “must have” implies that it is a requirement.

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

Too often people overlook misuses of words. Words have meanings, but if we ignore those meanings why use words at all?

If you get so hung up on meanings, try a dictionary.


"This cookbook is a must-have for chocolate lovers."

Do you think this example implies that, if you love chocolate, you will literally die without that cookbook?
 
The phrase “must have” implies that it is a requirement.

I am not a native speaker, so my command of English is far from perfect, so I apologize if my language use rubbed you off the wrong way. I was under impression that “must have” is a commonly accepted colloquial expression expressing high (subjective) desirability and/or praise. If you take everything by it’s literal value, you won’t come far in communication (and I do have some authority in this topic after all, having authored a bunch of academic papers on semantics and pragmatics of human languages).
 
  • Like
Reactions: Stella
I'm not sure how this is relevant (we weren't discussing administering a system, were we?), but while Disk Utility does wrap around various tools like fsck, I don't believe Time Machine wraps around anything. There's tmutil, but the UI doesn't wrap around that..

What I meant is that the inner workings of macOS are accessible from and in fact build upon its Unix nature. Starting from the program settings (defaults CLI) and the like.
 
What I meant is that the inner workings of macOS are accessible from and in fact build upon its Unix nature. Starting from the program settings (defaults CLI) and the like.
I'm not disputing the usefulness of modern macOS's Unix underpinnings; I'm just saying a lot of people don't have to (and shouldn't have to) ever need to access them.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.