Jump to content

Do CS programs require use of a certain OS? What about x86 vs. ARM?

MrMitty

I'm thinking about going back to school for either a second BS or an MS in CS. I used an x86 MBP when learning to code in Python and SQL. As I look at requirements on CS programs, some schools/courses require Windows and some UNIX. Does this depend on what the specific program or teacher? And are there requirements that CPUs have x86 architecture? I haven't seen this latter requirement so far but I thought I would ask. 

 

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, MrMitty said:

As I look at requirements on CS programs, some schools/courses require Windows and some UNIX. Does this depend on what the specific program or teacher?

yes, a course will have certain software that might be developed to work with a Windows environment only. A teacher for any given course should take this into account and provide requirements accordingly.

I WILL find your ITX build thread, and I WILL recommend the SIlverstone Sugo SG13B

 

Primary PC:

i7 8086k - EVGA Z370 Classified K - G.Skill Trident Z RGB - WD SN750 - Jedi Order Titan Xp - Hyper 212 Black (with RGB Riing flair) - EVGA G3 650W - dual booting Windows 10 and Linux - Black and green theme, Razer brainwashed me.

Draws 400 watts under max load, for reference.

 

How many watts do I needATX 3.0 & PCIe 5.0 spec, PSU misconceptions, protections explainedgroup reg is bad

Link to comment
Share on other sites

Link to post
Share on other sites

48 minutes ago, Fasauceome said:

yes, a course will have certain software that might be developed to work with a Windows environment only. A teacher for any given course should take this into account and provide requirements accordingly.

For web development, mobile dev (android, iOS) or data analytics, what one machine would be sufficient? A Mac or PC? If you have a Mac, you can run Windows via Parallels so I would only need 1 computer. Do you think it's wise to have 2 computers, 1 Mac and 1 PC? 

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, MrMitty said:

If you have a Mac, you can run Windows via Parallels so I would only need 1 computer.

I have found the use of Parallels to be very convenient. A single mac for both windows and Unix would not be a bad call.

I WILL find your ITX build thread, and I WILL recommend the SIlverstone Sugo SG13B

 

Primary PC:

i7 8086k - EVGA Z370 Classified K - G.Skill Trident Z RGB - WD SN750 - Jedi Order Titan Xp - Hyper 212 Black (with RGB Riing flair) - EVGA G3 650W - dual booting Windows 10 and Linux - Black and green theme, Razer brainwashed me.

Draws 400 watts under max load, for reference.

 

How many watts do I needATX 3.0 & PCIe 5.0 spec, PSU misconceptions, protections explainedgroup reg is bad

Link to comment
Share on other sites

Link to post
Share on other sites

17 minutes ago, MrMitty said:

For web development, mobile dev (android, iOS) or data analytics, what one machine would be sufficient? A Mac or PC? If you have a Mac, you can run Windows via Parallels so I would only need 1 computer. Do you think it's wise to have 2 computers, 1 Mac and 1 PC? 

I finished my undergrad with an M1 Air - I was entirely fine for the greater majority of things, however some libraries really rely on x86 and did cause some issues. 

 

There wasn't anything on MacOS that I couldn't do, but there definitely were some bumps in the road caused by x86 vs ARM and the conversations Rosetta performs.

 

Operating system wise, you're never in a bad place to choose Linux or UNIX-based OS' in computer science. Its the standard.

Community Standards || Tech News Posting Guidelines

---======================================================================---

CPU: R5 3600 || GPU: RTX 3070|| Memory: 32GB @ 3200 || Cooler: Scythe Big Shuriken || PSU: 650W EVGA GM || Case: NR200P

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Slottr said:

I finished my undergrad with an M1 Air - I was entirely fine for the greater majority of things, however some libraries really rely on x86 and did cause some issues. 

 

There wasn't anything on MacOS that I couldn't do, but there definitely were some bumps in the road caused by x86 vs ARM and the conversations Rosetta performs.

 

Operating system wise, you're never in a bad place to choose Linux or UNIX-based OS' in computer science. Its the standard.

My gosh. I hope it was a 16GB MBA... I'm really bad at controlling how many tabs I have open and I don't think I can survive without at least 32GB of RAM. 

Link to comment
Share on other sites

Link to post
Share on other sites

The only way to be 100% certain about this is to talk to someone who's familiar with the particular CS program you're looking at.

In general though, you probably would be fine with either a mac or windows device. The way my university dealt with students having different computers was to have students remote into CS lab machines via ssh and do their work there whenever a particular environment was required for assignments.

 

In terms of x86-specific stuff there's always Rosetta, but I suspect this won't really be a problem. I only had 1 assignment over my entire CS degree where I had to look at x86 assembly (and this was again done on CS lab machines). In general courses about compiler design and CPU architecture are the only places that assembly-level programming comes up, and those courses usually target a simpler instruction set architecture than x86 anyway.

Link to comment
Share on other sites

Link to post
Share on other sites

If you go Windows, but you run into a class that want's something that's requires unix or linux, there is Windows Subsystem for Linux which you might be able to get by with or create a virtual machine that has enough resources.

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, ebtechie234 said:

If you go Windows, but you run into a class that want's something that's requires unix or linux, there is Windows Subsystem for Linux which you might be able to get by with or create a virtual machine that has enough resources.

My CS program is primarily C/C++ based, and as a TA for the intro C course, I personally recommend going with WSL versus macOS to be honest.

