Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Not really. People who actually know stuff about computers have a fairly healthy attitude towards operating systems and know that neither Windows not OS X is crap.

If you want religion, go with a vi(m) vs. emacs discussion instead :)

I certainly wish that was the response that when I went to school for my degree. There was only one or two instructors who had that attitude. The rest just seemed burned out, and ready to find a new career. I remember hearing things like. "Get your A+, MCSE, and CCNA then try to go work for Microsoft, don't waste your time getting apple certifications."
 
Not really. People who actually know stuff about computers have a fairly healthy attitude towards operating systems and know that neither Windows not OS X is crap.

If you want religion, go with a vi(m) vs. emacs discussion instead :)

Well actually as far as operating systems go its normally OS X/Linux/Other UNIX Variant being preferred over Windows, just because so much more stuff runs on UNIX from a CS Perspective. As a test sample, in my class of 110 for Programming this year, of those that brought laptops, so about 30 of us, about 25 were Macs and 5 were PCs, Id say the class was generally 80% or more Mac, including the lecturer.
 
I certainly wish that was the response that when I went to school for my degree. There was only one or two instructors who had that attitude. The rest just seemed burned out, and ready to find a new career. I remember hearing things like. "Get your A+, MCSE, and CCNA then try to go work for Microsoft, don't waste your time getting apple certifications."

You have a computer science degree? Even so, what you're talking about isn't the merits of a particular OS but job advice which can be quite different.

Must of the stuff we write thesises about isn't very business friendly either. My bachelor's degree was about writing a compiler for a (large) subset of Java 1.3 in Java 1.5. My master thesis might be about analyzing ambiguities in Parsing Expression Grammers. Try selling that to an employer ;)

Well actually as far as operating systems go its normally OS X/Linux/Other UNIX Variant being preferred over Windows, just because so much more stuff runs on UNIX from a CS Perspective. As a test sample, in my class of 110 for Programming this year, of those that brought laptops, so about 30 of us, about 25 were Macs and 5 were PCs, Id say the class was generally 80% or more Mac, including the lecturer.

True. I recommend a mac as well. The guy was talking about withstanding the enormous amount of ridicule from other students/faculty (which I've never experienced. Most of them run Linux anyway) and referred to windows as "slow super vulnerable Windows 7" (which isn't true).
 
Last edited:
I was in CS as an undergrad. We used a UNIX lab with 50 Sun Ultra 5s running Solaris 7-9 and CDE for everything except the big intro course that everyone took.

The environment was set up so well, it was always such a pain to try to work in Windows with Visual Studios. I tried to save for a Mac so I could work more from home, but I ended up going building my own Windows 2000/Red Had 7 dual boot. Turns out I really hated Red Hat and all the other linux distros I tried. It's only a slight exaggeration to say that every time I would seek help on a forum, the "solution" would be to have me do a custom compile of my kernel, or mock me for not having already done so. It took more time for me to get linux into as streamlined a working order as I wanted, and keep it there, than it did to get my actual work done. I ultimately found myself staying in the lab to work.

Years later, I got a free iBook and realized then that I should have tried harder to save up for a Mac back in the day. Not only were there a few good IDEs and editors (the free one in Xcode comes to mind, as does BBEdit or Text Wrangler, and TextMate), but there was bash, vi, emacs, gcc, etc, all right there in a good UNIX terminal just as I was used to, and I didn't have to kludge around with arcana like I'd had to with linux. It's a slogan that many feel gets overused on this forum, but in my experience, the iBook just worked.

I took some courses in parallel programming in graduate school, and it was so much easier to get things done with the Mac (even still running Jaguar!). I could SSH into the cluster right from the same terminal window in which I had been writing and compiling the code. I don't remember what terminal emulator the guys using the Windows lab used, but I remember it being...well buggy isn't quite the right word, but it had some issues staying logged into the beowulf and showing an accurate view of our home folders. Meanwhile, I'd take my little iBook to class, get all my work done while people were sneering at my "toy computer" and go home.

So suffice it to say, I found the Mac to be a great computer for my CS courses - much better than Windows, and without all the hassles I found in linux.
 
  • Like
Reactions: Ghost31
I would probably get a PC to start this. Okay so a lot of people use Mac.. But in the business world and home, a lot of people use PC. If you are getting a computer science degree you would probably want the PC knowledge of hardware and software. Upgrading, managing your bios and all the intricate settings, as well as more about how the hardware works. Unless you can plunk down money for a Mac Pro, you won't have this real world knowledge of PC's. Even then the Mac Pro isn't a PC.

