Ask HN: What laptop should I get for development?
Hi HN.
I haven't shopped for laptops in a decade and I need some guidance.
TLDR:
* Daily use: VSCode, Figma, Photoshop, Firefox, Slack
* Currently use Pop!_OS and I really like it; would be nice to keep it
* I love the look of Macbooks, but I don't know if I will like macOS
* I don't really want to buy into the Apple ecosystem; will I struggle if I don't have an iPhone?
* Light gaming is a nice bonus (but I should say I don't like the look of most gaming laptops)
* I have a high budget
* Looking for something light, slick and portable as I will be travelling a lot
Any recommendations? So far I'm thinking a Dell XPS of some sort but not running Windows on it.
49 comments
[ 1.8 ms ] story [ 122 ms ] threadOne downside is the battery isn't amazing. I usually get ~3-4 hours when doing development work and ~6-7 with light use.
How's the trackpad and keyboard?
the trackpad feel will depend on how you or your distro configures it but for me it's been good enough I don't think about. i love the framework keyboard. by comparison I haven't tried whatever macs use after the butterfly keyboards which I really disliked.
agreed with previous poster that the battery doesn't last nearly as long. will pick up an extra one or two once they're available on the marketplace.
> I have a high budget
There is some company that makes somewhat pricey laptops and works on some Linux OS. Maybe try looking at those laptops, they might have some support for Pop!_OS.
Edit: The joke here is that the company that makes Pop!_OS also makes laptops that are decent, but pricey.
However.... don't expect to be able to use it very long on battery power. It's pretty much like a 'portable workstation' class machine.
Great keyboard (with full numeric keypad). I went into the keyboard settings and adjust some compatibility options so I could shift-arrow using the num pad to select text.
Wifi just worked. I bought a USB ethernet dongle that works fine also.
Mouse USB plug causes hang on hard boot -- just unplug it when booting. I mostly use sleep which works fine. Mouse movement wakes from sleep - but I was able to disable this:
I don't use an external monitor, but this has HDMI which I've used on occasion.Weight and size are not bad (for me), but you might prefer lighter laptops..
I love Linux and run it in everything that is not work related, but for work I need a machine that behaves exactly the same as it did yesterday and will keep doing so for the foreseeable future.
Also, tools used at work (Slack, Zoom, etc.) also just work. I used to use Linux for work but Slack was limited (I couldn’t use screen sharing, etc.), zoom was choppy and some Linux update would brake it.
With things like brew.sh it’s possible to run a lot on Unix tools and MacOS being Unix based (as opposed to the patch work that WLS is).
Also, the 20 hours battery, no fans going up (MacBook M1) and not heat are very nice and super useful when working away from the dock in my office.
I’ve owned Lenovo ThinkPads and Dell XPSs but nothing has beaten the reliability of a MacBook.
I still have my Linux machines and use them for everything else, but it’s been quite annoying to start a day only to find that the zoom/slack binaries are not compatible with some libXX.so that is now missing from my Linux system.
Good luck on your search!
All of your daily use items will work nicely on MacOS. In addition the look/feel + performance of the new M1 Macbooks is excellent. Keyboard is a vast improvement.
One point is that the 16 inch mac is quite heavy. I have a 14 inch Macbook Pro, its great and a bit lighter as long as you are happy with the smaller screen.
I would recommend MacOS. I think most people enjoy it once they get used to it.
To me the Mac + MacOS is the best developer experience - it has many of the developer Unix tools available that you would want from linux, plus it "just works" and devices (audio, keyboards, bluetooth etc) all work without me having to think about it. The display is beautiful and if it breaks, you can just take it to an Apple store (though I've never had an issue). More bespoke linux laptop setups can be nice but I think you're introducing some fragility into your life when you do that, compared with just using a Mac.
There's no window tiling, no true fullscreen for many apps, forced (and pretty slow) window animations, no drop-down terminal, changing windows and desktops is often slow (especially if there's multiple of the same app open), and the file manager lacks many QoL features. It definitely feels like it does not cater to power users at all.
The worst part is that nothing is customizable, and if it is it's often only through some third-party app that costs $20.
Cmd + ` (key under escape)
The window animations and changing desktops is buttery smooth for me.
Just the way Mac OS renders fonts is enough reason for me to use Mac over Windows.
My personal setup is using iTerm2 with ohmyzsh. It’s an amazing dev setup. Blazing fast and very easy to use.
I don’t really use Finder on Mac, although with iTerm2 you can command click on any directory and open it in Finder.
In the past couple years, I’ve been doing lots of C++, Java, Scala, and some Python. Builds are pretty dang fast. I restart once in a long while after Apple updates.
The only annoying thing was on my Intel Mac, it would get very hot when building C++ code. That’s been squared away on my M1 Mac. Also, battery life is incredible.
For me $10 for Moom which I use every single day is okay. I mean, if you're using a Mac you probably have to resign yourself to paying a slight premium for everything so if you're not willing to do that then I can see how it might be a frustrating operating system.
https://rectangleapp.com/
Although not as natively customizable as Linux. I've found everything I need that I miss from other OSes on mac. There are a lot of highly motivated developers that come up with some really nice apps/extenstions/etc.
FWIW I've been using macOS/Windows/Linux for over 12 years. Every OS has it's warts. I'm still kind of baffled that Windows doesn't have native Explorer tabs.
You certainly don't need to buy into the rest of the ecosystem. I use a Mac and an Android phone.
https://rog.asus.com/laptops/rog-strix/2021-rog-strix-g17-se...)
I use it for development, devops and gaming and can't be happier.
From my own experience, I can't recommend XPS. In my company developers were getting XPS'es (both 13 and 15 inch models) the last 3 years and now almost nobody wants them anymore. Our IT switched back to Latitude models. Different kind of issues...
I personally have been using XPS 13 9380 the last few years. Had lot of expectations when I got the laptop, but it was disappointment after all. I mainly run Windows on it, but also have OpenSuse dual boot setup. Issues I experienced with my model:
- Crappy trackpad. Most annoying of all issues. Mouse pointer may sporadically jump an generate clicks when using trackpad. Same happens on Windows and Linux, must be HW related. I changed HW one time, it helped a bit but trackpad still sucks on my model! Worst of all laptops I ever had.
- Windows and Hybrid-sleep is terrible experience. Laptop may overheat in the bag (known issue, recognized by dell, see https://news.ycombinator.com/item?id=28639952) and battery last barely 1 day in such sleep. Under Linux this is not an issue as OS still uses the old fashioned sleep strategy.
- WiFi stability issues under Windows. Also the Killer WiFi HW on this laptop is not impressive... cheap solution.
- CPU cooling under Windows kicks quite often, even when laptop is not loaded too much.
After all, it works. But at the same time it could be much better. As of now I feel very ready for the MacBook...
- WiFi stability issues with the Killer WiFi NIC were so severe at some point that I bought an Intel WiFi NIC only to learn that it's not replaceable in 9370 (but it is in 9360). A bit later I bought an external USB WiFi dongle which brought some connection stability while trading off connection speed. I sank some time into understanding and debugging firmware, without good results. A script that pings the router in a loop and reloads the connection when needed makes YouTube usable, but downloading any large files without retries was a major headache for a long time. Now it's less of a headache: maybe the firmware has finally caught up.
- Sleep on Linux can be indeed unstable; sometime I find my laptop out of battery after sleep, apparently because it wakes up on its own from time to time.
- Camera position below the display makes it very awkward for video calls. If I'm not mistaken, this was solved in newer models.
- Keyboard is quite pleasant to use, but its build quality could be better: plastic keys started to peel off after four years. In comparison, a twice as old MacBook Air keyboard still holds together very well despite heavy usage.
- Trackpad has been working well for me on Linux, I'm satisfied and don't have any complaints (I might be a very undemanding keyboard-oriented user though).
- The laptop screen is high quality, but its narrow aspect ratio feels a bit off, I'd appreciate more vertical space.
- My main motivation for Dell XPS was portability. My experience is mixed: it's possible to make Linux power saving work pretty well, but it requires work and can be flaky. Build quality also feels more fragile than MacBook Air. I still feel safer with my old MacBook Air while traveling.
- Absence of USB-A ports is not critical, but is another point of friction.
All in all, it's a solid machine with quality parts that I use daily, but it definitely has its share of hindrances.
Also, getting service was nowhere near as nice as being able to go to a Mac store. Luckily, I could still return it so I did and just moved on.
10 inch screen, very light and portable
In the office you can use any USB-C dock with a external monitor
16gb RAM, 1tb nvme drive, 1K price
First had fan failure in the first year. The second had a trackpad failure OUT of the box.
Have a friend whose a graphic designer and she's had the same XPS for almost a decade.
Makes me wonder if the build quality has gone down.
If your workplace makes it easy to run Linux (not ChromeOS) on a laptop and it integrates well with everything, I’d go with that. If you can buy Linux pre-installed on something from a reputable vendor (and thus it’s safe to say it should work entirely out of the box) that could be a good option too. Otherwise, assuming your time is valuable and you don’t find this fun, you’ll likely deal with too much random stuff coming up regarding drivers or things not working right. Even spending more than one hour when I should be working, for me, is too much.
Otherwise I’d use a MacBook. MacBooks have better build quality than the average laptop, no Windows bullshit (Apple bullshit is more like bee shit in terms of size), and no OEM bloat. You don’t need an iPhone at all. I have a bunch of Apple gear I’ve never paired with my work-MBP. It works perfectly out of the box, it’s fine to develop for frontend, works targeting any mobile OS, and will work just fine 90% of the time targeting linux. The base models usually have very competitive price:performance. If your time is valuable a few hundred dollars is easily worth avoiding tech support and Windows bullshit.
If you can afford it, just get a Mac and stop thinking about it. It's the Lexus/BMW of computers. You won't regret it and plenty of developers use Macs so there is plenty of support.
The main reason isn't build quality or anything like that, although IME it's good on the Apple side. It's because mac is the shim between enterprise OS and open source OS. Things like MS Office, MS Outlook might not seem like much until you have to have them. Granted O365 has made some nice strides in making them moot but the web versions can still be limiting. Also if you go into development for anything mac or iOS you'll need to be on macOS for XCode, and you still have the option of installing the Adobe suite of products, as much as I hate using them.