In my case, I consider the Mac one of the cons of working at my current place of work. My days are filled with minor hassles that I could really do without. Doing simple things takes longer, and I have to deal with random freezes, slowdowns and even crashes that I did not have to deal with when using my own laptop for similar needs over the past couple of years (mostly dev related with minor content editing).
So again, it is a tool, but it is not the best tool for the job for every person, especially developers.
Macs are extremely bad in terms of thermal management in the long run. Yes sure, they will work absolutely fine in the store but they will slow down with your dev environment installed.
1. The Apple store is cooler and has better airflow than your cubicle/desk/room.
2. The vanilla operating system runs fast on any computer and os
3. intel CPUs are getting extremely hot when doing everyday ops on the computer (too early to talk about M class CPUs) 4. Random freezes are a real thing and there isn't much you can do about it.
5. Logic board changes are also a thing, I've witnessed temperature sensors breaking because of the bad thermals.
6. fan noise is awful. yes it won't run in the store or when the computer is new, but you will definitely notice once the issues begin
7. macbooks are not made to work with monitors - they support them. the primary usecase for a apple laptop is to work without a monitor. so be surprised if your monitor is not supported.
8. on pre m1 cpus any external monitor was also triggering the radeon gpus to fire up, causing thermal throttling to become active very quickly. kernel_task anyone?
This is a long one. recommended workarounds are:
- disabling turbo boost (why buy a "pro" computer in first place?)
- buying an egpu (external gpu) with an average price of $700
- use custom fan programs that ignore the SMC reported temparatures and dictate their own fan speed (can cause further thermal damage)
- using a specific 4k monitor (does not work)
Here are some interesting videos:
https://www.youtube.com/watch?v=zX6kZ3-UBuE
https://www.youtube.com/results?search_query=macbook+pro+int...
Try taking your intel macbook to the apple store and ask about this problem. they will really tell you that they have never heard about it. now try searching google and you will see thousands of people with the very same issues. apple will absolutely stonewall the issue and claim that you are the only person in the world experiencing this problem.
the list could go on for much longer but I'm too tired for that.
Do yourself a favor, if you are not planning to travel with the device, buy yourself a decent desktop computer with sufficient cooling for half the price.
I have returned all my macs and I am a happy Windows 11 user now. No fan noise, no thermal problems.
Is it old enough to be a hybrid HDD?
Any of the M1 variants should have no performance issues even under pretty heavy load.
And if you're having random freezes or crashes then that is a symptom of a hardware fault.
I used to spend a lot of time to fiddle with Linux and my desktop in the past. You can do that if you want. But it's not necessary. Nowadays in 98% of the cases I say "good enough", in rare exceptions I might still use my freedom to fiddle and patch.
Most of the Development flow (and even most of the non-dev flow) happens in Open Source areas:
- Safari - Apps you download, like VSCode - Command line tools
The areas that aren't open source (The Calendar app, file browser) can be replaced as you choose.
I won't tell you to use a Mac, I just want to make it clear that the areas a developer works in are open. And, for anyone worried about things like SIP, that has a fully functional off switch
Oh, and you can run Linux (albeit with some work-in-progress features) - I've done it myself.
Most people who value freedom in software for practical reasons are motivated by having a way to fix or work around inconveniences, having a community and an active discussion on features, general composability and hackability of software, …
macOs (with all respect to their UI achievements) gives you none of that.
It’s a tool to get a job done - I don’t need to modify it.
> closed source, walled garden product from a company with business practices I don't like
Such a person probably won't be using Xcode, nor has any plans of publishing to the App Store, so Xcode being closed-source isn't a factor at all here.
The tool that defaults to a case insensitive but confusingly case preserving fs.
The tool that has been issued in variations that literally can't be used while closed, or if you plug the charging cable into the wrong "all the same" usb-c port.
The tool that licenses away virtualization, making development slower and harder, in an attempt to force companies to buy them.
The tool that used have a nice little $500 dollar surcharge if you want to put an extra 8gb of ram in it. (Don't worry - it's only $800 to go from 16gb to 32gb today - much better...)
That tool?
That's the best tool for your use-case?
Guess you must develop iOS apps, because otherwise... ooof.
This list is literally just the most obnoxious fraction of items that have impacted me over the last 5 years of use. I can absolutely keep going.
You want me to discuss the rapid phase out of kernel extensions that allowed VMs to operate well?
Or the minor annoyance that is allowing execution for every fucking brew installed tool, since macOS blocks it by default.
Or should I look at the random 2 hour update times, where the computer is completely unusable?
Or the utterly insane memory usage when running even a small scattering of containers? 4 fairly simple containers will eat 10gbs of ram running a mid sized RoR app, elastic, and a db.
Or how about the xcode install times required to use simple tooling, like git, because "muh system integrity protection!!!" - but don't worry, at least you can get away with "just the command line" version of the tooling, which only eats a few gbs, instead of the fucking 40gb that xcode proper wants.
You mean the Mac needs an internet connection to "work" - there is no "airgapped Mac"?
And that they have an execution blocker you cannot disable? How could you code - make your software run on it?
There are work-arounds, and by default this check is disabled while the machine is offline, but it's not exactly confidence building.
My general take on Apple is that the hardware is decent, the software is absolute dog-shit, and the marketing is TOP NOTCH.
I'm just here disputing that a mac is "the best development tool".
My opinion is pretty simple - Apple makes decent hardware that they absolutely ruin with their software.
Honestly - the closer you can be to running the same platform/tooling that you're deploying to, the better off your life will be as a developer, and I bet you money you aren't deploying to a macOS box.
Linux and Windows are both entirely functional - frankly, windows 10 with WSL is a better experience than macOS, in my opinion - and they cost a lot less.
I have used quite a few languages professionally - Java, Golang, C++, C#, Ruby, Js (from the bad days predating jquery to the decent days of not needing jquery any more), Rust, Python, fuck - I've even professionally used Netlogo, which is not something I will ever recommend, and it still boggles my mind occasionally.
Apple makes decent laptops, and the new m1 machines are not a bad pick. They are absolutely not the best tool for the job unless that job is developing iOS apps.
And windows computers will have 5nm processors soon enough with comparable performance to m1. Yes, the process/fab matters in perf, not just the design
VS Code Remote makes working inside WSL basically native (I use Emacs on my Linux machine).
FancyZones courtesy of PowerToys makes for an acceptable tiling experience. I tried to use Komorebi but at least 0.1.8 has too many issues to recommend at this point.
Kind of excited to dive into PowerShell in a Month of Lunches next.
Two big issues I encountered today running 0.1.8 installed with Scoop on Windows 11 Education N:
1. The empty space around apps gets bigger as you move them to new workspaces not primary (this is with Komorebi's workspaces, not Windows' Virtual Desktops which you have indicated have poorly documented APIs). It seems to be this issue [1] but that issue was closed as fixed
2. Sometimes apps left empty spaces when they were minimized. That might have been VS Code or Spotify (or Slack?). Spotify when visible didn't resize appropriately.
All my user-installed apps if that is helpful:
- KeyPirinha
- Mochi
- PowerToys
- Slack
- Telegram Desktop
- TickTick
- Ubuntu on Windows
- VS Code
- Thunderbird
- Ditto
- Everything
- 1Password
linux -> windows -> mac.
Mac is by far the least pleasant OS to use. Some of the hardware is ok (although avoid the 16inch intel line like your life depends on it) but overall I don't want a walled garden with happy paths.
I want a general purpose computer, and mac ain't that.
hint - it's the one that spends an outrageous amount on marketing, SO MUCH SPEND that they stopped revealing how much they were spending in 2015, after the marketing budget grew above 1.8 billion USD.
That one - I can absolutely promise you that that one is the "statement" computer.
There is progress - but I would not assume support for at least another generation or two of machines, and you will be fighting uphill, or running the old hardware to get it.