Yes but a decade+ ago, they weren't a replacement for a desktop, so you ended up having both. Now even mid end laptops (or "low end" Macs) are totally feasible as replacements.
I bought my last desktop in 2010 and I can't imagine buying another one.
Yes but a decade+ ago, they weren't a replacement for a desktop, so you ended up having both. Now even mid end laptops (or "low end" Macs) are totally feasible as replacements.
I bought my last desktop in 2010 and I can't imagine buying another one.
I still do 95% of my development on a desktop, I just can't see ever not doing that, I'm older now and a good desk, good chair, 3 big screens takes up enough space that a tower isn't taking up much more space.
That and I can put hardware into a PC for half the price of a Macbook Pro that will absolute annihilate the laptop on performance.
Portability and power efficiency does impose a constraint.
For me the trade off of having two machines is worth it rather than having one machine that is permanently hobbled by been designed for a use case I rarely use makes no sense.
So while most people are moving to laptop-only, even us hold-outs are seeing more energy efficiency in desktops.
I do the same, 95% of my development with a Macbook Pro with 2 big screens, keyboard and mouse attached. Don't even touch or move it on most days.
A desktop would be much cheaper - but I would still need a decent laptop for the 5% time when I'm not at my desk, so the savings aren't that much any more. And keeping development environments, VMs, config files, keyboard layouts, etc syncronized on two separate computers is too much extra work.
I disagree, I think how difficult it is to keep things synced varies significantly between users. Sure, its easy if your work is consistent and you're disciplined but if you find yourself switching between very different projects frequently the overhead of syncing machines and setting up software repeatedly can become significant.
It takes some discipline.
I run a small consultancy/agency, in any given week I'm switching between 3-5 projects (and odd bug fixes to others).
I've automated my entire workflow with vagrant and ansible.
I have
/projects/<client>/<codename>/site (pr /app)
/projects/<client>/<codename>/vagrant
/projects/<client>/<codename>/<others>
Each client gets a "team" in bitbucket and orchestration becomes no harder thangit pull && vagrant up.
It works great on projects that have a simple structure (webserver/db) and projects that have complex configurations with ES/Redis as well.
The trick is to always treat configuration as code and never make manual changes to a VM (or more correctly, always make a manual change then a change to configuration code).
As an entirely added side benefit I can pull a project from two years ago down and be up in a fraction of the time without polluting my host OS.
Even when that project is currently on 14.04 with particular weird dependencies (exactly this version of wkhtmltopdf etc).
Longer term I'll probably look at docker or something but vagrant/ansible has worked out great (some projects aren't even using ansible, just a bash script).
What vendors have done is provide computers with the same power envelope, but much more performance so they may do your calculations @ 35 watts, and then immediately cut all power to large swaths of the CPU so as to curtail power use by at least a few watts, if not 10 watts (depends on your CPU).
You obviously don't play video games, do CAD or video stuff or develop and compile large software. My desktop is never replaced by my laptop.