Link to comment
Share on other sites

Link to post
Share on other sites

mageia and Fedora are usually also perfect for CS programs as they have RPM support, and you can easily install (almost) all major CS apps on both systems.

 

For example, Wolfram Mathematica works very well on both systems.

 

In most cases, even FreeBSD will suffice. You can also install Wolfram Mathematica, Emacs, high performance compilers, LaTeX, Vim, Geany, the major programming languages, etc on it.

 

You are ultimately a CS student. It is a good exercise to learn to work with the highest quality operating systems.

OS: FreeBSD 13.3  WM: bspwm  Hardware: Intel 12600KF -- Kingston dual-channel CL36 @6200 -- Sapphire RX 7600 -- BIOSTAR B760MZ-E PRO -- Antec P6 -- Xilence XP550 -- ARCTIC i35 -- EVO 850 500GB

Link to comment
Share on other sites

Link to post
Share on other sites

You'll probably end up using a lot of different OS and cpus. I got my CS degree more than 20 years ago but for instance in my networking class we used Linux, OS class was Linux, game programming class was Windows with DirectX, assembly programming was on a fake processor called CUSP, computer organization we programmed on MIPS, etc.

Link to comment
Share on other sites

Link to post
Share on other sites

I remember when I took my CS classes at the University of Nebraska that some classes required your program to compile and run on Linux. Additionally, they did provide a server you could SSH into and compile your programs there for testing. Those were the only requirements I ever knew of: your program must compile and run on Linux, so no OS-specific API calls allowed.

 

The Apple Silicon Macs are always solid since if you stick with standard C/C++ calls, Xcode will be fine and you can be fairly certain your programs can be compiled for Linux. You could also save money by buying a Windows laptop and either running VirtualBox with Linux on it, or even converting an old computer to a Linux box that you can set up for Tailscale/SSH.

Software Engineer/Photographer

 

Desktop PC: AMD Ryzen 7 5800X, AMD Radeon RX 6700 XT, 64 GB RAM, 500 GB SSD, 2TB SSD for photos, 1TB SSD for documents, 1TB HDD for games

Mobile Desktop: AMD Ryzen 7 7700X, AMD Radeon RX 5500 XT, 32 GB RAM, 1TB SSD

Laptop PC: 2019 Apple MacBook Pro 16-inch, 512 GB SSD, 6-core Core i7

Link to comment
Share on other sites

Link to post
Share on other sites

i know for one of my required courses(system fundamentals II), i need to write posix apps on linux, namely ubuntu. although there are some savvy mac users who figured out writing Posix apps on Macos is just as fine, thanks to posix compliant and all that. they do need to tweak around some headers and replace some linux specific syscalls and apis but totally doable. so yeah... you do need specific os but vms and ssh servers are readily available. For cpus, not really mattter. compliers abstract that away for you. you simply need to make sure your assignments can be compiled by the grading system when you submit. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

On 7/8/2023 at 4:27 PM, ebtechie234 said:

If you go Windows, but you run into a class that want's something that's requires unix or linux, there is Windows Subsystem for Linux which you might be able to get by with or create a virtual machine that has enough resources.

A few years ago, I tried WSL and I hated that if I wanted to use a particular program in Windows, I had to download/setup twice. 

Link to comment
Share on other sites

Link to post
Share on other sites

On 7/9/2023 at 2:02 PM, QuantumBlink said:

My CS program is primarily C/C++ based, and as a TA for the intro C course, I personally recommend going with WSL versus macOS to be honest.

Did you mean macOS in general or macOS on Apple Silicon? 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, MrMitty said:

Did you mean macOS in general or macOS on Apple Silicon? 

Probably won't matter.
If you don't own a mac and you buy one (for some reason...) DON'T get intel.

But with how cheap some killer laptops have become on eBay... you can really get something badass for a couple hundred bucks.

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, fpo said:

Probably won't matter.
...DON'T get intel.

 

 

😔 😪 I have a 2019 Intel MBP with the 5600M that I spent a lot of money on... 

 

Is the Intel version not preferred for CS programs due to no problems in C/C++? I thought Apple Silicon was causing issues with certain languages/IDEs? 

Link to comment
Share on other sites

Link to post
Share on other sites

18 minutes ago, MrMitty said:

 

😔 😪 I have a 2019 Intel MBP with the 5600M that I spent a lot of money on... 

If you have it it's fine.

18 minutes ago, MrMitty said:

Is the Intel version not preferred for CS programs due to no problems in C/C++? I thought Apple Silicon was causing issues with certain languages/IDEs? 

Doesn't matter.

 

If you use C++, you'll be fine. GCC or G++ will work with the terminal.

Link to comment
Share on other sites

Link to post
Share on other sites

Ultimately, the best way to answer your question would be to contact someone in the CS department you are thinking of taking classes from. Probably the only time system differences could cause you significant issues is in assembly, where everything is architecture-specific. Other than that, pretty much everything can be overcome with virtual machines, WSL, or remote access to university machines. The department and professor will do their best to make everything accessible to all the students, and any problem-solving you have to do will be a good learning opportunity. 

 

All that being said, you can get a super cheap Chromebook, install Linux, and now you have a lightweight system you can dedicate to class. If something happens to it, it won't be a major loss. Also, some Chromebooks even come with Linux (Ubuntu I think) as a built-in dual-boot option. I had a professor who basically completely converted to Linux Chromebooks for work. Hope this helps!

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×