The first desktop version, Mac OS X 10.0, was released on March 24, 2001. Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard and all releases from OS X 10.8 Mountain Lion to macOS 14 Sonoma are UNIX 03 certified
I don’t like MacOS, but it’s actually able to be called UNIX.
I’m surprised you don’t lose Unix certification with crap like case insensitive filesystem defaults.
I don’t want to be like Stack Overflow, but tbh you have some design problems if you rely on case sensitive filesystems.
I haven’t heard this before, what are they?
Most importantly readability and usability for the user and debugging. Some programs aren’t case sensitive.
That last point is somewhat amusing considering you have to go out of your way to make your program case-insensitive.
Both HFS Plus and APFS can have case sensitivity enabled, it’s optional.
Enabling it has had a tendency to break third party Mac software though. Adobe used to be a particularly bad offender there.
Being able to be called Unix just means paying for certification. No more, no less.
Well you still have to check all the boxes, you pay for the license the same way you can study and take certain exams but have to pay for the certificate.
I mean Mac OS has its place. There’s a reason so many music producers and coders choose that OS. It’s a rock solid stable approach for those use cases.
That being said, personally I would always prefer Linux but that’s mostly because I don’t do those things.
I don’t even particularly hate windows, I just like PopOS better
Genuine question, how is MacOS better for coders? I think those that do usually choose it because they’re used to it or their company offered either a bulky ThinkPad or a Mac and they wanted something thin and light.
Everytime I see tutorials for setting up or building something there will be a simple Linux install command, downloading a zip for windows (or if you’re lucky you can find it on Choco), and then there will be the multiparagraph homebrew setup.
macOS offers a lot of stability, it’s reliable, predictable, boring even. It works out of the box and stays that way, it survives upgrades, and rarely crashes.
The release cycle is steady, and changes are generally gradual and incremental. Mac users don’t usually have to worry about a new release breaking their system or their workflow because a developer wants to reinvent the wheel or a UI designer wants to make their mark. The only big shifts have been processor transitions.
The Mac ecosystem also allows users to have a foot in both the proprietary and open source ecosystems on a single platform. Being able to run, say, web development environments and Adobe CS for example, can be a lot easier than farting around with Wine or WSL.
Granted, there’s plenty of downsides to the Mac as well, but the platform definitely has merits.
Macs are pretty solid for coding. You don’t need to tinker with them, most of the time stuff just works. On the other hand, I spent lots of time to make sure stuff just works well on my Dell or ThinkPad with Ubuntu or pop.
For software, I’ve found that some software doesn’t give you much help if you get into problems on Linux.
And there is always something with Linux that doesn’t work for me. Like my Dell laptop with pop!os doesn’t charge over usb-C from Dell monitor (it worked on windows). Touchscreen doesn’t always work after waking up. I had ThinkPad with awful fan control on linux and hibernation issues. I had issues with scaling with external screens.
yeah it’s mostly because of the official support that reduces a lot of faffing about. I don’t wanna be a nix guru I just want to search stackoveflow and paste in commands when I have issues.
I don’t really think it’s better. They’re fine for coding.
They’re basically the corporate default because they’re easier for companies to buy and remotely administer, they’ve got good VPN software, good resale value, etc.
Exactly this. I was about to answer the question and realize you pretty much already had. Thanks very much.
I code daily on mine, by choice. I also have no issue coding on Linux and will happily spend all day in a CLI. Homebrew is just as easy as using apt or what have you, at least in my personal experience.
It isn’t always perfect.There was a bit of head scratching over shared libraries one time, until I figured out what stupidity I had to do to make Apple happy, but that is the only notable thing I can remember.
However, coding on Windows can be super painful depending on the language, especially with all of the backwards paths. The only coding work I enjoy doing on Windows is C#. Worst case WSL2 is around when I need some sanity.
No matter what, I have any of them available to me and the battery life on a MacBook Air is amazing. The corporate laptop is actually a decent machine and the size and weight is pretty good, especially considering the monstrous bricks the previous models were. Mobile workstation woes I guess. The most amusing part is AutoCAD 2024 running smoothly on the Mac. I never knew it could be that snappy.
Windows is a nightmare for development. Linux is generally not an option, so a UNIX based system is still easier than windows
For C++/C I used to agree, but now with WSL it’s easy.
My problems come with Java (versioning is a pain), JavaScript, Node, etc
C/C++ is probably the second easiest after C#
Node really? nvm makes it very easy, or using choco
Despite trying at least 6 times, I’ve never been able to successfully start a node project on windows. No such problems on Linux or Mac.
I tend to do my dev work at home with an Ubuntu server VM and ssh into it from my windows desktop now. Find that it’s the best of both worlds.
Despite trying at least 6 times, I’ve never been able to successfully start a node project on windows.
Huh fair, for me that’s cmake projects on Windows.
with an Ubuntu server VM and ssh into it from my windows desktop now.
That’s just WSL 💀
Not sure why the Linux community is convinced macOS is better than Windows. macOS has the same big issues Windows has (Spyware, ads, and the inability to delete the built in browser) while having worse issues like not supporting openGL/Vulkan, not allowing the user to install old apps, the inability to install hardware, and the small issue of only a select few Linux distros that work with it. Windows isn’t good, but it’s still better than macOS in most regards.
User experience is better on macOS vs Windows/gnu+linux newbie distros. Imho.
I bought a Mac laptop once and lasted about 3 months before running back to Linux. Mac OS may be great for some people, but it’s definitely not for everyone. It was also hell to pull my photos out of their damn software.
The machine was ok though.
(Spyware, ads, and the inability to delete the built in browser)
Ads for Apple services, yes. I don’t approve of that. But this is otherwise bullshit. I can delete any app I want. And I have to opt-in for Apple to get my crashlogs. And there aren’t ads for third-party bullshit.
And Linux is even better. Both OSes are great by comparison. And good on their own. We will never have perfect software.
What about Apple Music, ever deleted that one ?
MacOS is UNIX™
So is there a linux circlejerk? Cause you’re just ridiculous with your tribalist shit…
Yeah, macos is pretty based. I don’t own a Mac product but I have and they were great.
As a macOS user I don’t agree.
Me: “ls ~/Downloads”, mac-gui: Would you like to give “Terminal” access to the “Downloads” folder?
I really like it, and I miss it on Linux. On Linux, I have to trust that each and every sh/bash script, package install script, or some stuff you download from internet are actually safe and don’t access your private stuff. On mac I get the prompt when some software needs to access a specific folder.
Ok, it’s true that you have to spend 15 mins after setting up to “install developer tools”, and remove some safety rails. However, the mac doesn’t prevent you from doing that, and doesn’t really even try to make it hard (if you’ve ever touched a terminal before). Once it’s set up, you’re good to go…
Depends on what you are doing. My company was using clang for c++ compilation and it was a drag to make all this clicks for each .so every is update. And there is no way to automate the process. And those occasional compatibility breaks didn’t help either.
what do you mean? clang is a command line tool, can’t you write some cmake and a bash script to automate the build process? That’s what I always do when I writing any C++ that needs to be compiled/updated fairly regularly.
It has nothing to do with clang being command line. It consists of many binaries, all of them untrusted. Any time new dynamic lib is loaded Mac stops the process and complains. Then you need to do manual stuff, as you can’t automatically trust a binary, for obvious reasons. This happened almost two years ago, maybe clang got apple certificates or some shit to combat the issue. But my point was that every OS update on Mac brings annoying issues for developers.
I have to admit, I’ve never touched the kind of issue where I need to load a bunch of binaries I can’t automatically trust as part of a build process, so I won’t speak on that.
On the part about OS updates being a PITA, yes: I’ll admit that I offset updating the macOS major version for as long as possible. As long as my major version is maintained/get’s security updates, and the newer versions are backwards compatible enough that I can compile stuff for them without any hassle, I’ll stay on macOS 13. Judging by historical data, that means I have about two more years before I might need to spend an hour or two fixing up stuff that bugs out with the eventual major update.
click yes when this happens. this one is a freebie.
As a carrot I half-agree.
I know a lot of people like macOS, and I’m sure they get a lot done with it. For me however, it’s easily my least favorite popular OS. That’s even considering the terminal running zsh by default, which is miles ahead of Windows.
A quirk that recently bit us at work is that Safari has a maximum allowed version based off your OS version. Now if it was just me as a user, I’d download a 3rd party browser. However, as a developer, I have to build solutions that work for every “reasonable” browser. This means I can’t use features that every modern browser has, including Safari, because Safari from 4 years ago didn’t have it.
This used to be the case with IE. you’re always going to have to support at least one legacy browser.that’s one of the few real benefits of everyone moving to chromium based browsers.
Yeah, thankfully I never had to develop with IE in mind. Though I have heard a lot of people dislike it for that reason.
You’re totally right about that being a benefit to everyone moving to chromium. Thankfully Firefox has kept pretty up to date with new features/standards too.
at my last workplace we used a service called browserstack which cost something like 10$ a month, it allows you to run almost any combination of os/browser versions. you can even set it up to access a local server if you’re running one on your device machine for example. took out all the headache of running the specific ie version that the client was reporting bugs on it worked great but you can definitely find similar services to suit your use case
Thanks for the callout! We actually use browerstack too, but only for exceptions like that one. It’s not part of our typical process. Really cool software
I vividly remember when a friend of mine who runs a small graphic design studio was sent an archive file macOS couldn’t open natively and asked me for help. Never having used a Mac and without any clue as to which tools the stupid app shop (which was rather new at the time) held, I couldn’t for the life.of me get the blasted thing to obey me, until I found a terminal. I then installed build utils and compiled the frickin’ unpacker I needed myself since it only had Linux binaries. Worked like a charm.
I can agree that fighting apples UI’s can get frustrating (i.e. playing the “try to find the right button” game). What makes me think macs are great is that you get all the freedom you could wish for in a terminal that is unix-compliant, while also getting the reliability of a hugely widespread OS that a bunch of good developers are paid to maintain. With the new macs you also get the apple silicon hardware, which is great.
I think most people that use macs indeed do need the safety rails, but at the same time they bother me. I know how to disable them within 15 mins of setting up my computer, but if I’m helping someone with an issue, I sometimes first need to spend some time disabling safety nets and installing the tools I need. Also: Shoving iCloud storage down my throat is shit. They should stop that.
Next time, just install hombrew 😇 in the terminal, of course
What is wrong with the Mac? Is the only device that that makes me feel attached to Linux somehow.
There’s nothing wrong with it if you like it. At work, our servers are windows and I hate them. IN my home lab, I have a couple of guinea pig windows servers to play with and my actual home stack run on various flavors of linux - mainly ubuntu and centos. My gaming rig is windows because i just want to play the game, not play learn how to make the game run. And my workstation that I sit in front of and work at every day is a Mac because at work my job is to fix other people’s shit, and I don’t want to have to fix my own workstation in the middle of a client’s fire like my old windows workstation did to me many a time. I also don’t want to have to learn weird ways to do basic tasks when I’m on the clock like I do with my linux laptop. Every OS has a way that is shines, and if your use case aligns don’t let anybody make you feel bad about it.
I mean macos is Unix certified. But *nix systems are better.
Why is BSD listed twice?
But it’s not better than windows.
Eh, as long as you don’t update it its extremely stable. And it’s a UNIX system so you can still do shenanigans if you’re still inclined.
That is an interesting sentence: as long as you don’t update it’s extremely stable
But this is more about macOS having no package manager (officially), telemetry and such
I know, and trust me, I hate Apple for essentially breaking my computer after an update. But I had my MacBook for 6 years now, use it daily, and have no hiccups other wise.
Yeah, back when I was playing around with terminal not having a package manager was a huge pain in the ass.
Do you know about Brew?
At the time I couldn’t get it to work. It’s been years though
I still don’t get the love for package managers.
As a windows and Mac user who has tried to use Linux multiple times I can’t stand the centralized managers. They never have what I need and then it ends up out of date and not working.
Is there some hidden benefit I’m missing? Because sourcing from the developer seems like the much better way to do it like Mac and Windows.
Easy: Nothing beats the simplicity of
brew install whatever
orapt install whatever
, and then havingwhatever
just work, in my experience, pretty much every single time.Click download on the webpage Drag downloaded app to wherever you want to store it Open app
It’s just a matter of what you’re used to.
Packet managers are quicker to use. They also keep everything up to date.
Personally I find them slower and less convenient. Like they said, it’s easier to do what you’re used to.
I’ve not had that experience. I’ve had to go hunting down package names on google before I can install it using the package manager, when instead I could have just downloaded it from their website.
Apt, brew and whatever Arch has have all had the same problems for me. They almost never work out of the box and they’re a major reason I don’t like using Linux on desktop.
1.Security 2.Up to date depends on distro, rolling releases have more up to date software 3. Convenience: just open the app center and click install
Security: if they leave checksums on their website I don’t see how it’s any more secure
Up to date: I definitely haven’t had this experience. Multiple times on arch I had issues where an outdated repo caused an app to not be able to boot
Convenience: That’s subjective. I’ve never really seen much convenience from an all in one solution for anything. I find it more of a hassle to find the distro specific manager that has a terrible UI rather than just downloading directly off a web page
Apple bad! Give me points
snow leopard was damn near perfect, then they fucked it up