Hacker News new | ask | show | jobs
by jimmy_f 2536 days ago
Is the baseline MacBook Air sufficient for a CS major? I don’t want to spend extra for the pro.
9 comments

Yep! The base model will be fine for academia; however, you might want to invest in the 16GB of RAM as Chrome and other electron apps will consume all your memory leaving your computer crawling.

When you start working, you'll probably want to invest in the pro line for a faster CPU especially if you start booting up multiple services (databases, servers, etc.), mobile development, or crunching large sets of data.

I use the 2018 MacBook Air, 1.6ghz 16gb ram as a developer / development manager and it is faster than the 2015 pro it replaced with similar specs. The only thing I've seen it slow down on is compiling Rust, but I think that's just because that operation is slow.

Jetbrains IDEs works fine, not sure about XCode haven't done much with this machine yet in Mac Development.

Don't know why you are getting down voted. I have the same machine and use it for development. Works just fine for me, and I have a couple of VMs running with my stack on it.

The only thing I've found lacking is the Kerbal Space Program doesn't run very well on it. It runs but the fam quickly ramps up to 100% and get annoying.

Not sure of the Air specs, but I generally recommend paying for 16gb of memory. I found google docs and other web apps quickly consumed my 8gb memory. But, if you don't mind closing tabs and being mindful of running programs you can get by with 8.

If you ever find yourself CPU bound then you can spin up a VM image and run those jobs remotely.

While running low on storage isn't a problem either as several cloud options exist for that.

> I found google docs and other web apps quickly consumed my 8gb memory. But, if you don't mind closing tabs and being mindful of running programs you can get by with 8.

I gather you're using Chrome? Safari seems to "do this for you" in a sometimes frustrating way. Similar to the iPhone, Safari on the desktop seems to aggressively unload webpages when they're not focused. This means large Google Docs get reloaded every time you switch windows. I haven't used Firefox heavily for this kind of work, but it seems to behave better than both.

Chrome with to wrong tabs open can absolutely murder your battery life, too.

I am a safari user and don’t keep _that_ many tabs. I experienced tab reloading, which I didn’t mind. But even after a week of use I found I benefitted from rebooting to clear out memory.
I'm a little surprised so much of your 8gb went away using Safari if you don't keep too much open. Safari is generally great, but I've had to deal with abysmally large Google Sheets and had it reload every time I switched away even though it was the only window/tab open--Firefox wasn't too much better, it would constantly recalculate formulas. I feel like I got that behavior in Safari one or two other times with heavy SPA, but normally it uses much less battery and seems to use much less RAM than Firefox or Chrome.

I also haven't seen much of a need at all for regular rebooting. Looking back it seems like I'll reboot my laptop every 2-3 weeks, usually for an app that has a kernel driver, to boot into Windows, or to troubleshoot an egregious problem like my sound or bluetooth breaking. I've never done it for RAM, but I have closed browsers to save battery/RAM.

I don't think you even need a MacBook Air. I've always used Linux for development. If you're not tied to MacOS, get a Thinkpad with Ryzen + Radeon. It will run better on Linux. If you want the MacOS experience, get a Air.

Irrespective of what you get, you cannot do serious compute on a laptop. Because actually using it at full power kills your battery.

"serious compute" is for servers. For programming homework, a Macbook Air is fine.
You can plug laptops in, actually.
Why Ryzen? Mobile intel processors are better x1000
Speaking from my past experience, any computer would suffice. But if you want to run decent IDE and don't want to wait for minutes for compilation (for some database and system classes), you might want to buy a laptop with decent CPU.(gen 7/8 i5 and above should suffice).

Buying apple product is already "spending extra".

I have a CS degree and never, once, compiled anything that took more than a few seconds in undergrad (mostly Java). I used a 2013 MacBook Air. What are you compiling that’s taking minutes? I’m curious.
Database implementation in C++. It has many components(~40 header files and 20 test cases). If I make change to one of the "essential header", such as BufferManager.h, it will recompile almost everything.
I would say yes, of course there could be edge cases but I guess if you have to train some ML model you hopefully will have access to some machine with a proper graphics card. The average programming project will be handled just fine by an Air. (I did professional iOS-development on a 11-inch MacBook Air for a while)
Don’t get the 128gb. You will run out of it very quickly. Especially if it is your primary computer.
I did all of CS grad school on an 11" Macbook Air with a Core 2 Duo. It was fine, even the machine learning class. The datasets were never big enough to be an issue; and if they had been my fallback plan was to use the lab servers instead.
I would say a surface pro would be more useful. Or dev edition xps 13 if I were to choose.

Surface pro with the surface pen is a killer feature for note taking.