My experience with macOS after 3 years of usage

I’ve never been a macOS user before, but after so many years working with Windows, I felt that it was the perfect time to try something different, especially considering the birth of the new Apple Silicon chips and the death of Intel on mac devices which brought new things to the operating system. Some things I really love about macOS but some others I can’t really tolerate.

Coding

Starting off with Coding, macbooks are just one of the best if not the best laptops out there. You will never hear the fan spinning not even a single time unless for some super heavy tasks like rendering, the battery will last forever (expect if you start using it as a workstation), good build quality and speakers, customizable terminal that make you feel like you are on a Linux OS (expect you are not and we will talk about the other aspects later).

And it doesn’t stop there, you can type in terminal xcode-select --install and it will install Clang, GCC and Git and you can also have package managers like Homebrew or Macports which work like a package manager on Linux and let you install every tool you need without opening the browser brew install --cask firefox

So for stuff like Web Development, you are in good hands, but the problems start to rise when you are coding desktop applications. I recently started my journey to learn 3D Programming and I was utterly shocked when I found out that not only OpenGL has been terribly deprecated, but the support for 3D graphics on mac has been shifted to a new API called Metal, which wouldn’t be too bad, if only for the fact that there is almost no documentation available (at least not comparable to OpenGL) and you are basically forced to use Swift which again wouldn’t be too bad if only you didn’t have to use XCode.

XCode has a notorious fame for being a terrible IDE: buggy, no extensions, no good auto completion, awful UI, weird shortcuts. About the UI, it’s probably because I am used to an IDE like Visual Studio or Jetbrains Rider, but working on something so different in every aspect just doesn’t make coding a nice and good experience. An IDE is supposed to give you all the tools to code fast and efficiently, not wasting time understanding how a UI it’s working without providing support for extensions.

For C++ luckily you are not forced to use XCode, in fact you can either opt for CLion or Qt Creator or you can be like me and hurt yourself and configure the debugger and a bunch of other stuff in VSCode which will help you at the same time to learn other stuff like make, GCC, CLang which you would never learn if you press a button to Run or Debug your code.

macOS is missing some parts

I will never understand why in macOS you have to install so many tools to be able to even use correctly an operating system. Some of the tools I have installed:

  • AltTab the CMD + Tab of macOS is not the same ALT + TAB on Windows, if you have more windows opened for the same process, you can’t switch between them. This tool fixes these problems and add couple of other features.
  • Rectangle another thing that macOS is really bad at is the window management, I guess this was designed to be used with a trackpad and the gestures but it feels so incovenient and not very productive. This tool again fixes these problems and allows you to have resizable windows like on another operating system. If the new versions of macOS will start having window tiling.
  • Raycast it seems that there is a pattern where some things are good but others are not that great. macOS is using something called Spotlight which works by pressing CMD + Spacebar and you can do bunch of stuff like using the calculator, open programs, files which wouldn’t be bad if only it wasn’t limited in what it does and slow indexing the queries you enter to search for files or folders. This tool not only improves this aspect, but it also adds plugins and it is highly customizable.
  • iTerm but wait why did I praise before the macOS terminal and now I am suggesting a third party terminal ? It’s because the default version is missing lot of features like clickable links, a better search, autocomplete and many other features.
  • Any other web browser that is not Safari, which is terrible for web development and it manages tabs in a weird way compared to Chrome or Firefox, and it doesn’t have the same amount of extensions. Still great if you want to save some battery, since it uses less RAM than Firefox and Chrome.

I have installed other tools but they are not essentially required but some worth to mention are:

I think that if an OS force you to install too many tools to be productive or improve its functionality, it’s not a good thing since the OS should be designed to offer you only the essentional tools to do your job and then install only the stuff you really need. At least macOS does not have the same amount of bloatware compared to Windows.

Dockbar

