As a programmer I can tell you that looking for advice on how to buy the best laptop for programming around the web it’s like asking a dog to start meowing, you’re just not gonna get answer you want unless they do a fair bit of programming themselves. I don’t mean a single sheet of code to optimize a few web pages, I mean long week sessions of debugging around 5000 lines of code to the point of dreaming of a few workarounds and waking up right in the middle of the night to implement them.
I’m not the best programmer in the world nor I tend to be it but I did do a lot of programming during my school years especially in my projects as an engineer and a few mobile applications as a freelancer. As of today, as a graduate student, I have to deal with programming software again.
For me having a laptop especially designed and build for coding it’s crucial to make those long overnight sessions of coding less painful, more productive and actually enjoyable (at least sometimes).
What will you find from this article?
I’m here to tell you everything you need to know to choose the best laptop for programming. As you’ll see in this article, you don’t necessarily need the best top notch laptop (as a matter fact even a potato will do for basic programming ) but you still need to be careful when picking the right laptop based on what kind of programming you are dealing with and to make your work space area comfortable.
This article is divided into two parts:
A review of the 5 best laptops for programming I’ve found as of 2017 and a how to find or buy the best laptop for programming yourself.
- Top 5 Best Laptops for Programming
- How to Buy a The Best Laptop For Programming
Top 5 Best Laptops for Programming
This is a shortlist but you should find a suitable laptop for your budget and the type of programming you are involved with. If you are just a beginner and do not know exactly what features to look out for the type of programming you are involved with, you should jump to the guide I have written below.
Best Lightweight Laptop For Programming
Apple MacBook Air 2015
CPU: Intel Dual Core Core i5 1.6-2.7 GHz | RAM: 8GB 2133MHz DDR4 | Storage: 256 PCIe SSD | GPU: Intel Iris Graphics 6000 | Display: 13.3-Inch (diagonal) LED-backlit Glossy Widescreen Display, 1440 x 900 resolution
When it comes to programming and portability as well as build quality, you can’t really get better than the MacBook Air. You get pretty much anything someone starting with programming or even what advanced programmers look for in a laptop.
Despite being small, ultra thin and ultra lightweight it has plenty of performance for just about any type of programming that doesn’t require a graphics card. It can be configured all the way up to an i7 processor and even 512GB for storage but as a programmer those are probably not good investments since the i7 processor is still dual core and 256GB is far too much for programming in general.
I recommend this configuration: i5 dual core 8GB and 256GB which includes the fastest SSD technology as of today. You can pretty much blaze through IDEs, VMs, run your own Apache Svr (I did) and anything related to programming.
Many laptops offer better or the same configuration, so what really makes it the top (in my opinion) is the extreme battery life and portability.
It’s only 3lb and thin enough to fit in your backpack like a piece of paper with the longest battery life (I’ve heard of) as of today (+13 hours). The ultra crazy battery lifetime is not just because it’s an Apple Machine but the display as well which doesn’t have too many bells and whistles. It’s just 13” and 1440×900 for resolution which isn’t bad at all for programming (just don’t go lower than that).
On top of all that you get one of the best quality keyboards on the market which is one of the reasons why the Air has been so popular among programmers. You can’t really go wrong with the Air.
As a programmer myself, I can vouch this is one of the best laptops for programming as of 2017 even if the model goes back a few years.Don’t forget the fact that with a Mac machine you can run pretty run any open source software or code out there regardless of the Operating System.
The Best Laptop for Programming
CPU: Intel Dual Core Core i5 2.9-3.3 GHz | RAM: 8GB 2133MHz DDR4 | Storage: 512 PCIe SSD | GPU:Intel Iris Graphics 6100 | Display: 13.3-inch IPS Retina Display, 2560-by-1600 resolution
Just like the Air, The Pro has everything the Air has: portability, performance, battery life and build quality.
Performance wise the Pro always has an edge over the Air, despite having the same core technology: i5 or i7, the Pro here offers you with more clock speed than the air. The RAM can be upgraded to 16GB, but 8GB is really plenty unless you are running several VMs.
You get far more storage with the Pro for other non programming files videos, images and any editing you may come across. This is useful for programmers who need to run editing software as well and those running several VMs and heavy IDEs simultaneously if you choose to max out on its specs.
Another main difference is the resolution: retina display. For most programmers the advantage of the higher resolution is the fact that you can much more easily fit it two screens next to each other for documentation and code or two different coding files of the same project side by side. You can’t really pull this off with lower resolution displays, at least comfortably.
Other than that, if you are an android, iOS programmer or dealing with web design. A Retina Display will allow you to edit your multimedia files at the retina display level which is really good since your target audience resolution may not entirely have low resolution displays.
This comes with the caveat of a decrease of battery life(The air has 13 while the pro 10) but it’s still more than sufficient for an entire day of programming on the go. Another bonus from the New Pro is the fact it supports thunderbolt 3 connectivity, you get ultrafast data transfer plus you are able to connect to two different external displays for your docking station back home.
The top quality keyboard, touchPad and general build quality remain the same since it’s an Apple Machine. The 13” is quite portable to, only 3.5lb. If you wish enjoy most of the perks of the Air plus the addition of one of the best displays there is, the MacBook Pro is your best bet.
Best Windows Laptop for Programming
CPU: Intel Dual Core Core i5 3.5 GHz | RAM: 8GB 2133MHz DDR4 | Storage: 256 PCIe SSD | GPU:Intel HD Graphics 620 | Display: 13.3″ Full HD
If you got tired of Mac machines, you’d be happy to know that the DELL XPS 13 is the windows machine that can actually surpass the pro in terms of performance and portability.
The XPS specs vary from i3 core processor all the way to an i7 processor, 8-16GB RAM, 128 GB-256GB but I feel this configuration is plenty for most programming tasks.
If you are running a lot of Virtualization machines or doing heavy development then you can always increase the RAM to 16GB to be on the safe side (you can do so on your own which turns out to be cheaper).
This configuration is far lighter than the Pro at 2.7lb and a bit ligther than the Air, offering similar performance and as long as you stick with full HD resolution, you also get plenty of battery life at 10 hours.
As a bonus the thunderbolt 3 port will allow you to connect your laptop to two external displays for the most productive programming environment. Without a doubt, the best laptop for programming coming from a Windows Machine.
Best Lenovo Laptop For Programming
Lenovo ThinkPad T460
CPU: Intel Core i5-6300U Dual-Core 2.4GHz | RAM: 8GB-16GB DDR3 memory | Storage: 256GB Solid State Drive | GPU:Intel HD Graphics 6000 | Display: 14″ LED-backlit Full-HD widescreen display with 1920 x 1080
Best Budget Laptop For Programming
CPU: Intel i5-7200U 2.5 GHz Processor (Turbo to 3.1 GHz) | RAM: 8GB DDR3 RAM |Storage: 256GB SSD | GPU: Intel HD | Display: 13.3-Inch Full-HD
We can’t leave those programmers on a budget still looking for a high quality laptop like the Pro, Air and Dell. The ZenBook in particular has pretty much everything the Air offers: portability and a decent performance for most programmers with the exception of those into game development.
It only weights 2.6lb and has a relatively long battery life of 8 hours. Heavy IDEs such as Eclipse, Visual Studio and Android Emulators should run smoothly with 8GB RAM and a dual core intel based processor: i5 core 2.5GHZ with the addition of an SSD for storage.
Unlike the Air, it actually has a better resolution : 1080p and being at 13 .3 inch is the sweet spot for programmers. As a bonus you get a matte finish, which the Air and The Pro do not have, to protect your eyes from long sessions of programming and highly reflective workspaces.
The only downside is the keyboard and touchpad quality. They aren’t the best but they’re not the worst either, it has actually improved over the past versions but it’s the same quality as the laptops shown above. Unless your nitty picky about keyboard/touchpad quality, you should be fine when using with it.
How to Buy a The Best Laptop For Programming
While most people will tell you that you can program on any laptop build within the past ten years, that is certainly true. However, there are exceptions to this rule based on what kind of programming you are dealing with. We’ll quickly go over them before going through each specification, if you fall into any of these categories you can safely use this article to buy a suitable laptop for the kind of work you are doing and the kind of software you are using for it.
Types of Programming
Regular and basic programming with Java, C++, Python, any language of your choice is the least demanding type there is. This is the case for most programmers and beginners out there who just need to write down and compile some code. Any laptop would do as most will tell you. Since most laptops (modern) have more than enough power for all of that , your focus should be on the human aspects and ergonomics. As you’ll be starting at the monitor the whole time and typing on the keyboard, focus on : screen size, resolution, keyboard quality, trackpad, etc.
if you are working with datasets that are in the Gigabytes range, graphics or far too complex algorithms then you may need a boost in performance, if not just focus on RAM. You can never have enough RAM no matter what kind of work you do with a laptop.
If you need to run several virtual machines for testing purposes on different platforms, setting up severs, networking, etc. Then not just any laptop will do but you don’t necessarily need a high end and expensive laptop just focus on CPU and RAM as far as performance goes and if possible an SSD upgrade to make all those VMs and IDEs start up and run in no time.
If you are gonna be dealing with IDEs for app development, they are memory hogs, especially Visual Studio. Focus on having plenty of RAM. 8GB should be your minimum, the more the better.
The addition of an SSD is a huge bonus for a speedy workflow. No matter what kind of applications and how huge they are, you don’t really need a top notch laptop for it. If you don’t plan on developing graphic intensive apps or play games on it, then you also don’t have to worry about graphics card either. Integrated will be just fine.
If you’ll be using XAMP for the Apache Sever, mySQL, etc, as well as an IDE or a code editor plus a browser to check your work, then obviously you’re gonna need a lot of RAM. 8GB RAM should be plenty but more is always better and can’t hurt!
Recommended Specs For Programming
Programming doesn’t need an IPS, 4k Resolution, retina displays , infinity edge Displays, touchScreen, virtual reality screens or whatever they have on laptop these days. There are only two things you should worry about: size and resolution.
If you want to have multiple windows open regardless of what type of programming you do, aim for at least 1080p and maybe a bit less is fine. However don’t settle for 1366 x 768, it’s gonna cumbersome having guides, documentation,etc, next to your code editor.
If you are starting with programming, you’re definitely not gonna be able to write algorithms or code from scratch, so you’ll have to rely on documentation and the web for references and others work to base your code on, in which case a 1080p is a must. Plus it’s always useful to see more of your code on the same screen as it’l be easier to follow code logic and debug.
As long as you stick with 1080p resolution, size shouldn’t be a problem. Just don’t get a 17” laptop or a 11” notebook, the former is far too bulky and heavy while the latter will feel too cramped for any productive work to be done. You want enough screen area to take advantage of the resolution and have multiple windows up(guides,manuals,tutorials,IDE,a testing area,etc) so 13-15” will be fine.
Matte vs. Glossy
I almost left this one out. A huge bonus is having a matte display, it’ll keep your eyes from deteriorating if you work on high reflective areas with huge lights, the sun, or anything else that may shine on your screen. A Matte display also reduces the intensity of your display , making your glasses thicken far less over the years.
Keyboard & TouchPad
A good keyboard will help with fatigue and cramping if you are an avid programmer, if you are a beginner it may not cause much issues since you’ll be coding at a snail pace and a few lines of codes a day won’t matter much.
You don’t necessarily want the best keyboard in the world but you definitely want to avoid low quality keyboards with huge flaws on it.
How do you avoid them?
By not going cheap on your laptop, laptops on a very tight budget usually but not all the time have terrible and cheap keyboards. Manufacturers try to cut on their budget by lowering the build quality of their laptops as a whole and that includes keyboards. If you do want to the best keyboards then avoid small screen size laptops (too small and cramped for coding) and aim for brands known for their build quality and design (think Apple and Lenovo).
We don’t really need touchPad or TrackPads but believe or not they can be an issue when you accidentally touch them, highlight your code and delete it by accident (you can always undo but it’s annoying to deal with).
If you can get a laptop with the proper drivers to disable them, that’s fine you can always duck tape it. I myself deal with this on a constant basis and not just for coding and I am still looking for a solution (I don’t want to duck tape it). If you care about TouchPad quality then it’s the same as keyboard aim for high quality laptops and brands(Macbooks followed by Lenovo/Dell and only high end HP laptops).
If you are just dealing with simple programming languages such C++, any CPU will just do. They’re so fast they don’t really need a boost from a CPU.
But if you’re more into IDEs with Java or xCode with C# and the like, then you are going to need a decent CPU.
What’s a decent CPU?
Anything that uses top tier microarchitecture (Skylake, Broadwell, Kaby Lake) which may include Intel Celeron Processors (some of them do not have these architectures so watch out). However, to be on the safe side aim for i3 or i5 processors.
Why not i7 processor? If the processor ends up with a U or M, then it’s just a dual core processor with slightly more cache and clock speed which doesn’t really benefit programming that much. An i5 dual core processor is much cost effective.
Do Virtual Machines benefit from multiple cores?
For advanced programming , it never hurts to get a quad core processor if you have the cash but that’s only beneficial if you plan to run several intensive applications “inside” your virtual machines. If your stuck with testing or just one application, then a dual core is more than sufficient.
For basic programming and those not running several Virtual Machines or heavy IDEs (Visual Studio, Xcode, Android Dev) with tons of tabs within it, then you might be fine with simply 4GB.
Otherwise settle with no less than 8GB. As a matter of fact everyone should settle with 8GB and if possible 16GB. RAM is cheap to upgrade by yourself and you never know when you are gonna make the jump into other areas of programming that will need it.
RAM is always the limiting factor when it comes to any type of programming, more so than CPU or anything else. So get as much as you can afford.
Programming in general, no matter what you do, doesn’t require huge amounts of capacity. So you are likely to be just fine with any capacity size from modern computers today.
SSD vs HDD
However, once you maxed out on CPU & RAM(which are far more important) and if you have the budget then you can invest on storage to boost your performance with the type of storage.
If you use virtualization machines, IDEs for app development and any other heavy software for programing, you can always benefit from an SSD. It will make a huge difference in your workflow. So try to get one even if the storage capacity is low because it’s far more useful loading those apps and running them fast than having more unused storage capacity.
The latest and fastest SSD today is PCie Based flash storage, you’ll find these on the highest quality and more expensive laptops. This is not a requirement but always a huge bonus if you can afford it. Basic programming and beginners can safely discard an SSD, any type of hard drive will do just fine.
We don’t have to worry about thunderbolt 3 ports or the latest type USB type C connectivity or SD Card Readers.
Just make sure yours has plenty of ports if you plan on using a docking station with yours, one for external display and a few USB ports for a mouse and an external keyboard. Some ultrabooks (The New MacBook) and cheap laptops do not have enough, so watch out.
This is totally irrelevant for programming unless you are into game development or plan on doing parallel computing with it and even then you don’t need a workstation graphics card. A decent dedicated graphics (NVIDIA) card will suffice.
Who doesn’t like to code on the bus, on the train, anywhere on campus or your workplace. I do, if you do then as a programmer you always have the choice to choose a portable machine. We don’t really require big, bulky, extremely powerful and heavy workstations. An ideal weight for portability is around 3lb but that may come with a huge price tag .
What’s the point of having an expensive portable and powerful machine if it can’t turn on? Obviously we should all aim for the best battery life we can get. 8 hours is plenty for an entire workday coding depending on how intensive your “coding” is. If you are doing iOS, Android apps and running emulators or running servers on it along with virtual machines then expect yours to be less, hence you can never have enough. Luckily, we don’t need fancy CPUs or Graphics card or bells and whistles on top of the display, so it shouldn’t be hard to have a really long battery life.
There’s no really better OS for programming, it really depends on what software , IDE or applications you are dealing with but as a general rule of thumb, usually for all purposes.
Windows should be your choice if you are .NET programmer, you’re accostumed with Visual Studio, video game development and C# development. If you’re going to use Windows for iOS app development then that may be possible too with a few tweaks and guides shown here. But then who wants to deal with all of that?
The one downside of using Windows I can think of is the fact that you’d be pretty much downloading and using IDEs for most programming purposes, nothing works natively on it or right out of the box such as the next Operating Systems.
Most programmers use it hence open source code and software is mostly supported with it. So sooner or later you’ll have to do the jump, no matter what kind of programmer you are. Luckily, you can install it on pretty much any machine these days.
I believe this might be the best OS for those interested in programming as a whole. You can do pretty much anything with OSX. This is why you will see CS professors and top notch programmers using Macs (unless they do Window dev ).
The major and most re-known sites out there use all Macs and google actually banned the use of Windows in their facilities. Unless you are .NET programmer, you can safely roll with Macs, it has far more benefits than Windows Machines but it’s not really required. Here’s a few in summary:
- Triple Boot: You can roll with Windows, Ubuntu and OSX all in the same machine.
- Native Bash.
- Better navigating buttons (ok this is perfonal preference but on Windows you have to hit home/end and you may end up hitting up delete or page up/down).
- You can run pretty much any software on it regardless of what OS its compatible with it. After all OSX is a variant of UNIX and you can dual boot into Windows as well.
- You can do both iOS and Android apps on it.
Where is a Mac a problem? Again .NET development and game development, the latter may benefit from a NVIDIA graphics card which OSX devices do not have.
If you have any more tips, questions or any suggestions whatsoever, let us know in the comments below. It would benefit all programmers out there.