Advice on Buying Computers for Data Science Students¶
Questions to Ask Yourself¶
When thinking about getting a new computer, the three questions you need to ask yourself are:
how budget sensitive are you,
how long does this need to be your main computer, and
do I actually need a new computer, or can I just upgrade my current computer?
The “how long” question is important because if you expect to get a new laptop when you finish your Masters degree in a year and a half, you don’t need to buy a computer that has nearly as future proof. If you think it’s gonna have to last you three years, you definitely need better specs.
The “do I actually need a new computer” question we’ll talk about in more detail below.
I think the three things you want in a Data Science computer (in order of importance) are:
Enough RAM: You absolutely want at least 16GB of RAM. 32GB can be really useful if you can get it, and if you need a laptop that will last 3 years, I’d say you want 32GB or at least the ability to expand to 32GB later.
Storage: A relatively large, fast solid state drive (an SSD, or another form of flash storage like an M.2 drive). I’d say 512GB is an absolute minimum, though personally I wouldn’t go below 1TB. Note that external harddrives are poor substititues for internal harddrives!
If you only want this for a year or two, I’d say you want double the storage you currently use; if you’re gonna need this computer to last you a while I would say four times what you use now.
A reasonable processor: At least an intel i7, or an i9 if you can get it. >= 6 cores I think.
From a data science perspective, I don’t think you need to worry about GPUs very much unless you’re buying a desktop. I’m not a serious GPU user, but my understanding is that laptops just don’t come with “good” GPUs by data science standards, I wouldn’t worry about the GPU in your laptop (unless you like playing games).
I prefer macs – they have the same OS architecture as linux (see discussion here), and so are popular in data science, and help train you well for using linux computers while cloud computing. (But I’m also addicted to iMessages, so maybe that’s just stockholm syndrome speaking. :-))
But of course macs are also expensive, and while there are ways to try to get them cheaper (see notes below), you can definitely get more power from a Windows machine at the same price. Moreover, if you prefer getting a windows machine for either price or personal preference reasons, if you want to be able to work in Linux, it now runs relatively seamlessly from within Windows with WSL 2.
Finally, if you just want to get an actual Linux laptop, you can do that to! If you decide to go that route, I strongly suggest that you buy it from an established retailer who will make sure that everything is installed and set up when it arrives at your door like System76. But be aware that managing Linux operating system is sure to come with some frustrations, so only do this if you enjoy mucking around and learning how operating systems really work.
The Mac M1 Chip¶
Apple just released their M1 processor, and it looks insanely fast. But a few words of caution:
first, as of Nov 2020, nobody has actually held one so at the very least you should wait a couple months until people have tested them
Second, while I would definitely recommend one to my parents who just use a standard Apple software, there are likely to be issues with open source software for a while so I don’t know that I would buy it until I’m sure that has been addressed.
This is Apple’s first new chip and it seems like they were targeting the high-efficiency lower performance end of their product line, which probably means there’s another much more powerful chip coming for their more powerful computers. So even if you want a new processor, you might want to wait nine months until that comes out.
The M1 has integrated RAM, which means you can never add memory later. And right now, the most memory any of these offer is 16GB, which I think is the bare minimum for data science work.
Current compatibility efforts: R, TensorFlow, Julia, and Stata. Vanilla Python I understand will work natively, but it’s less clear about how the data science stack (numpy, scipy) will run given they are built on a lot of fortran, which they’ll have to learn to re-compile to apple.
First, the two most important features of the data science computer (RAM and fast storage) are things that you can upgrade on many computers. So before you do anything else, look into what components on your computer are upgradable. Oddly, the older your computer is the more likely you can upgrade all of the components – overtime manufacturers have moved to integrating components in a way that makes them non-upgradable – so don’t assume this is not an option! Processors haven’t gotten that much faster in the last many years, so if you can upgrade the other components, your computer will probably feel like new!
For Macs, if you go to MacSales and click on SSD or Memory, you can tell them the computer you have and they’ll tell you about your options. Windows laptops come in more shapes and sizes, so its harder to give direct guidance for a given model, but the same principles apply.
Second, I’m in favor of used or refurbished computers – nothing’s changed much in the last couple years that makes a new computer that different from a 2 or 3 year-old one. But I would suggest if you get a used laptop, you buy it from a company that sells them – vetting used laptops is tricky, so going to someone like MacSales.com or macofalltrades.com is probably safer.
used is cheaper than new
for the same level of performance, desktops are much much cheaper than laptops
Windows and Linux machines are cheaper than Macs
And finally, if you’re buying a mac, consider whether you can buy lower specs and upgrade yourself. Many used laptops only have 16GB ram because most people don’t need more than that, but may be expandable; and if you can avoid paying Apple for RAM upgrades and do them yourself, you’ll save money.