There's knowledge you need on the PC side of things, integral to your degree. You can learn a great deal about how hardware works in computers by getting a PC. I would go that route. You can learn a lot about Windows on a Mac but it still isn't a true PC. Consider hackintoshing a desktop. That will also teach you a grip about how OSX works.

That is just my opinion. If I was starting a computer science degree at this point I would want to know about the headaches on the PC side and resolutions before going into OSX.


This is bad advice. Not to mention the OP is comparing laptop to laptop, he is going into a CS degree plan. While he will probably have a few classes that cover basic hardware, they will already be way deeper than the "knowledge" you say he will be getting putting together a PC in terms of learning a BIOS, what a DIMM or PCI slots looks like, etc.

"Consider hackintoshing a desktop" ? How off topic could you be? You just suggested he do something illegal. You also assume he gives a rats about learning how OS X works. He could build a machine and put Debian, any BSD, etc on it and learn just as much about how an OS works or PC hardware legos together. Sheesh.
 
I certainly wish that was the response that when I went to school for my degree. There was only one or two instructors who had that attitude. The rest just seemed burned out, and ready to find a new career. I remember hearing things like. "Get your A+, MCSE, and CCNA then try to go work for Microsoft, don't waste your time getting apple certifications."

People with A+, MCSE, and CCNA certifications tend to be the mechanic like people. Someone else designs it, creates it, implements it and then the above are staffed into the lowest paid positions of maintaining it.
 
Get the course list, get all the info on the CS courses. Most CS programs are going to teach on something other than MS VS/.net/etc. You may want to have a linux install. You will likely be spending much time looking at a terminal prompt. Any good school will have a number of labs with different hardware.
 
A mac makes a great choice, as it gives you the most flexibility going forward.

Obviously it can be your primary programming platform, whether you're using the xcode gui, vi/emacs and the command line, eclipse, or whatever your favorite environment turns out to be.

In addition you can install other os's on it, either with bootcamp or your favorite virtualization software. Unless you're planning on gaming there's no need to dual boot. Being able to have multiple os's running simultaneously can be really handy, particularly if you start doing any network programming.

Granted you can install linux on a windoze box, but getting a mac lets you pick from whatever toolbox you need.
 
OP check if your school and department are part of MSDNAA http://msdn.microsoft.com/en-us/academic/bb250591

B

Yeah, it seems that that Southern Miss is a member of the MSDN Academic Alliance

You need to WAIT till you check with your school. Almost every school has a Campus eStore or Academic Super Store (these are example from your school) where students have access to hardware and software at big discounts. http://www.usm.edu/itech/softwaredownloads.php

At UT use to get all software for a flat fee of $5 a disk. ($5 was a fee for the copy of the disk.) It did not matter what it was. There were also big discounts on hardware.

You can also see your Uni's education discount on apple's site: http://store.apple.com/us_edu_478511/

Either way, you won't know what your professors suggest or be privy to any further amazing deals you get through the school until you actually arrive at school.
 
I was in CS as an undergrad. We used a UNIX lab with 50 Sun Ultra 5s running Solaris 7-9 and CDE for everything except the big intro course that everyone took.

The environment was set up so well, it was always such a pain to try to work in Windows with Visual Studios. I tried to save for a Mac so I could work more from home, but I ended up going building my own Windows 2000/Red Had 7 dual boot. Turns out I really hated Red Hat and all the other linux distros I tried. It's only a slight exaggeration to say that every time I would seek help on a forum, the "solution" would be to have me do a custom compile of my kernel, or mock me for not having already done so. It took more time for me to get linux into as streamlined a working order as I wanted, and keep it there, than it did to get my actual work done. I ultimately found myself staying in the lab to work.

Years later, I got a free iBook and realized then that I should have tried harder to save up for a Mac back in the day. Not only were there a few good IDEs and editors (the free one in Xcode comes to mind, as does BBEdit or Text Wrangler, and TextMate), but there was bash, vi, emacs, gcc, etc, all right there in a good UNIX terminal just as I was used to, and I didn't have to kludge around with arcana like I'd had to with linux. It's a slogan that many feel gets overused on this forum, but in my experience, the iBook just worked.

I took some courses in parallel programming in graduate school, and it was so much easier to get things done with the Mac (even still running Jaguar!). I could SSH into the cluster right from the same terminal window in which I had been writing and compiling the code. I don't remember what terminal emulator the guys using the Windows lab used, but I remember it being...well buggy isn't quite the right word, but it had some issues staying logged into the beowulf and showing an accurate view of our home folders. Meanwhile, I'd take my little iBook to class, get all my work done while people were sneering at my "toy computer" and go home.

