I bought my M1 MBP around a year ago. It's now 4:30pm, and I've been using it since 10am, sitting at 50% battery without plugging in at all. Everything just works. I even installed Steam and can play some games on it. I hated the idea of owning a Mac and have fought tooth and nail until I finally bit the bullet. It's literally the best laptop I've ever owned and I am never going back.
My gaming rig is a different story, but for productivity on-the-go, there's no comparison.
My M1 Pro (work computer) is such a leap from my old intel machine. It's wild to be running our services locally with Docker, install Xcode, and take a Zoom call without so much as hearing the fans. Battery lasts all day. Don't know if I'd fork over that much money myself, though.
Some background: I’m a professional ML dev.
I would buy an M1 if given the choice. But be aware that you’ll need to devote at least two weekends to compiling your own dependencies. Tensorflow “just works”, but the source code on M1 is closed source(!). Pytorch is relatively ok to compile, but you’ll have to figure out how to build it as CPU only. Jax was painful (sorry to say), but they seem to have recently sorted out their build issues.
Then we get into the hardware roulette. My M1 air has a “pink screen of death” issue (Google it and you’ll find dozens of stories, with no resolution). So get ready for a small chance of randomly rebooting when you’re in the middle of dev work, which is always so-much-fun.
Even with these flaws, I’d still take it. Even LuaJIT seems to work on M1 now. But it’s not all roses like the rest of the comments are saying.
Also fork over the extra $800 for the upgraded ram and disk space.
The laptop itself is absolutely amazing. The thousand paper cuts with things not properly supporting m1 was just too much to bear.
I think if the projects you're hoping to work on have first class support for Apple silicon you can't find a better machine for love or money. If they don't, then steer clear.
Docker is still not easy with the new architecture.
As a counterexample, I have a friend who wants to do embedded development and FPGA, for his use case a Mac is useless.
(Regular full stack software engineering, occasional graphics editing in Affinity Designer, audio work in Logic Pro, and video in Final Cut)
Overall 9/10. Everyone already agrees they’re fast af and very capable.
The MBP is fine. Before it I had a top-of-the-line Intel MBP which was a detestable piece of shit because of its shameful keyboard. And of course Apple compounded the offense of the "butterfly" keyboard by depriving "pro" customers of an entire row of keys and replacing them with the embarrassing emoji bar. I HATED that computer, almost entirely because of the keyboard.
The newer (old-style) keyboard is merely OK, but it hasn't caused me to pound the shit out of the computer to the point where internal components started to protrude through the back cover. It still lacks a real Delete key, but that's just Apple being petulant babies.
The physical design does repeat an absurd blunder, though: The USB ports are, AGAIN, so needlessly close together that you can't use two adapters next to each other. WTF, Apple. WTF.
Performance-wise, I haven't stressed it too much but Rosetta seems to work admirably. The biggest issue is the unfeasibility of running Windows in Fusion on it, but I guess I'll just get a Windows computer at some point.
It's much, much better than the 2017 MBP it replaced, which I quite frankly hated using. Build times are so much faster. The vast majority of stuff does just work, and most of the time I can forget I'm using an ARM device.
However, it is not all sunshine and rainbows. It stutters hard when you push it: If I build, say, a large iOS app, it might be 5 times faster than before, but I can't do much while it is building because everything else can almost freeze up.
Additionally, it's not a perfectly backwards compatible system. Just this afternoon I had to locally debug a rails app, and a few of the gems just wouldn't compile. I find myself frequently having problems where it turns out to be an M1 thing, and the workarounds obviously waste time.
Also, I didn't pay for the device and would never have spent what is twice as much for the same performance (not to mention poorly designed hardware, see my other rants), and had I not needed a mac for iOS development, I wouldn't have got one. I don't find the mac a better development environment these days with WSL.
My personal laptop is an M1 Pro MBP and it runs faster, quieter, cooler, and has over twice the battery life.
That said, for both machines I do a lot of c++ compiling and the difference would be far less noticeable if I wasn't regularly running the cpu at 100% for significant periods of time.
I can only imagine that the m2 air with 24gb will be even better. To me the extra weight of the 14 wasn’t worth the extra monitor hookup. The tiny power adapter and no fan airs are where it’s at.
Issues I've had, any node project that uses a native plugin has had issues. If you're lucky they've updated. If not, .... I haven't seen if there's a workaround that doesn't require the plugin to update. As an example, the canvas npm package uses a native plugin and tries to download from somedomain.org/foo/bar/ I assume most of it will be worked out soon.
I think of your domain is web dev, data wrangling, backend development (or obviously Mac/iOS development), M-series are the best machines currently in the market.
Main things: 1/4 the RAM so I just need to be mindful about what I keep open. That said, Apple’s memory management is amazing, so this isn’t as big a deal as I thought it would be. Use macports. Native binaries. I don’t use Chrome. I use Orion or Safari and those are great. For dev work, I do Bash, Ruby, and x86 ASM. I test the assembly stuff in UTM. Nothing I do is really heavy, except for compiling Linux for random hardware I have as a hobby pursuit.
The only thing I miss is prototyping setups of servers. I don’t have enough RAM or threads. This doesn’t bother me much tho, since cloud pricing has dropped since 2017.
But is the M2 v2 or is it another v1?
For example, I saw some mention of M2-specific thermal throttling: https://news.ycombinator.com/item?id=31941326 (also mention of slow 256gb SSD?)
> Although after all this I'm still not sure why the M2 MBP exists. By the time it's useful it costs nearly as much as the MBP 14" for the same spec which is far superior. And if you want to cheap it out, the M1 MBA is probably a better deal because it's far cheaper and perfectly adequate.
Bought my daugher M1 MacBook Air. She constantly uses it unplugged and sometimes it feels it never discharges. After getting MacBook Air, she completely stopped using her iPad. Every time I want to take it to upgrade to latest os -- it is discharged and she always says last time used a week ago.
So, we're happy with M1 Macs. Going to wait for M3 before upgrading any of the systems.
Back when I was backend, though, Docker and LEMP virtualization was nightmarish to use (late 2020). Maybe things have gotten better.
In general, if you need legacy support, I'd stay far away from the M1. Otherwise go for it, best laptop I've ever had by far! (the only machine that comes close is the ThinkPad x1 Carbon)
Assuming software comparability isn’t an issue, I don’t know how I could recommend any non-M1/M2 machines in earnest.
Nothing can beat the price/performance of the M chips. There are some drawbacks, but overall it’s the best computer I’ve owned.
100% uptime except for software update restarts. Literally my only issue so far is some obscure software from the Census Bureau doesn’t work on the ARM Windows VM
Besides that, I love the M1 laptops, the battery life and performance to cost ratio
I would say that the developer experience on MacOS (with or without Apple Silicon) is "sufficient" for the vast majority of use cases, but there have been some pain points that I describe below as emblematic issues.
If you're developing applications that are intended to run on Linux servers or with specific hardware (CUDA/ML), perhaps MacOS is not the best tool for the job. In that niche, you're likely to be running a different OS, on a different architecture, and perhaps even relying on binary translation (Rosetta 2) to run the same applications as in your target environment. For these sort of "close to the metal" development roles, I recommend aligning your developer stack with your target.
For the vast majority of other development roles, from data engineering to frontend web, I admit to being a little envious of what folks say about their Apple Silicon devices.
Examples of issues I've seen recently with development on MacOS (with or without Apple Silicon). Keep in mind, these are edge cases these days and only listed as examples:
* Major impediments to using the Python gRPC library on Apple Silicon until very recently (https://github.com/grpc/grpc/issues/25082)
* Docker performance was dramatically worse than Linux & Windows until recently, with a recent update improving things for all Mac users, not just Apple Silicon (https://www.docker.com/blog/speed-boost-achievement-unlocked...)
* Performance of virtualized x86-64 applications work against many of the performance benefits of the M1/M2, this is especially prevalent with Docker containers that are built only for x86-64.
* Homebrew is an absolute must, do install script maintainers and colleagues a favor by installing the latest GNU userland (coreutils), as your Mac will come with GNU utilities circa 2007 (the last GPLv2 releases of GNU utilities)
Some docker containers are still problematic, but most native software and dev tools work flawlessly.
The M1s are attractive, and can hopefully retire with proper Linux thanks to Asahi. But I'm worried that I'll come to hate it only past the return window.
I love it -- super fast and quiet and the keyboard and build quality are great.
Such a little thing makes a world of difference.