Well, I’ve worked for the government (as contractor), corporations, and small businesses, I could count a few times I’ve seen people using Apple Mac Pro devices on one hand (more often seeing Macbook Pro rather, but very rarely for development) and more time than I can count on either Linux or Windows workstation computers.
We use Linux desktop often, because most of our servers are running on Linux so it helps to have version conformity when matching up with server’s versioning and we occasionally use Windows for Visual Studio, proprietary software and so forth. But there are a few times where we get discounts for buying software for Linux rather than Windows.
Employees in my office switched from Apple Macbook Pro to Windows/Linux based laptops like Framework Laptop, because Macbook Pro often time lacked GPU that you would find on Linux and Windows workstation. Apple is going off on it’s own little world with their own Metal API/GPU and it doesn’t reflect the reality in real world emerging technologies. For instance, there are some computational challenges that in my office, we make use of Vulkan Compute so that we can purchase both Nvidia GPU and AMD GPU to generate real-time data, had we used Metal API and Apple’s products, it would’ve been cheaper to purchase cloud compute servers. (We wanted to ensure each developer can test the given Vulkan code on their own desktop/workstation.)
My experience has been all GPU-intensive workflows have been pushed to the cloud. It works a lot better for CI/CD purposes as well, and most of the larger datasets are too practically large for your laptop, it ends up being prohibitively slow to download datasets from databases to your own laptop and then train on your local machine.
I could be biased since most of my network is in the startup scene in SV, where hardware cost is generally the LAST thing most companies worry about. I haven’t seen a non-mac software company that’s not a 5000+ dinosaur person company.
I guess it depends on circumstances, for an example, I would develop GUI Toolkit that utilizes Vulkan Compute for computing various indicators and trading analysis on the front-end that takes in billions of candlesticks for second by second tradings. Having a real-time feedback by adjusting the indicator algorithm is very handy to have in a trading software.
MacBooks are super popular in a variety of professional fields. They are still the go-to machines for photography and video editing. They are popular in software development for providing a good UNIX environment out of the box while also being very solidly built machines.
The more my software engineering career matures, the more I see my peers using MacBooks.
Windows still absolutely dominates government and enterprise, but the idea that professionals don’t use Macs is pretty nonsensical. It’s the kind of thing I believed when I was 20 and working in tech support, back when I still thought it was cool to call Apple users “sheep”.
This. Good enterprises offer both options. I think people are starting to realize that its best to let people pick the tool that works best for them in this circumstance. Also, equivalent Dells (I have mainly worked at Dell shops lately) are actually more expensive than a MacBook Pro.
Another thing is that enterprise tools lock down Macs a lot less in my experience. This usually pushes people in the direction of Mac when you don’t have to go through an approval process to install an app or package you want to test.
I think Apple is going to lose that edge with developers as WSL and its ecosystem keep improving. There’s no Apple servers, so a lot of that code they’re writing runs on Linux, but Macs only look like Linux. They actually work differently, and you have to use homebrew and a lot of tools are different. But I can load up just about any distro with WSL, so all the packages install the same. Add on top of that the difficulty of making Mac work with AD and having a different version of Microsoft Office. Plus their licensing terms for virtualization are terrible, and they don’t make multi-session servers anymore, so developing IOS apps usually means you have a small fleet of Mac Minis instead of some nice enterprise hardware.
I think Apple is going to lose that edge with developers as WSL and its ecosystem keep improving. There’s no Apple servers, so a lot of that code they’re writing runs on Linux, but Macs only look like Linux. They actually work differently, and you have to use homebrew and a lot of tools are different. But I can load up just about any distro with WSL, so all the packages install the same. Add on top of that the difficulty of making Mac work with AD and having a different version of Microsoft Office. Plus their licensing terms for virtualization are terrible, and they don’t make multi-session servers anymore, so developing IOS apps usually means you have a small fleet of Mac Minis instead of some nice enterprise hardware.
What? I’m a software engineer (a so-called “professional”) at a major corporation and we get the choice between Windows and Mac. Every single person I know in the company has chosen Mac.
This is always weird to me. Running containers on my Linux machine is way faster than all of my coworkers on Windows. But they still are able to run containers way faster than our coworkers on Apple.
I don’t see the appeal of an apple machine for coding unless you’re making Apple specific software. To each their own though.
I’m a heavy containers user. All the code I write is deployed on Linux. Regularly have a dozen or more running.
Performance is a mixed bag in my expereince. Some software is slower, but other software is faster on my Mac. The RAM on a good modern Mac (even laptops) runs at almost a terabyte per second, and the SSD runs at several gigabytes per second. That’s a lot faster than most Linux boxes and it’s often more than enough to overcome inefficencies like converting from one filesystem to another.
I’ve tried using a headless Linux server for my containers, and cloud Linux servers… but it generally hasn’t made a much of a difference and just adds unnecessary complexity.
As for why I like a Mac… the window manager is just so much better especially when you customise it with third party utilities. Also, I like how tightly integrated all my Apple devices are. My desktop Mac, my laptop, my iPad, my iPhone… they all work togerther seamlessly with a single keyboard/mouse, a single pair of wireless headphones, a single copy/paste clipboard, all the same files on my desktop/documents/etc.
They even integrate with my watch - when I SSH into a server on my Mac, it checks if my watch is nearby, checks if I’m wearing it (if you steal my watch, it auto locks), then offers for me to tap a button on the watch to unlock my SSH private key. When I’m wearing my motorbike helmet and try to use my phone… it can’t scan my face and instead falls back to useing my watch to unlock the phone.
The performance and battery life of my ultraportable laptop is also pretty awesome. I keep it plugged in (to a monitor) on my desk most of the time, but on the weekend I can use it all weekend without charging the battery and it’s actually got exactly the same CPU/RAM/performance/etc as my desktop workstation (which is not slow).
To get that level of performance, from a battery that is half the size (and therefore half the weight) of most PC laptops, is pretty amazing. Combine the performance and light weight and integration with my desktop workstation all together… and I can be productive wherever I want. I don’t need to be at my desk all the time.
Finally there’s a lot of really nice software which is exclusive to the Mac. Raycast, for example.
And then there’s all the really nice little things - for example Macs do OCR on images. You can select text in a screenshot or company log and copy/paste it. Macs have a thousand nice small features like that.
I’m willing to pay a slight Docker performance penalty to enjoy all of these things and more. And if I wasn’t it’d be easy enough to run the docker containers on a Linux server in the small data center we have a few steps down the hall.
Not everybody is running containers, or is constrained by the performance of those containers, I guess?
I think the primary aspect where Macs are more appealing than Windows machines for many programmers is just that it’s a unixy machine and many of the tools that you’d care about from Linux / *BSDs / whatever are easily available. I guess this is maybe different in an era with WSL, but that’s a relatively new development, and since I’ve only used Macs and other unixy machines before I have no idea if that’s a viable option personally and I’d be skeptical…
In terms of “why a Mac over Linux?” I think it’s partially a matter of Macs being well supported and that most people don’t seem inclined to fiddle with Linux on their primary work computer.
Beyond that, though, I think MacBooks are just nice laptops with fewer compromises than most other laptops in my experience. They have good build quality and pretty much every aspect of them is pretty solid… Good keyboards, good chassis, good battery life, good screens, good trackpads, good speakers, good performance. I think it’s actually pretty hard to get something that’s as solid all around, I feel like with pretty much everything else there’s something that stands out to complain about. Like I love my Thinkpad, but god I wish I had an Apple trackpad, or an Apple silicon chip and the performance / watt that comes with it.
Apple hasn’t been for professionals, for like a decade now.
Disagree.
All the software companies i work with has switched to MacBook Pros as their mainline professional laptop of choice in the past decade.
It’s literally a better product for most of developer work and much easier to support.
In fact, I’m confident that MX MacBook Pros have cannibalized a good chunk of Mac Pro sales because they are just that good.
Well, I’ve worked for the government (as contractor), corporations, and small businesses, I could count a few times I’ve seen people using Apple Mac Pro devices on one hand (more often seeing Macbook Pro rather, but very rarely for development) and more time than I can count on either Linux or Windows workstation computers.
We use Linux desktop often, because most of our servers are running on Linux so it helps to have version conformity when matching up with server’s versioning and we occasionally use Windows for Visual Studio, proprietary software and so forth. But there are a few times where we get discounts for buying software for Linux rather than Windows.
Employees in my office switched from Apple Macbook Pro to Windows/Linux based laptops like Framework Laptop, because Macbook Pro often time lacked GPU that you would find on Linux and Windows workstation. Apple is going off on it’s own little world with their own Metal API/GPU and it doesn’t reflect the reality in real world emerging technologies. For instance, there are some computational challenges that in my office, we make use of Vulkan Compute so that we can purchase both Nvidia GPU and AMD GPU to generate real-time data, had we used Metal API and Apple’s products, it would’ve been cheaper to purchase cloud compute servers. (We wanted to ensure each developer can test the given Vulkan code on their own desktop/workstation.)
My experience has been all GPU-intensive workflows have been pushed to the cloud. It works a lot better for CI/CD purposes as well, and most of the larger datasets are too practically large for your laptop, it ends up being prohibitively slow to download datasets from databases to your own laptop and then train on your local machine.
I could be biased since most of my network is in the startup scene in SV, where hardware cost is generally the LAST thing most companies worry about. I haven’t seen a non-mac software company that’s not a 5000+ dinosaur person company.
I guess it depends on circumstances, for an example, I would develop GUI Toolkit that utilizes Vulkan Compute for computing various indicators and trading analysis on the front-end that takes in billions of candlesticks for second by second tradings. Having a real-time feedback by adjusting the indicator algorithm is very handy to have in a trading software.
deleted by creator
MacBooks are super popular in a variety of professional fields. They are still the go-to machines for photography and video editing. They are popular in software development for providing a good UNIX environment out of the box while also being very solidly built machines.
The more my software engineering career matures, the more I see my peers using MacBooks.
Windows still absolutely dominates government and enterprise, but the idea that professionals don’t use Macs is pretty nonsensical. It’s the kind of thing I believed when I was 20 and working in tech support, back when I still thought it was cool to call Apple users “sheep”.
This. Good enterprises offer both options. I think people are starting to realize that its best to let people pick the tool that works best for them in this circumstance. Also, equivalent Dells (I have mainly worked at Dell shops lately) are actually more expensive than a MacBook Pro.
Another thing is that enterprise tools lock down Macs a lot less in my experience. This usually pushes people in the direction of Mac when you don’t have to go through an approval process to install an app or package you want to test.
I think Apple is going to lose that edge with developers as WSL and its ecosystem keep improving. There’s no Apple servers, so a lot of that code they’re writing runs on Linux, but Macs only look like Linux. They actually work differently, and you have to use homebrew and a lot of tools are different. But I can load up just about any distro with WSL, so all the packages install the same. Add on top of that the difficulty of making Mac work with AD and having a different version of Microsoft Office. Plus their licensing terms for virtualization are terrible, and they don’t make multi-session servers anymore, so developing IOS apps usually means you have a small fleet of Mac Minis instead of some nice enterprise hardware.
I think Apple is going to lose that edge with developers as WSL and its ecosystem keep improving. There’s no Apple servers, so a lot of that code they’re writing runs on Linux, but Macs only look like Linux. They actually work differently, and you have to use homebrew and a lot of tools are different. But I can load up just about any distro with WSL, so all the packages install the same. Add on top of that the difficulty of making Mac work with AD and having a different version of Microsoft Office. Plus their licensing terms for virtualization are terrible, and they don’t make multi-session servers anymore, so developing IOS apps usually means you have a small fleet of Mac Minis instead of some nice enterprise hardware.
I thought this too until every Windows patch started turning my computer into an ad machine.
WSLn is nice but using a Windows 11 machine is starting to suck big time.
What? I’m a software engineer (a so-called “professional”) at a major corporation and we get the choice between Windows and Mac. Every single person I know in the company has chosen Mac.
This is always weird to me. Running containers on my Linux machine is way faster than all of my coworkers on Windows. But they still are able to run containers way faster than our coworkers on Apple.
I don’t see the appeal of an apple machine for coding unless you’re making Apple specific software. To each their own though.
I’m a heavy containers user. All the code I write is deployed on Linux. Regularly have a dozen or more running.
Performance is a mixed bag in my expereince. Some software is slower, but other software is faster on my Mac. The RAM on a good modern Mac (even laptops) runs at almost a terabyte per second, and the SSD runs at several gigabytes per second. That’s a lot faster than most Linux boxes and it’s often more than enough to overcome inefficencies like converting from one filesystem to another.
I’ve tried using a headless Linux server for my containers, and cloud Linux servers… but it generally hasn’t made a much of a difference and just adds unnecessary complexity.
As for why I like a Mac… the window manager is just so much better especially when you customise it with third party utilities. Also, I like how tightly integrated all my Apple devices are. My desktop Mac, my laptop, my iPad, my iPhone… they all work togerther seamlessly with a single keyboard/mouse, a single pair of wireless headphones, a single copy/paste clipboard, all the same files on my desktop/documents/etc.
They even integrate with my watch - when I SSH into a server on my Mac, it checks if my watch is nearby, checks if I’m wearing it (if you steal my watch, it auto locks), then offers for me to tap a button on the watch to unlock my SSH private key. When I’m wearing my motorbike helmet and try to use my phone… it can’t scan my face and instead falls back to useing my watch to unlock the phone.
The performance and battery life of my ultraportable laptop is also pretty awesome. I keep it plugged in (to a monitor) on my desk most of the time, but on the weekend I can use it all weekend without charging the battery and it’s actually got exactly the same CPU/RAM/performance/etc as my desktop workstation (which is not slow).
To get that level of performance, from a battery that is half the size (and therefore half the weight) of most PC laptops, is pretty amazing. Combine the performance and light weight and integration with my desktop workstation all together… and I can be productive wherever I want. I don’t need to be at my desk all the time.
Finally there’s a lot of really nice software which is exclusive to the Mac. Raycast, for example.
And then there’s all the really nice little things - for example Macs do OCR on images. You can select text in a screenshot or company log and copy/paste it. Macs have a thousand nice small features like that.
I’m willing to pay a slight Docker performance penalty to enjoy all of these things and more. And if I wasn’t it’d be easy enough to run the docker containers on a Linux server in the small data center we have a few steps down the hall.
Not everybody is running containers, or is constrained by the performance of those containers, I guess?
I think the primary aspect where Macs are more appealing than Windows machines for many programmers is just that it’s a unixy machine and many of the tools that you’d care about from Linux / *BSDs / whatever are easily available. I guess this is maybe different in an era with WSL, but that’s a relatively new development, and since I’ve only used Macs and other unixy machines before I have no idea if that’s a viable option personally and I’d be skeptical…
In terms of “why a Mac over Linux?” I think it’s partially a matter of Macs being well supported and that most people don’t seem inclined to fiddle with Linux on their primary work computer.
Beyond that, though, I think MacBooks are just nice laptops with fewer compromises than most other laptops in my experience. They have good build quality and pretty much every aspect of them is pretty solid… Good keyboards, good chassis, good battery life, good screens, good trackpads, good speakers, good performance. I think it’s actually pretty hard to get something that’s as solid all around, I feel like with pretty much everything else there’s something that stands out to complain about. Like I love my Thinkpad, but god I wish I had an Apple trackpad, or an Apple silicon chip and the performance / watt that comes with it.
Too bad the Reddit migration attracted trolls like this.