So suffice it to say, I found the Mac to be a great computer for my CS courses - much better than Windows, and without all the hassles I found in linux.

And here is the best advice of all. The true word from an experienced person who went through exactly what you are about to go through. Everything he needed was right there, already in OS X, and it just worked. I can validate and backup this statement.
 
Last edited:
  • Like
Reactions: Ghost31
Don't get the alienware. There's no reason to spend $2400 on a computer, especially a Windows PC. If you don't plan on gaming, Dell's Latitude line offers an i7 with 512mb VRAM for $1500, or you could go for a Vostro for about a $1200.

Mac v. PC is subjective, I did use a mac, now I'm using a PC and they're both just as good. I find PC's have better linux support, while mac's are more a "status" symbol... but that's just me.
 
I would agree with most of the posts here that any unix environment, like OS X, will suit you well.

I might also add that you most definitely will not need such a powerful system for your coursework. Pretty much any CPU/RAM will be fine. In fact in some ways a slower processor is better because you can more easily see slowness in the software you write. Unless you have other things you want to do with the system, eg gaming, I would consider a slower processor if you want or need to save some cash. On the refurbished site you sometimes see a 2010 MBP 15 i5 with a high res screen for 1400.

Having a large high res screen is definitely nice for coding. An external monitor might work, but also keep in mind you might want to be able to work on your assignments somewhere quiet. I think a 15 is a good balance of size and portability.
 
Don't get the alienware. There's no reason to spend $2400 on a computer, especially a Windows PC. If you don't plan on gaming, Dell's Latitude line offers an i7 with 512mb VRAM for $1500, or you could go for a Vostro for about a $1200.

Mac v. PC is subjective, I did use a mac, now I'm using a PC and they're both just as good. I find PC's have better linux support, while mac's are more a "status" symbol... but that's just me.

I can safely assume that thejadedmonkey has never used either his mac or his pc running windows or linux to write and compile his own C/C++ application or try to manage the shell account any university would expect a student to perform school assignments on.
 
I would like to add that going with a 4-core system may be in your best interest.

If you plan on taking any course on parallel processing, you will almost certainly be required to test how your solutions scales to different numbers of processors. If you can test single-, dual-, and quad-core performance on your own system, it may very well save you time.

My own experience in this area consisted of waiting in a queue for sometimes hours for a quad-core node on our cluster to be available to run on. If I could have done most of the testing on my own machine, I could have spent those hours fine-tuning and getting a better solution, and only then queueing up in the cluster for final numbers to submit to the instructor.
 
I would like to add that going with a 4-core system may be in your best interest.

If you plan on taking any course on parallel processing, you will almost certainly be required to test how your solutions scales to different numbers of processors. If you can test single-, dual-, and quad-core performance on your own system, it may very well save you time.

My own experience in this area consisted of waiting in a queue for sometimes hours for a quad-core node on our cluster to be available to run on. If I could have done most of the testing on my own machine, I could have spent those hours fine-tuning and getting a better solution, and only then queueing up in the cluster for final numbers to submit to the instructor.

Personally I think that all you really need for anything is a 400Mhz G3 with a Text Editor. Thats what I do most of my assignments on (a Quad-Core only lets you watch your solution scale so far anyway, and some institutions may only require you to scale to 2 for testing, or for you to scale to 8 and test, so that sort of thing is probably best judged by asking the department what they expect you to test against in terms of cores etc, and what the cluster they provide students to use runs at in terms of a nodes capability anyway)
 
I'm not entirely in agreement with you on that, Chris, though I do agree that having the latest-and-greatest is neither a necessary nor sufficient condition for success in pursuing a CS degree.

My main reason for disagreeing with you is that much (I'd even be willing to say most) of the learning will take place outside of assignments through independently exploring and playing with what you've read and tried to apply in coursework. Having immediate access to tools that can speed up that process can not only help one gain new understanding or realize a misunderstanding more quickly, but it can actually encourage a student to begin such explorations in the first place.

At the risk of generalizing my own experiences too much, when I had no computer at home, having one of those "hmm, I wonder if..." moments either meant a long walk to campus or waiting until the next day to try it out. Once I had a computer at home, I spent much more time asking those kind of questions and trying to answer them. I learned much more than I otherwise would have as a result.

Similarly, if I'd had a 4-core machine when taking the parallels classes, I could have spent more time investigating some ideas I was curious about than waiting in the queue.

And keep in mind, I'm not just talking about the required testing for assignments here. Your advice that the OP look into the specifics of his program are right on, and he should definitely do that before making any kind of decision. I'm talking about testing ideas of his own, on his own time. Again, playing with what he's learned. Going above what is just in coursework, which no matter the rigor of the program, can never teach you everything. The best students I knew were ones that spent an hour on the assignment, and spent 8 on trying their own thing.

It's like that in every field, really, but in CS, some of the questions you might ask are about the very tool you're using. I mean, in math I never wondered, "hmm, would this still happen if I switched from 0.5 to 0.7 lead?" But it's entirely expected that you might wonder if you get the same payoff going from two to four cores that you did going from one to two. And when the answer is "no" (and it will be, more often than you'd want), having the ability to find out why on your own is very helpful.

