I’m a junior backend software engineer. I use a Vim plugin on my fancy code editor. I like the command line but I’m not all in on it or anything.
If I was a Windows user I’d switch. But being a Mac user I have a lot of what I need for software development.
What am I missing out on? Genuine question.
I think that’s a lot about personal preference. Do you enjoy your machine? That you can’t repair it? That you can’t easily take your OS with you one to a machine from another manufacture? Maybe you don’t care. I do. I think Linux gives you a lot of freedom, but if you don’t need or want it, I don’t think there is a reason to change. I mean, apart from the whole Apple-being-a-big-coorporation-that-actively-hinders-reparability issue that one might care about from a societal and environmental perspective.
Maybe you could get all the same stuff you need for development in Linux, and a lot more freedom to boot.
I apologize that this comes off a bit hostile. I am a bit hostile. I am also sorry for it!
I don’t think there was anything hostile about your comment tbh. You offered your opinions, admitted that OP might not have the same computing concerns as you, and then said that was fine. That’s more fair than most of the discussions I’ve seen on Linux forums lol.
Perhaps you shouldn’t. Any honest Linux user will tell you up front if that if you have a comfortable system already it may not be worth the disruption in your workflow while dealing with the learning curve. That being said, being free from the whims of Apple is a nice feeling.
As long as the distro has an ARM64 build, it’ll be fine virtualized on Apple silicon. Virtualbox has a developer preview build for M1/M2 Macs and I believe VMWare Fusion licenses are free for individuals.
While you can run AMD64 builds but it’s quite slow and painful (even headless via Docker). Thankfully most distros have ARM64 builds available - and I second the “kick the tires” effort.
I generally find that setting up dev environments to be easier and cleaner in Linux. I prefer standard distro packages compared to homebrew and all it’s quirks. There’s also native support for docker. If you’re doing backend stuff, it also helps that the machine you’re developing on is using a similar OS as the server that’s going to be running your code in production.
If it’s for your workplace though, evaluate whether it’s worth disrupting your workflow to make the switch. Don’t let your productivity suffer because of it. Maybe test it out in your own free time and make gradual migrations. For a long time, I was dualbooting between Windows and Linux, and I’ve slowly migrated over.
Being able to run Docker natively is pretty sweet.
I don’t know that anyone would be in a position to convince you. If macOS fulfills your needs and you don’t have a strong ideological opposition to anything from closed-source software to private corporations, there isn’t a reason to change. I have a MBP that’s a fantastic machine.
Linux, to me, is largely about choice and the ability to directly shape your tools. So I also have a roll-your-own custom Silverblue installation via the ublue.it project on a Thinkpad. It’s not better than my MBP, but I can do different things with it that aren’t tied to Apple’s release schedule. And it’s pretty great to manage my personal OS through GitHub.
In the desktop world, some folks roll with only suckless software and a forked personal copy of an esoteric tiling window manager. Some folks roll with default gnome or kde. Most are somewhere in between. They can use a privacy-focused fork of Firefox or they can use Microsoft Edge. The only limitation is imagination and time, whether yours or someone else’s. The downside compared to a private, proprietary ecosystem like macOS is that more tools are developed erratically, abandoned, or have “unique” user interfaces and assumptions.
But, again, I use both. If you feel like you need to switch away from macOS, that’s really up to what you need to do and what you want to accomplish.
At the end of the day you should use what you prefer. As for why I use Linux, it comes down to the core design philosophy. Apple designs their products for the happy path. Stray from that and you’re going to be fighting the OS for every inch. Linux is designed for hackers (as in the original term, not security). It not only allows you to do what you want, but encourages it.
As an example, consider the number of window managers available on Linux. There are the two big ones that are closer to the “happy path” (Gnome & KDE), but there are also dozens of other mature options. i3. bspwm. sway. Xmonad. Awesome. There are so many options, and for the most part you really can stitch your OS together from the parts you like. Except for systemd… but that is a whole different conversation.
There are plenty of other reasons I use Linux for everything I can, but that’s the selfish one. And it’s why I feel downright uncomfortable using anything else at this point.
„It is difficult to free fools from the chains they revere.“ — Voltaire
I would use the word people instead of fools, because even the smartest people can be misled.
Also, for some people freedom is very important even if it cost them dearly. Other people just want convenience and luxury, and don’t mind living in a golden cage.
You really have to make your own decisions in life. What makes you tick?