I've always bought laptops but they spend 90% of the time on the desk. With Intel/AMD it may have been better to get a desktop for better TDP.
With ARM/Apple Silicon does that hold true?
I use a 14" M1 Max as my daily driver with an external monitor. I absolutely love the versatility. I run small video transcode jobs in Premiere/AME or render out things in After Effects daily and I never hear the fan or have any performance/heat issues of any kind. I am comparing this to my Win10 5950x/RTX 3080 desktop also at my desk and while that is definitely faster, I do not feel like my MBP is too far behind.
If cost is a factor I think the Mac Mini is the best bang for your buck. Especially if you still have access to a .edu (or just say you are in college) and knock an additional $100 off.
But TBH the M1 and M2 family seem like a waste for programming workloads since they are so GPU heavy. Their niche is power efficient media manipulation.
But of course you pay a premium for that, so it depends on how much you want to spend
There are times when I want to work from a different room or location. Unless budget is concern, I would get a laptop.
The profiling indicated those quite were close in performance so I went with the laptop. My main compromise was to choose 14in as it’s plugged into a monitor most of time so I could optimize for travel more than a big screen when the monitor isn’t there.
In the end I’m super happy with it. The M2 Max is a monster for compiling and is probably 5x faster for builds than my previous Intel-based MacBook Pro
1. Multi monitor support is way better on Desktop with discrete graphic card(s) . You can have high resolution + high refresh rate on all monitors. With Macs, only the M2Max chip has decent support, and limited to >100hz only on one monitor. I have 2 ultrawide 34 inch monitors on top of one another, and its fantastic having all the windows you need to be open shown. Im so used to this that I actively notice all the time I waste tabbing windows on the laptop.
2. Way easier to expand/modify/repair desktop.
3. You can get a small cheap laptop running linux for work/dev away from your desk, and then SSH into the desktop if you need processing power. With VSCode Remote SSH extension this works very well. The advantage to doing this is that a) if your laptop gets stolen on travel, you aren't losing work or much hardware and b) it gives you more options in terms of laptop choice (for example, I have one with a numpad because of scientific computing). For security, I use a t2.micro EC2 instance with SSH tunnels that I spin up when I im on travel.
If that 10% of the time you travel you must have a laptop with you and there’s only room in the budget for one or the other, then it seems like laptop is the logical choice.
This was a very successful method for me, since the MacBook Air was introduced. I am absolutely much more likely to earn more money because it’s easy to carry around my main computer.
just for example ... during one of my last years project i got a newish macbook - m1 max 32 gb ram:
* really annoying to setup - aarch64 / apple stupidities & for a linux-guy the "uncanny valley" which is the darwin cli + homebrew ... using some bash 3.x, from 2007 or 08 (!)
* my age-old amd 2400g apu / quad-core with 32 gb ram from 2018 was twice (!) as fast in compiling a decent-sized java-application on command-line with maven ... (in the ballpark of 2 to 3 minutes (amd64) vs 5 to 6 and up to nearly 7 minutes (m1))
(apples supplied ssd vs a samsung 970 evo 1 tb nvme ssd in a cheaper asrock b450 mainboard / pcie 3.0 ... current os X vs. current debian/bullseye :)
price comparison: what the overpriced apple macbook costs vs. a few 100 euros from your next pc-component dealer down the street ...
But it's not always the same "desk"
Desktop computers make sense for a bunch of use cases
Laptops make sense more many others