So in short, I agree that the demands of his specific program may not require anything more than a G3 (which is also all that I had), but he should also keep in mind that the written demands aren't all he should be considering.
 
On the multi-core comment. Not a bad idea but even the state school I went to had more lab machines than CS majors. I am 15 years out of school now and when I went back to visit I couldn't believe it. So far from the vax terms!
 
My main reason for disagreeing with you is that much (I'd even be willing to say most) of the learning will take place outside of assignments through independently exploring and playing with what you've read and tried to apply in coursework. Having immediate access to tools that can speed up that process can not only help one gain new understanding or realize a misunderstanding more quickly, but it can actually encourage a student to begin such explorations in the first place.

I agree. If one has an interest in programming languages OS X is also a prime candidate. An awful lot are installed by default and others can be installed separately.

So if one would like to have the answer to "I wonder if (ruby, python, perl, C, scala, objective C) is cool" you're pretty much set already.

BTW, the answer is: (yes, yes, no, yes, yes!, I take the 5th) ;)
 
I'm not entirely in agreement with you on that, Chris, though I do agree that having the latest-and-greatest is neither a necessary nor sufficient condition for success in pursuing a CS degree.

My main reason for disagreeing with you is that much (I'd even be willing to say most) of the learning will take place outside of assignments through independently exploring and playing with what you've read and tried to apply in coursework. Having immediate access to tools that can speed up that process can not only help one gain new understanding or realize a misunderstanding more quickly, but it can actually encourage a student to begin such explorations in the first place.

At the risk of generalizing my own experiences too much, when I had no computer at home, having one of those "hmm, I wonder if..." moments either meant a long walk to campus or waiting until the next day to try it out. Once I had a computer at home, I spent much more time asking those kind of questions and trying to answer them. I learned much more than I otherwise would have as a result.

Similarly, if I'd had a 4-core machine when taking the parallels classes, I could have spent more time investigating some ideas I was curious about than waiting in the queue.

And keep in mind, I'm not just talking about the required testing for assignments here. Your advice that the OP look into the specifics of his program are right on, and he should definitely do that before making any kind of decision. I'm talking about testing ideas of his own, on his own time. Again, playing with what he's learned. Going above what is just in coursework, which no matter the rigor of the program, can never teach you everything. The best students I knew were ones that spent an hour on the assignment, and spent 8 on trying their own thing.

It's like that in every field, really, but in CS, some of the questions you might ask are about the very tool you're using. I mean, in math I never wondered, "hmm, would this still happen if I switched from 0.5 to 0.7 lead?" But it's entirely expected that you might wonder if you get the same payoff going from two to four cores that you did going from one to two. And when the answer is "no" (and it will be, more often than you'd want), having the ability to find out why on your own is very helpful.

So in short, I agree that the demands of his specific program may not require anything more than a G3 (which is also all that I had), but he should also keep in mind that the written demands aren't all he should be considering.

I fully agree with you on the whole exploring stuff comment (Heck if I didn't I wouldn't have the what is it like 15 Macs I have), its just that some CS courses don't even touch Parallel computing until like 3 years down the line when if he needs it, I expect a Quad-Core Mac to play around with will be available for about $300 (Given the depreciation of Mac Pro 1,1 systems - they seem to be hitting about $800 now, so give it a few more years and I expect to see them at about $300 or the same price as decent early G5s are today or possibly less).

But as far as exploring coding goes, any version of OS X after Panther (ie Any Version that includes XCode) is probably one of the best choices out there (And its always easy to add extra languages to the Mac as well, which is a really nice feature).
 
Get the mac, alienware has a bad failure rate and are much clunkier. A macbook pro would last much longer then an alienware. Every college is different, you should call them and check out what they require. Your computer science program will probally have a program that allows you to pick up a windows lisence for very cheap or free.

My friend paid $7k for an Alienware and it arrived only half built. Nothing was plugged into the mobo, and once he connected everything he found 2 sticks of ram were bad, as was the vid card. Alienware wouldn't fix it either until he filed a complaint with e better business bureau. Granted this was years ago (2005 I believe) before Dell bought them out but its not the only Alienware horror story I've heard by a long shot.