I don’t really understand why Apple designed the Dockbar this way but it is very different unlike the Windows taskbar. Programs can only be closed if you right click on the icon and select quit, which is super annoying. Navigating through this Dockbar also feels unpractical, it’s 10 times faster pressing CMD + Tab to switch windows. So what I did was simply resizing the Dockbar to be very small, and put it at the edge of my macbook screen so I can stop using it completely. Oh and by the way, if you want to completely close an application it’s also faster pressing CMD + Q.

Gaming

This is kinda of a mix, macs are not designed to be gaming machines, but with the recent models, there is been some huge improvements on this side. We got many games ported to macOS like Resident Evil Village, Resident Evil 4, Death Stranding, No Man’s Sky and yet it is still not much in terms of options you can get but luckily Crossover is rocking hard providing more support for triple A games and for more legacy stuff there is Parallels. So unless you want to play the most recent triple A titles, you are very well covered and as long as you buy a macbook with a fan.

Which bring us to another debate that Apple created, which is the 8GB of RAM being more than enough for most people. This is simply false because unless you send emails or watch videos on Netflix, you can’t simply use a laptop or any device with just 8GB of RAM in 2024. You will run out of RAM very fast considering that nowadays many applications are RAM eaters, like Chrome which is not even a game.

SIP

SIP (System Integrity Protection) should never be disabled, if you have an app which tells you to disable it, get another app or find another workaround. I don’t remember the list of things that can go wrong if you disable it but just to list a few I have found:

  • you become more vulnerable to malwares
  • if an app doesn’t have access to some parts of the system, now it has access to:
    • /System
    • /usr
    • /bin
    • /sbin
    • /var
  • Apple Pay will not work as long as SIP is disabled
  • some other apps will also stop working

Emulation is just perfect

I’ve never had a better experience with emulation in my life before, in terms of gaming you have plenty of emulators which can easily run demanding titles without even overeating the hardware and Parallels just works easily out of the box with the least amount of effort to get stuff working. But now it seems that VMWare could be a good alternative, which on macOS is also free.

Linux is there but not completely

The Asahi team did a pretty good job in collaboration with the Fedora Project to improve the OS and deliver US a better experience on Linux ARM as mentioned here, but unfortunately, there are drivers that are still not fully working and it is true that it is already usable but it still has some problems related to speakers, battery draining fast, external monitor not working with macbooks that don’t have an HDMI port which don’t really make me switch from macOS at the moment.

Get at least a pro model

I got a macbook pro 13 before Apple stopped shipping them and I gotta say it is a great laptop, but you don’t have the necessary ports like HDMI, so you guessed it, spend other bucks buying adapters! So I am saying get at least a pro so you don’t have to become mad with this, but one adapter I can recommend is Anker which turned out to be really good.

In Europe the situation is not great, since to get a macbook pro you have to spend now at least 2k euros with no warranty included and with just 8GB of RAM and 512GB of storage which is ridiculous. You want a long term laptop ? Get at least 16GB of RAM and 512GB of SSD, otherwise you’re just wasting your money.

Adapters hell!

This is not just macbooks, it’s also the same for other models like Dell XPS, I have tons of USBs and cables that are using USB-A, why removing all these ports ? Some of these adapters have given tons of problems, like screen flickering and other components failure. One thing for sure, if you have to get an adapter, get a premium one, I had to switch between 3 different adapters to finally get one that it’s working good. I can recommend the Anker one, which costs around 60 euros.

Battery

It is true that the battery will last for many many hours, but as soon as you connect an Adapter and you start using the macbook more as a workstation, the battery will last around 3-4 hours depending on the usage. So in terms of battery, I don’t think it’s really better than other laptops on this side, you probably want discharge the battery once in a while but keep the macbook plugged in so you don’t increase the cycle counts too quickly, especially for heavy tasks.

TLDR

macOS is a great OS but if you are used to Windows, you’ll find many weird things, but once you get used to them, you start liking them. Can’t recommend another laptop unless you can avoid paying the fee to have Windows already installed and put Linux on it. It’s for me to come back to Windows since macOS improved my productivity, I’m still sticking to Windows because of my work laptop and because I do .NET development, but unless you need to create WPF apps, you don’t need Windows to do any new .NET development since everything is multi platform and open source.