I use Mac and also open terminal often. Then again, I’m a software engineer and I have work to do, that doesn’t include trying to troubleshoot problems with my OS.
I’m in the same position. My Linux machine is for gaming and … Interesting tasks that could be hazardous to set up on my Mac.
The hardware quality is sublime as well. However, dailing Linux for a bit and going back to MacOS made me appreciate it more. Homebrew is a hair slow tho 😂
There’s a better timeline where Woz was also brought back to Apple, OS X was just another linux distro that came with Apple’s very nice hardware, and the combined Linux and Mac user space meant game devs would take it seriously. Also, Mac/linux had a real foothold in the educational space again.
Yeah, and that shift from copyleft to permissive (bash is GPL-licensed; zsh is MIT-licensed) is emblematic of Apple going from genuinely wanting users to have full control of their system to only begrudgingly tolerating it when they can’t stop it entirely. Apple switched precisely because bash upgraded from GPLv2 to GPLv3 and Apple was butthurt about users’ rights being better protected.
I just want to throw it out there that you can use any of these products and learn a terminal. Often times Mac does better with photo editing and programming in terms of handling the load balance.
Knowing one or the other doesn’t make you any better than the rest.
In software, it seems incredibly common for companies to give developers MacBooks and then have their software deployed on a linux VM in AWS.
It’s just one of the lower friction corporate options for software companies. The last time I used an institutionally managed linux computer was college.
There’s definitely tech jobs where you need to know linux. But there’s also a ton of jobs where you don’t have to know much of anything about it beyond common unix stuff, and where OS X specific knowledge is more useful.
When time is money, businesses give 0 shits about your Arch install, to be blunt, OSX and Apple are there to do work… Thay being said, I loves me some Unix Porn 😅
Sorry for the spicy reply. ❤️
Companies generally want something they control, so they can lock your computer and wipe it remotely when they lay you off.
They care about your arch install because they don’t want it any more than your OS X install. Their arch install would be fine, but their JAMF controlled OS X install is probably much cheaper for them to manage, practically speaking.
+1 for the corporate part. That said I’ve been at two large corpos where Ubuntu LTS was an official, blessed, IT-managed workstation OS option. In fact some development projects have it as the default OS, because some software simply doesn’t build on non-Linux OSes and requires Linux VMs on Windows or macOS. For example AOSP.
Disagree on macOS being a really good development OS. It may be so for iOS/macOS development but for many other use cases, package managed Linux OSes are superior. Case in point, macOS has no built-in package manager that can manipulate what toolchains, runtimes and libraries are installed on the system and available for software development. You have to resort to Homebrew or Macports, both of which are inferior options than say apt in Debian-based Linux OSes. And then there’s the fact that macOS doesn’t support Linux containers without virtualization. Given how useful and how widely used containerization is for software development, it really puts the nails in macOS as a great development OS. Yes you can use containerization but at the expense of significant resource overhead. That’s not great at all. I had a 6-container stack to run for development on a MacBook Pro a few years back. It was nearly unusable on that hardware due the RAM overhead and slow macOS<->container IO. The same stack was flying on equivalent hardware running Ubuntu LTS. Beyond that, you can distribute whole consistent development environments fairly easily using Linux OSes and trivially using containers. Having used Windows, Linux and macOS for professional software development, I think macOS is easier to live with for companies without IT departments, but not necessarily as easy to live with for developers. That said people who are used to work with it might find that easier than learning something else even if that something is easier in absolute terms. Which is fine.
Sure, but Linux doesn’t champion good package management. You either resort to the package system of the distro you installed, or slowly switch to flatpak/snap, and then likely the package manager of the language you are developing in. It’s no different to using brew on macOS.
I would argue basing your entire OS on the package managers makes dev add more friction, not less. Perhaps the only Linux example trying to escape that is nixos, which is nice when you get the hang of it, but it’s a little restrictive. For straight Linux development of course Linux will be the best choice. For straight macOS development of course macOS will be the best choice. For straight windows development of course windows will be the best choice. Distributing docker containers is mostly OS agnostic now, and though you mentioned it, the performance payoff for virtualization on apple M hardware is minuscule.
Most IT departments at big software companies will opt for macOS for their software devs nowadays, unless they explicitly request Linux. That’s not exclusive, bigger tech companies will let you choose because they have the bandwidth to support multiple OS’s, but they do that because supporting one *nix based OS is much easier than supporting every Linux based distro, with a different package system.
I’ve used arch. The community repo is amazing, but flawed in its own way. I’ve used Ubuntu, figuring out the PPA system sucks. I’ve used Fedora/Redhat, trying to get deb packages to work when they aren’t in the rpm library is a ride. I’ve used SUSE, Yast is great, and again become frustrating when the package you need isn’t there.
There are far more variables working with Linux distros, and usually those variables, when you’re just trying to write code, make things more difficult, not easier
At the end of the day it sounds like we’re tackling very different versions of the dev world anyway. You are trying to emulate Linux servers on apple hardware. I’m writing native apps for iOS and Android that use web views to render our components. Of course macOS wouldn’t be the best for Linux container infrastructure work, but that’s a small subset of the dev work that exists, just as my work is a small subset, however I’d still argue that on a larger scale, macOS is a better dev OS.
Wow, really? So, basically, since 1999 or so, I could have had a built up career because I mastered the Linux OS. I have built up a career in something else totally unrelated. Do you think I’d be richer and famouser, too? Maybe I should have just thrown myself at the technology labor market and taken control of it, like I do with the terminal app. snortreapplies tape to broken glassessnort snortreadjusts pocket protectorprefers platform games with a penguin over a guy with a moustachesnort snort
The long view of history may tell a different story, but in 2003 it looks like Plan 9 failed simply because it fell short of being a compelling enough improvement on Unix to displace its ancestor. Compared to Plan 9, Unix creaks and clanks and has obvious rust spots, but it gets the job done well enough to hold its position. There is a lesson here for ambitious system architects: the most dangerous enemy of a better solution is an existing codebase that is just good enough.
Raymond predicted subsumation as legacy:
It may well be that over time, much more of Plan 9 will work its way into Unix as various portions of Unix’s architecture slide into senescence. This is one possible line of development for Unix’s future.
I wouldn’t call these a ringing endorsement of envy.
You have fundamentally misunderstood the power of Linux. Just because macos took the Mach kernel and modified it does not mean it is a powerful way to run your computer.
The power of Linux is that it is open source. You own and control the system. With Macos you are just licensing someone else tech, they control the system you are playing in another persons sandbox, I.e. you have zero power.
You’re fundamentally right, but “no less powerful” is a pretty big stretch, consideration that the majority of the Internet runs on Linux servers, not Mac servers.
But your point about FreeBSD is right. It’s more work, but most software built for Linux will at least run on Mac if you know your compiler flags well enough.
But if someone tries to spin up web services on a Mac, they’re going to have a bad time. So I wouldn’t quote say “no less powerful”.
Edit: but I agree with your core point that the meme is silly and way off base.
Linux’s big competitive advantage in web servers is licensing. You don’t have to pay Apple a penny to start up a linux VM, and you don’t have to contractually run it on apple hardware.
In most modern languages, the difference in building your project on linux vs OS X is basically non-existant. I’ve spent nearly a decade working on backend web services on company MacBooks that get deployed to a linux EC2 instance. Running the server locally makes basically no difference.
Agreed that the fundamental advantage is licensing.
But let’s not underestimate the enterprise packaging gulf that this difference has led to.
It sounds like you and I both could get a full set of web services running on Mac.
That said, among the diversity of things I’ve had to get running on Mac, it was a lot less simple than on Linux. Which is why I run as much as possible inside Docker.
Using Linux is definately a skill that can be mastered. A Linux user can practice and learn a powerful set of tools which have developed over decades.
The scripts I write for my laptop using this powerful toolset can be ported across devices to my phone, my server, my mp3 player, my router etc.
With a closed source GUI OS you are basically just pushing buttons, no different than changing the channel on a television. You are using a limited interface that had been designed for you. You can only do what the owner of the OS has decided you can do with your device. You cant modify it, if the author changes it, removes features, adds features that work against your interests you are powerless.
On a Mac or windows GUI you are using a consumer product in a limited context whereas with Linux you are truly mastering electronics.
that’s why i like linux but if we ever want the year of the linux desktop it needs distros to be more gui orientaded normal users get overwhelmed if they even see a terminal window for a second
no ‘year of the linux desktop’ leave it to the savvy (me, using immutable with distrobox arch), wait for ppl to get really unsatisfied with the enshittification of mainstream OS’s
OS X is literally a heavily modified version of FreeBSD with a very shiny GUI.
It ships with a terminal that has zsh installed by default, and homebrew is a decent package manager. You can write scripts for it in precisely the same way you do for Linux.
It being closed source means you can’t edit the OS itself. And there’s certainly a bunch of weird stuff that it does. But mastering linux and mastering OS X are pretty similar things.
Mac is annoying. I think the real skill here is just being able to use a terminal. I remember when i worked at EA we had a gazillion Mac mini’s to build ios apps. Due to the way apple likes to handle their certs, you had to update them often. The majority of my coworkers would use a KVM appliance to do so, but it was like 4 commands.
Terminal for the win. I think we eventually just automated it in the build system. Also Jenkins can fuck off.
even thou i don’t really like it but macos is more refined so that it can be used more easily. most linux distros are not really eass to use you have to invest time into it and most people don’t want to do that. we as a linux community should be aware of that problem. yes it’s a problem not a feature
Mastering? It’s an OS not a skill.
Are really looking down on people because you open the terminal often instead of being able to click something?
I use Mac and also open terminal often. Then again, I’m a software engineer and I have work to do, that doesn’t include trying to troubleshoot problems with my OS.
I’m in the same position. My Linux machine is for gaming and … Interesting tasks that could be hazardous to set up on my Mac.
The hardware quality is sublime as well. However, dailing Linux for a bit and going back to MacOS made me appreciate it more. Homebrew is a hair slow tho 😂
Avast! Nothing interesting to see here mateys. It just be a Linux server serving…files. The legally obtained kind, I might add. Yarrr!
Made my day. Yarr!
Plus the Mac is a wee skiff in the open sea.
Homebrew is so convenient, yet so ridiculously slow.
There is a option to not install the kitchen sink when you brew install… I forgot what it is though…
Kindly extrapolate on the more hazardous workloads you Linux machine runs
Calculator.app
Whoa buddy, easy with the hard R!
I used to use
MacOSOS X in the mid-2000s, and the reason why I liked it was precisely because it was the best UNIX.It’s a shame Apple moved away from things like bash, Applescript, Automator, Xserve, machines with toolless chassis and good upgradability, etc.
There’s a better timeline where Woz was also brought back to Apple, OS X was just another linux distro that came with Apple’s very nice hardware, and the combined Linux and Mac user space meant game devs would take it seriously. Also, Mac/linux had a real foothold in the educational space again.
Omg this gave me goosebumps to read. That would have been amazing!!!
IIRC Zsh is default now.
Yeah, and that shift from copyleft to permissive (bash is GPL-licensed; zsh is MIT-licensed) is emblematic of Apple going from genuinely wanting users to have full control of their system to only begrudgingly tolerating it when they can’t stop it entirely. Apple switched precisely because bash upgraded from GPLv2 to GPLv3 and Apple was butthurt about users’ rights being better protected.
Linux skills are often a requirement of sysadmin jobs.
Linux skills
Windows skills
OSX Skills
Can all often be requirements of a job.
I just want to throw it out there that you can use any of these products and learn a terminal. Often times Mac does better with photo editing and programming in terms of handling the load balance.
Knowing one or the other doesn’t make you any better than the rest.
It’s this community, so yes.
The technology labor market disagrees. Careers are built on mastering the Linux OS.
In software, it seems incredibly common for companies to give developers MacBooks and then have their software deployed on a linux VM in AWS.
It’s just one of the lower friction corporate options for software companies. The last time I used an institutionally managed linux computer was college.
There’s definitely tech jobs where you need to know linux. But there’s also a ton of jobs where you don’t have to know much of anything about it beyond common unix stuff, and where OS X specific knowledge is more useful.
When time is money, businesses give 0 shits about your Arch install, to be blunt, OSX and Apple are there to do work… Thay being said, I loves me some Unix Porn 😅 Sorry for the spicy reply. ❤️
Companies generally want something they control, so they can lock your computer and wipe it remotely when they lay you off.
They care about your arch install because they don’t want it any more than your OS X install. Their arch install would be fine, but their JAMF controlled OS X install is probably much cheaper for them to manage, practically speaking.
Precisely one niche where mastering the Linux OS provides bread.
I mean, imagine running legacy apps… In Tomcat. I’ve seen into the void…
Don’t have to imagine it. 🥲
Because Linux is really good at being a server, and macOS is really good at being a development OS, despite the hate it’s getting in this thread
I honestly think it has very little to do with the OS itself.
I think it’s more about practicalities and inertia - ordering laptops with the OS preinstalled, administering them, corporate VPN software, etc.
Both are great development OSs, but OS X is a better corporate OS.
+1 for the corporate part. That said I’ve been at two large corpos where Ubuntu LTS was an official, blessed, IT-managed workstation OS option. In fact some development projects have it as the default OS, because some software simply doesn’t build on non-Linux OSes and requires Linux VMs on Windows or macOS. For example AOSP.
Disagree on macOS being a really good development OS. It may be so for iOS/macOS development but for many other use cases, package managed Linux OSes are superior. Case in point, macOS has no built-in package manager that can manipulate what toolchains, runtimes and libraries are installed on the system and available for software development. You have to resort to Homebrew or Macports, both of which are inferior options than say apt in Debian-based Linux OSes. And then there’s the fact that macOS doesn’t support Linux containers without virtualization. Given how useful and how widely used containerization is for software development, it really puts the nails in macOS as a great development OS. Yes you can use containerization but at the expense of significant resource overhead. That’s not great at all. I had a 6-container stack to run for development on a MacBook Pro a few years back. It was nearly unusable on that hardware due the RAM overhead and slow macOS<->container IO. The same stack was flying on equivalent hardware running Ubuntu LTS. Beyond that, you can distribute whole consistent development environments fairly easily using Linux OSes and trivially using containers. Having used Windows, Linux and macOS for professional software development, I think macOS is easier to live with for companies without IT departments, but not necessarily as easy to live with for developers. That said people who are used to work with it might find that easier than learning something else even if that something is easier in absolute terms. Which is fine.
Sure, but Linux doesn’t champion good package management. You either resort to the package system of the distro you installed, or slowly switch to flatpak/snap, and then likely the package manager of the language you are developing in. It’s no different to using brew on macOS.
I would argue basing your entire OS on the package managers makes dev add more friction, not less. Perhaps the only Linux example trying to escape that is nixos, which is nice when you get the hang of it, but it’s a little restrictive. For straight Linux development of course Linux will be the best choice. For straight macOS development of course macOS will be the best choice. For straight windows development of course windows will be the best choice. Distributing docker containers is mostly OS agnostic now, and though you mentioned it, the performance payoff for virtualization on apple M hardware is minuscule.
Most IT departments at big software companies will opt for macOS for their software devs nowadays, unless they explicitly request Linux. That’s not exclusive, bigger tech companies will let you choose because they have the bandwidth to support multiple OS’s, but they do that because supporting one *nix based OS is much easier than supporting every Linux based distro, with a different package system.
I’ve used arch. The community repo is amazing, but flawed in its own way. I’ve used Ubuntu, figuring out the PPA system sucks. I’ve used Fedora/Redhat, trying to get deb packages to work when they aren’t in the rpm library is a ride. I’ve used SUSE, Yast is great, and again become frustrating when the package you need isn’t there.
There are far more variables working with Linux distros, and usually those variables, when you’re just trying to write code, make things more difficult, not easier
At the end of the day it sounds like we’re tackling very different versions of the dev world anyway. You are trying to emulate Linux servers on apple hardware. I’m writing native apps for iOS and Android that use web views to render our components. Of course macOS wouldn’t be the best for Linux container infrastructure work, but that’s a small subset of the dev work that exists, just as my work is a small subset, however I’d still argue that on a larger scale, macOS is a better dev OS.
Wow, really? So, basically, since 1999 or so, I could have had a built up career because I mastered the Linux OS. I have built up a career in something else totally unrelated. Do you think I’d be richer and famouser, too? Maybe I should have just thrown myself at the technology labor market and taken control of it, like I do with the terminal app. snort reapplies tape to broken glasses snort snort readjusts pocket protector prefers platform games with a penguin over a guy with a moustache snort snort
Uh…No. Of course not. That would be silly.
It’s all in good fun…I hope.
This is a community, where people post memes. It’s a joke.
Linux people on suicide watch when they see someone using plan9
Eric S. Raymond carved Plan 9’s headstone 20 years ago:
Raymond predicted subsumation as legacy:
I wouldn’t call these a ringing endorsement of envy.
I’m currently using parts of plan9 (such as acme, plumber, etc) and can confirm
Not many people have actually met that plan9 using guy.
Plus MacOS is FreeBSD based, it’s no less powerful/complex than Linux.
You have fundamentally misunderstood the power of Linux. Just because macos took the Mach kernel and modified it does not mean it is a powerful way to run your computer.
The power of Linux is that it is open source. You own and control the system. With Macos you are just licensing someone else tech, they control the system you are playing in another persons sandbox, I.e. you have zero power.
You’re fundamentally right, but “no less powerful” is a pretty big stretch, consideration that the majority of the Internet runs on Linux servers, not Mac servers.
But your point about FreeBSD is right. It’s more work, but most software built for Linux will at least run on Mac if you know your compiler flags well enough.
But if someone tries to spin up web services on a Mac, they’re going to have a bad time. So I wouldn’t quote say “no less powerful”.
Edit: but I agree with your core point that the meme is silly and way off base.
Linux’s big competitive advantage in web servers is licensing. You don’t have to pay Apple a penny to start up a linux VM, and you don’t have to contractually run it on apple hardware.
In most modern languages, the difference in building your project on linux vs OS X is basically non-existant. I’ve spent nearly a decade working on backend web services on company MacBooks that get deployed to a linux EC2 instance. Running the server locally makes basically no difference.
Linux’s advantages are more legal than technical.
Agreed that the fundamental advantage is licensing.
But let’s not underestimate the enterprise packaging gulf that this difference has led to.
It sounds like you and I both could get a full set of web services running on Mac.
That said, among the diversity of things I’ve had to get running on Mac, it was a lot less simple than on Linux. Which is why I run as much as possible inside Docker.
Zero customisability and plenty of poor defaults.
My 4k€ company MBP 16" is sitting in my drawer while I use my personal XPS running opensuse. Feel right at home and much more productive than before.
Why not run Linux on it then? Also quick way to make a CSO have a aneurysm, using personal shit for work 😅
Using Linux is definately a skill that can be mastered. A Linux user can practice and learn a powerful set of tools which have developed over decades.
The scripts I write for my laptop using this powerful toolset can be ported across devices to my phone, my server, my mp3 player, my router etc.
With a closed source GUI OS you are basically just pushing buttons, no different than changing the channel on a television. You are using a limited interface that had been designed for you. You can only do what the owner of the OS has decided you can do with your device. You cant modify it, if the author changes it, removes features, adds features that work against your interests you are powerless.
On a Mac or windows GUI you are using a consumer product in a limited context whereas with Linux you are truly mastering electronics.
MacOS uses Bash/ZSH…
If you write the scripts in a POSIX way, you can serve both MacOS & Linux with the same script.
that’s why i like linux but if we ever want the year of the linux desktop it needs distros to be more gui orientaded normal users get overwhelmed if they even see a terminal window for a second
People use the phrase “year of the Linux desktop” unironically?
sadly yes i just used it to make a point ^^ in my opponion linix will never really be the dominant os
You can get by just fine without the Terminal.
It’s called a GUI package manager…
I think we don’t have enough people working in the DEs (Gnome and KDE, mainly) in order to achieve it.
no ‘year of the linux desktop’ leave it to the savvy (me, using immutable with distrobox arch), wait for ppl to get really unsatisfied with the enshittification of mainstream OS’s
OS X is literally a heavily modified version of FreeBSD with a very shiny GUI.
It ships with a terminal that has zsh installed by default, and homebrew is a decent package manager. You can write scripts for it in precisely the same way you do for Linux.
It being closed source means you can’t edit the OS itself. And there’s certainly a bunch of weird stuff that it does. But mastering linux and mastering OS X are pretty similar things.
Mac is annoying. I think the real skill here is just being able to use a terminal. I remember when i worked at EA we had a gazillion Mac mini’s to build ios apps. Due to the way apple likes to handle their certs, you had to update them often. The majority of my coworkers would use a KVM appliance to do so, but it was like 4 commands.
Terminal for the win. I think we eventually just automated it in the build system. Also Jenkins can fuck off.
even thou i don’t really like it but macos is more refined so that it can be used more easily. most linux distros are not really eass to use you have to invest time into it and most people don’t want to do that. we as a linux community should be aware of that problem. yes it’s a problem not a feature