That being said for comp sci a Mac is a no brainer. It'll run all other OS's. You have Unix at your fingertips and you will probably see a Mac is what most of your professors have. Expect to spend a lot of time in Unix or linux, honestly Windows isn't used much in comp sci programs (I've been through three different programs at three different schools and only used Windows for DirectX programming.)
 
CS Departments dont care what the real world uses... no good CS program should be teaching you to code using Visual Studio/"Insert Windows only IDE" as its a pile of rubbish

That's the problem with CS degrees if you actually want to make money. So you need to make a decision. Do you want to be an elitist Computer Scientist (note the caps) who only uses Macs and Linux to develop, or do you want to make money.

If you get a financial sector job in NYC you can expect to earn a significant premium (at least 20%) over what you would earn in other industries. However you can also expect that they will value your Windows .NET knowledge significantly.

Now of course people will cite the relatively rare case of some person or other who started their own company and made millions and never worried about Windows. If you are actually in the 0.01% of people who can do that then my advice is not for you. Still if you are way up there, WTH are you doing asking people which computer to buy?! So lets ignore the fanciful dreaming and get back to reality.

What you learn about Computer Science has little to do with the OS you are using. What you will learn about skills that employers will pay money for has a great deal to do with the OS. Yes, you absolutely should learn about Unix and Linux. You also should learn about Windows if you want to make money and I can't think of a better way than buying a non-Apple product.

For what it's worth, I would not pick an Alienware computer of any sort. IMO they are overpriced.

The decision is yours. Good luck.
 
Go nuts

Id say best place to start is with a simple macbook pro 13". (The metal shell is durable for uni)

Buy the extra 8gb ram off ebay, buy at least a 17 inch monitor for your student digs. (Coding requires screen space), Get rid of the internal CD drive and replace with cheap small ssd. If you got the dollar.

Then get VMware Fusion. Get A Debian based linux (Ubuntu) and windows, install them inside VMware, then use netbeans (from Oracle) on all 3 of them as a start.

If your doing cs, then you're guaranteed to do java and C/C++. This will have you covered.
You can learn bash, as well as specifics for all 3 major OSs.

And download a program called Calibre for mac, and buy e-books on CS and Programming etc. Not essential but it helps me.

I wasn't CS, but Physics and Quantum Information. My final project was /*rather unusually*/ modelling in objective-C, the Copenhagen Interpretation of QM and Einstein Local Hidden Variable theory against eachother in the case of Quantum Entanglement.


Either way, I hope you go to College and do your course and do it well. lots of opportunity.

Oh and if you really wanna establish yourself in the inner circle, buy a clever programming t-shirt: "One does not simply telnet into Mordor" will go down well.
 
I'd say pay your uni a visit, see what the course content is and what tools would be required for what course.

Most software will be available at your university (e.g. things like MatLab) but there's no telling if they'll have Mac versions, Windows versions, both? And to be honest if you're going to spend over 50% of your computing time in Windows then you are probably better off getting a PC than using virtualisation.

I'm biased enough towards UNIX/Mac in general that put in your shoes I'd rather virtualise than have a PC - mostly so that I'd learn about more than just what is taught in school, but ymmv.
 
CS as an undergrad is a theoretical with some practical experience degree. This is true for most accredited programs.

Either laptop will work fine: much of the course load is going to be mathematics and fundamental comp sci theory: you are not going to
be a code monkey 24/7.

Programming IDEs is a matter of taste: both laptop OS environments will work.

Hate MS as you may, it serves a business need. Its possible you may run into a course or two where MS programming is required. My software engineering course as an undergrad was run by a professor who liked NT, there for we all had to code our pieces under windows and integrate at the end of the semester.

OS courses in my time were Unix based since...its better to teach OS design with a toolset that already is there (compilers, linkers, debuggers, etc...).

If going with a Mac laptop you likely can do everything with OS X/X11 tools but I still would run VMware with Linux/Windows images for the experience/toolsets.

If running windows I would strongly suggest dual boot/VM for Linux as having both Windoze and Unix experience is a good thing (TM) to separate you in the job world.

While the course work is important, I can personally speak that much of what I learned in school I did on my own from playing with things, hacking, and exploring what different machines and systems can do. There is not enough time to really have a complete CS or Engineering degree as a BS in 4 years: its a degree where you learn critical problem solving, thinking, time management, an

Happy hunting.

- b

BS Computer Engineering, 15+ years industry experience
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.