For me personally, 99.9% of my work is done at my desk (1), so why not have a more powerful, upgradeable, repairable computer to work with?
(1) I'm not hip enough to work from coffee shops
For me personally, 99.9% of my work is done at my desk (1), so why not have a more powerful, upgradeable, repairable computer to work with?
(1) I'm not hip enough to work from coffee shops
It's amazing how much shit you get on HN of all places for sitting at your desk programming.
Contrary to popular myth, not all of us live and work in a basement. Myself and many people I know, my non-technical girlfriend included, use our laptops all around the country and in multiple other countries.
I do agree about upgradeable and repairable, which is why the Framework laptop is getting pretty attractive. But there's still nothing that compares in performance and portability to my M1 Air.
Like you, I am also an outlier, using my MacbBok all over Hades.
Heck, even before COVID, my previous company only gave out laptops. Those things would get moved all around the office - from desk to desk, to multiple conference and meeting rooms, home, etc. This has been the norm for at least 5 years in my experience.
Basically all developers I know have "hybrid work arrangement", working some days from home/travels and some from office. They all remotely connect to their workstation at work either from their home computer of from laptop when traveling.
Maybe it depends on type of development or age of developers, but I'm not 20 anymore and laptop is an ergonomic nightmare. If you want to use it for a longer period of time and avoid health issues you should get an external keyboard/mouse/screens anyway. Which means you just recreated workstation, but it costs more money, has worse performance and all kinds of issues while connecting so much stuff to it.
Now what I really would like is a high quality, low latency complete remote system. I got pretty close to this with a recent experiment, but it took a good bit of effort (and I still had some weird issues). It was great in that I could go to any computer with enough power to drive a browser, remote into my server "desktop", and continue right where I left off.
If that could get perfected, I would probably switch to an iPad Pro with optional keyboard.
a) You don't know what most people do.
b) I would add that those of us that are in a hybrid mode e.g. working equally from home and work are given laptops specifically because we are expected to use the same computer in both environments.
b. Sure, but again, that's a minority of even the professional demographic. Now, if you're thinking the developer demographic, sure I might agree with you, but that's not what OP said.
Because in Australia at least that is not what is happening at all.
Occupancy levels in the CBDs of our major cities are still well below pre-COVID averages.
I have two data points for you:
The company I work for does little dev work. 99% of the people have laptops. They don't travel cross-country, mostly work in the office. But they also need to move to conference rooms, work from home, etc. We only have to handle one PC per person this way, instead of figuring how to handle their own personal PC when at home, etc. These are mostly "non IT people". Sure, you can argue they don't need the power of a desktop anyway. Which is absolutely correct.
I have a friend who does "actual dev work" working for an "actual software company". Java and C++, so they actually require powerful machines to compile (at least more than my company), etc. They used to have big-ass Xeon workstations. Those were replaced with some kind of Dell laptop [*] with a bunch of cores and RAM. He also basically never travels for work, but can now easily work from home without installing the company crap on his own PC. My friend is much happier with this arrangement.
Both companies provide multi-monitor setups with external keyboards and mice, so the comfort part of a desktop is still present when they're sitting at their desks.
---
[0] They look like the XPS line, but seem somewhat thicker and don't have the XPS logo.
After working with large monitors, I don't know how anyone gets serious work done on a laptop screen.
I do have a laptop, but it is relatively inexpensive and used mostly as a thin client to my desktop (as others have mentioned).
Edit: I will also add, I like having a dedicated space for work. This prevents work from creeping into my life everywhere in my house. I can't be on the couch, watching a movie, and have the urge to work - I'm not in my work space!
But it depends on the task I do. For example, I quite enjoy working from my parents' garden when it's nice outside and if I do some focused work. Like reading some "long-form documentation" (where I don't need to follow it along as I apply it) or when I do some routine sysadmin work.
I have a big monitor (don't like having multiple monitors) at my parents' house, with a dedicated desk in a "work area". I also have this at home. And I also have this at the office. It's much more comfortable to move around these locations with a laptop than it would be to haul around a desktop, or have multiple desktops and having to keep them in sync. When I need actual horsepower, I have a Xeon workstation at my house, and my work allows me to leverage it remotely if needed. Guess what? I basically only turn it on for games.
I don't have a Mac though... Dell XPS 13 running Ubuntu works great for me. Never had an issue with the three I've had over the years.
And for many of us their computer is not used exclusively at a desk.
It's also used at work, on a couch, on a plane, in bed etc.
And at that point I'd imagine it's way easier to optimize for mobility, for a vast majority of people - unless they're working entirely in virtual workspaces/the cloud - in which case a laptop is perfectly fine anyway.
But I really don't get your point about form factor. Using, external monitors and adding a keyboard and mouse to a laptop is a non-issue.
I have a desktop, and a laptop used as a thin client. The laptop can be inexpensive or have nice features (like a touchscreen), while the real power, storage, etc, is on the desktop.
This isn't even an argument, the decades of the laptops continued popularity say enough.
My desktop is just a host for several VMs. If I actually need to travel with one of those "computers", I just shut down the VM and copy it's image from my NAS to my laptop.
If you are still buying a laptop for your stated reason, then you haven't embraced virtualization as a developer.
Making a VM copy from a NAS every time I decided to step outside and work say on the back deck in a different environment with trees and some sun is anything but convenient.
There seems to be a perpetuation falsehood in these discussions that the only time you would need to use a laptop is when travelling a substantial distance from home, which can not be anymore further from the truth than is possible.
Lastly, laptops are not the sole domain of developers and you don’t need to ‘embrace virtualization’ simply because it exists.
I'm not arguing against desktops for people who like them but this "I don't understand laptops" stuff (several posts, not just this one) is bizarre.
Would it also surprise you that people would prefer a device that they can be used anywhere, rather than a fixed location.
The only way you could not get this transition is if you've never had to go anywhere outside your home.