I bought an ASUS Zenbook UX501VW, which it hands down the best decision I’ve made in my short freelance programming career. I removed Windows 10 and installed Linux Mint, which I’m very comfortable with and which runs 90% of the applications I would need as a developer (the rest can be handled with Wine or, at worst, I have a Windows machine at home). An Intel Core i7 may be overkill in some people’s opinions, but I like the flexibility and future-proofing it offers. The 512GB SSD is lightning-quick and there is plenty of RAM (16GB) to run several applications at once for switching back and forth. The 15" screen size was a concern initially, but I appreciate the amount of real estate I can get. The monitor will support 4K, but I find myself squinting quite often at that resolution, so I leave it at 1920x1080 and it’s plenty of space for my needs, especially with Mint’s desktop spaces (similar feature to Mac OS X). The battery life is solid and is generally sufficient for my needs unless I’m on a long-haul flight with no power outlets.
While a touchscreen may not be necessary, the UX501VW’s can come in handy when you want to simulate mobile behavior without having to switch between devices (helps as a web developer at least). I wouldn’t love this laptop any less if the touchscreen didn’t exist, though.
As with most things Linux, there were a few problems initially. The biggest hassle was getting the Nvidia drivers to work correctly. I had a few instances of X Server failing to start on reboot due to configuration issues, but that doesn’t happen anymore since upgrading the Linux kernel. I also had an issue where the touchpad initially became disabled because Mint picked up the touchscreen as the primary “input device”. I was able to temporarily get around that by using an external mouse or the touchscreen, then I did a bit of research and fixed the issue so both the touchpad and touchscreen now work perfectly.
The only ongoing issue I have is that there is constant buzzing feedback noise from the headphone jack on the UX501VW, which I have yet to find a solution for. Others reporting the same issue on forums have suggested it’s a hardware grounding issue, meaning there is no easy answer. This may be troublesome for people who like to code with music or other background noise, but I’ve found that listening to music through my phone works just as well.
Edit: I forgot to mention one other factor — price. Given the specs of this machine, and the fact that I was able to find it for under $1000 at Fry’s, I would give this the edge over any Macbook Pro (which will be $1200+ I believe), unless you are determined to program on a Mac (and that’s OK!)