What kind of computer should you buy?
A prospective student recently wrote and asked what kind of computer they should buy to be prepared to do work in our department. I also find that because I’m a computer scientist, I get asked a lot about the right kind of computer for people. Amazingly, I don’t pay a lot of attention to hardware, so I don’t know that I have much useful to say on the matter. But here’s my attempt.
There are three major operating systems out there: Microsoft Windows, Macintosh OS X, and Linux (which comes in many variants).
We use Linux in the Grinnell computer science department for many reasons.
First, it is part of the Free and Open Source Software (FOSS) ecosystem,
and we feel strongly that FOSS matches the goals of both Grinnell and
the CS department. Strong liberal arts education relies on free and
open inquiry. FOSS permits such inquiry. Proprietary software rarely
permits such inquiry. Grinnell prepares students to contribute to the
common good. FOSS, as software available to
everybody, is software for
the common good. Proprietary software, intended to benefit its authors,
is not software for the common good.
In addition, we believe that using Linux promotes habits of mind that
benefit computer scientists in training. The
of small tools working together provides a useful model for thinking
about software design. It also encourages a mindset in which users feel
comfortable writing small programs to solve certain kinds of problems,
rather than doing things by hand. From my perspective, that’s one of the
key attributes of computational thinking. We’ve heard that even Microsoft
acknowledges that benefits to learning in a Linux/Unix environment,
and treats it as a positive when considering candidates for positions.
However, I will note that five of the six current CS faculty use Macbook Pro laptops as their everyday computer (or at least as their laptop computers). Why do we use Macbooks? I can only speak for myself. First, Macbooks run a variant of Unix underneath, and I want to use a machine that runs Linux. Second, Macbooks provide a nicer user interface than most Linux systems; 30+ years of UI design experience does have its benefits. Third, some of the software I need to use runs only on Macs (or at least doesn’t run on Linux workstations). Whether or not I like it, I need to have access to some version of Microsoft Word and Microsoft Office in order to collaborate with people around campus and around the world. (Office 365 may change that. However, right now, Office 365 Word is a piece of trash.) Fourth, I have a Linux workstation sitting on my desktop. If I need Linux features, I can easily connect my Macbook to my Linux desktop (something I’m doing while writing this essay) or run an emulator on my Macbook. Finally, I’ve been using Macs since the 128K (and have owned one since the 512K), and they are (mostly) intuitive to me. That makes me more efficient.
If I had 30+ years of experience working on Microsoft Windows, would I feel the same way? Maybe. But I’m a *nix person, and Microsoft Windows always seems clunky to me. (Microsoft products are a topic in a separate, forthcoming, essay.) If I had software that I relied on that only worked on Windows, would I use Windows? Probably. But I’d also look hard for alternatives.
Do I feel some discomfort using a proprietary system, given that my principles suggest that FOSS is better? Yes. At times I wish that I could be as principled as my colleague, John Stone. However, I must also admit that I highly value usability and convenience and, for much of my work, the Mac wins.
What does that say about what you should buy? I don’t know what’s right for you. I buy Macs. I tell my family members to buy Macs. I know that my colleagues (mostly) buy Macs.
I do suggest that whatever computer you buy, you put as much RAM (Random Access Memory) in as you can afford, at least if you plan to do programming.
As I reflect on this essay, I note that I may not have completely answered the students’ original question. What kind of computer should you buy to work with our systems? Almost any kind will work; you can often do your work by remotely connecting to our systems. It’s easiest from a Linux workstation or a Mac, but it’s possible from Windows, too. If you want to use something close to our systems, we run the latest version of Debian on most of our workstations, and often provide Ubuntu (well, Xubuntu) virtual machines for our students.
As always, I welcome comments on this essay.
Version 1.0.2 of Sunday, 2016-10-02.