I felt like this was worth asking after seeing this post a few days ago on Reddit. Right now, I’m using a 2015 MacBook Pro and hoping for and expecting a redesigned MacBook Air this year that I would upgrade to since Apple Silicon is really fast with long battery. I know that you might need Windows for certain software, but I could just spin up a Windows on ARM Virtual Machine if I must. The post I linked made it sound like CS Majors don’t really use Macs.
Also what portion of Windows users at your school would you say is a CS or STEM major? I would imagine Windows is more common among them.
I would imagine it would depend which software you are going to use but I’m guessing most would recommend Mac especially since it’s a Unix based system. Usually the school will have a webpage with suggested machines and the min requirements. My daughter’s are not a CS majors and their MBP’s arrived Sunday. The machines are monsters! The new MBA should have the M2 chip but won’t be as powerful as the MBP M1 machines. Still should be super high performance. Many companies are upgrading to the new silicon machines because the performance is so much higher and they will pay for themselves in a very short time.
It isn’t going to matter unless you’re in few very specific fields. For example, if you’re into machine learning, you may want to consider a Windows-based machine with an Nvidia GPU card, rather than a Mac.
You should be fine with a MacBook Air. My son heavily uses his three year old MacBook Air for ML (e.g. creating/testing algorithms, computer vision, training models, etc). It’s a champ! I think he uses IDLE and OpenCV. You can even change the operating system to Linux like one of his buddies did if you want.
Many CS departments’ shared computers for student use (including doing CS course work) are Unix or Linux based. Apple MacOS has a Unix-like base, so it may be more suitable for doing CS course work on your home computer before uploading it to the shared computer to turn it in. Of course, you can install Linux on a typical computer that comes with Microsoft Windows to do something similar.
Of course, if you are already a college student, you should know what your college’s CS department uses for shared computers for student use and then decide appropriately what personal computer may be more similar in allowing you to do CS course work off line on your own computer.
If you will only do CS course work on the CS department’s shared computers, then your only constraint in choosing a computer is that it lets you connect to those shared computers, which is usually not much of a constraint.
I think you’re looking at that OP as a norm when it’s one specific anecdote. Most CS departments at top CS schools are pretty dense with Mac users, whether that be closer to 50% or 75%. Hardware things (EE,CE) favor Windows so maybe that poster’s school combines their EE and CS in a way that people go for Windows. Macs are also more expensive, so some schools with more economic diversity may see less in school, but as mentioned by that post, are far more common in the industry when you’re not paying yourself.
I’ve used a Mac for school and every job since. It’s very common. Over half of my school probably used Mac. I’d personally recommend it in most cases.
Another key point is these are two separate questions. Some specialized STEM software is Windows only or runs much better, but CS is not one of those fields.
I’ve wondered if I would want to specialize in ML, but wouldn’t it be better and cheaper to rent out a cloud system with a high end Nvidia GPU? Heck, Kaggle is a cloud ML platform and lets you use an Nvidia Tesla GPU for up to 36 hours a week for free!
There’re certainly other options available to you as @Rivet2000 has suggested. Having your own Nvidia GPU equipped laptop (or preferably a separate desktop) gives you the freedom to run your models as frequently as you want at any time at lower cost.
We’re digressing but, you’d have to pay like $1-2000 or something very high for a PC or laptop (since you want to take it wherever) with a high end GPU, so it would be cheaper to use a cloud server with a GPU or if you uni offers GPU clusters.
It depends on the software, but most programming platforms favor either Windows or Linux. And yes, you could run Windows on VM Ware and it would function just the same. You’ll find most CS students with Windows machines because the software functions natively. Having a Mac just makes using it for projects more complicated
There is practically nothing that you can do in Linux and you cant’t do on a Mac. The only exception is Linux kernel development, but I doubt that any undergrad student will do that.