Learning Center Guides Buying a Linux Laptop to Learn to Code
Buying a Linux Laptop to Learn to Code

Buying a Linux Laptop to Learn to Code

Michael Bethencourt June 24 2020

Share

Are you interested in purchasing a laptop to learn to code or for web development, and also don't have a lot of money to spend? This guide is for you!

Aside: Should I get a mac? You may have heard that you need a Mac to be a developer. Here's the truth: You don't! You don't need to shell out hundreds or thousands for a brand new Macbook or iMac. If you like macOS and Apple hardware, and have the money, then by all means get one of these -- it is the most popular operating system for developers! But many other developers, including yours truly, prefer using free Linux-based operating systems. I'd even go further: Having helped many new developers start on both, I've discovered that Ubuntu Linux is slightly easier for total newbies to learn to code, as it comes "out of the box" ready for development. A few examples: The lightweight pre-installed text editor gedit rivals Sublime (which is available also), working with hidden files is easy, you can right-click to open a terminal, package management is more reliable, and the terminal has better default configurations. Of course, many prefer macOS for non-coding reasons (notably support for professional creative software), but in my opinion, Ubuntu Linux has an edge when it comes to newbies learning to code.


Staying affordable

Currently, my top recommendations for shopping for Linux development laptops are as follows, all of which are in the $70-400 price-range

Acer A114-31-C4HH

  • Low-end Acer - $150-250 - There are several Acer models that you can get new or refurbished from many online retailers in the $190-250 range. These have crisp 1920x1080 displays, are extremely light, have great battery life, and no-fuss Linux support. The only downside is they are not super fast and have only 4GB of memory. This means that you'll start noticing sluggishness if you have too many tabs open, or are trying to do video calls simultaneously with other strenuous activities. But for coding, they are as good as anything else! The model I recommend is the Acer Swift (model number: SF114-32), but also the Acer Aspire 1 series is almost as good (model numbers: A114-31-C4HH, A114-31-C5GM, A114-32-C1YA, and A114-32-P0K1). You can buy them on an online retailer such as Amazon. For more information on installing Linux on these, I've written a step-by-step guide. Check it out here: Ubuntu 18.04 on Acer Swift SF114-32

A Raspberry Pi accessory bundle, about $100 total

  • Raspberry Pi 400 - $70-130 - If you are fine with a desktop-style computer, feeling a little crafty, and maybe have a monitor or TV to use as the screen, check out this brand-new Linux-powered computer for only $70-100. Raspberry Pis are tiny "hackable" computers that are popular options with hobbyists, makers, and learners of all ages. This brand new Raspberry Pi 400 is all-in-one keyboards is in a much more user-friendly than previous models. If you buy the package deal, it comes with Linux pre-installed, a matching mouse, an HDMI cable, a power supply, and a thick colorful manual. The accompanying book introduces concepts in Linux, computer science, and electrical engineering, in a delightful format that's great for both kids and adults. The only downsides of Pi 400s (and these are big ones!) are they have a slow processor, are incapable of certain video call software (including Zoom), and have only 4GB of memory. This means that you'll start noticing sluggishness if you have too many tabs open or other strenuous activities. But just for coding, they are as good as anything else!

An old ThinkPad T520

  • Refurbished or used laptop (Especially Lenovo ThinkPad) - $250-400 These are old-school looking boxy laptops, but the refurbished market is great for them. For just a little more than the cost of buying one of the ultra low-end laptops above, you can find a device that's more powerful and has more memory, although it might take some shopping around. I search through eBay or Amazon using a query like 8gb thinkpad or 8gb i5 thinkpad or 8gb 1920 thinkpad depending on which requirements I value. I'm typing this article on an old ThinkPad that I picked up off of eBay for $250 many years ago, in fact!

Have some cash?

  • Buy new, high-end - Buy a new computer with Linux pre-installed. This final option is a much pricier compared to the others (about $1000), but it's also the least amount of effort. System 76 is a company that only sells Linux-based computers. Dell sells the XPS Developer Edition line of computers, marketed for developers in particular, which are very powerful with Linux pre-installed, but also cost a lot.

Overview of installing Linux

If you bought a new Acer or refurbished computer, they usually come with Windows instead of Linux installed. This means you'll want to replace Windows with Linux (or install them side-by-side) to be most prepared for learning coding. We recommend Ubuntu Linux, since it is the most widely used edition of Linux (aka "distribution of Linux"), and is popular with beginners and pros alike. To accomplish this, you'll first want to download Ubuntu Linux on Windows, and then make a "bootable USB drive" with it. Then you'll want to insert the USB drive into your new computer that you want to install Linux on, and then re-boot holding down a certain key that allows you access to the drive -- which key is dependent on your computer make (e.g. Lenovo might be different than Acer, which might be different than Dell).

  1. Learn how to make an Ubuntu Linux USB drive on their website here.
  2. Once the drive is made, learn more how to install Ubuntu on their website.

Conclusion

If you're stuck with old Windows computers, or need to buy a computer to learn to code, there are a lot of options available that aren't too expensive. While you won't be able to play the latest games, or edit HD video, for day-to-day software development tasks these options are as good as any, and much much cheaper.

Michael Bethencourt

Michael is a software developer and instructor. His favorite teaching challenge is teaching big computer science concepts to total newbies. He believes that complex concepts don't need to be complicated! His favorite engineering approach is full stack thinking: recognizing complexity that can be shifted between low-level infrastructure and JavaScript, or vice-versa. When he's not coding, he's probably doing political work, playing video games that feel too much like work, and counting down the days until first contact.