Best macbook pro for a computer science major in college?
Hi,
i need to buy a laptop for university, and i am having a hard time deciding on one. Which macbook pro would you recommend for a college student majoring in CS?
Thanks.
MacBook Pro
Hi,
i need to buy a laptop for university, and i am having a hard time deciding on one. Which macbook pro would you recommend for a college student majoring in CS?
Thanks.
MacBook Pro
For a computer science major I would go with the 15" non-Retine unit since you can upgrade the memory yourself, have reasonable priced options for storage (I would go for the 7200 rpm HD instead of the 5400 rpm), and more options for external connections.
The higher spped processor may be of benefit depending on the compilers you are going to be using. I would also quickly join the Apple developers, I believe it only costs $99 to do so, and download XCode so you can smoothly use compilers. I use that with FORTRAN compilers and works great.
The new Retina units are extremely expensive and non-upgradable, so if you decide to go that route, make sure you get the max memory you can and any thing else you feel you must have.
To add to Ralph's good advice, take a look at the difference between the glossy and antiglare displays and the resolution options that are afforded the 15' models. It will have an impact on your every day use.
Also if you are, like most college students, in a forced frugal situation, do look at the options available in the refurbished section of the on-line store. The specification differences are for the most part very minor.
Ciao.
It depends on your budget. You are going to be carrying it around in a relatively extreme environment. That means you want it to be a lighter 13" with AppleCare. For computer science, it is important to test your projects in the environment where the professor will mark them. That means you need a virtual machine to run Windows and Linux. You can run almost all Linux software on your Mac, but most of it is junk that you don't want. It is best to avoid that if possible and concentrate on what you need to do. That means you should get Parallels instaed of an the open source VirtualBox. The same logic goes with papers. Get Microsoft Office. Don't waste time with open source clones.
When doing your computer science assignments, it is important to do them on the Mac first and then port them to whatever environment the professor requires. This will give you a distinct advantage. You will have an easier time developing and you will have fewer bugs - guaranteed. Apple's clang has much better error message than GCC.
It is very unlikely that you will be able to do any true Mac or iOS software in school. Your university may have a university iOS developer program that you can join for free. If not, don't bother joining the developer program unless you really intend to release some apps. Sadly, even today, many college professors are card-carrying Communists and that means they will be more like to assign Android and Linux projects. You can still learn from that, just know that doing the same code on the Mac would be much more fun and easier.
I would agree with parts and disagree with parts...I have been using GNU software for years, use only the GNU compilers on my Sun SPARC station at home and use the GNU fortran compiler on my MBP. Far superior for my usage than most commercial compilers.
I do not do Apple-related development but still need Xcode to run compilers for builds of FORTRAN analysis programs. So I still say it is important for a computer science major.
Anyway, my thoughts and others will no doubt disagree.
Ralph Landry1 wrote:
I would agree with parts and disagree with parts...I have been using GNU software for years, use only the GNU compilers on my Sun SPARC station at home and use the GNU fortran compiler on my MBP. Far superior for my usage than most commercial compilers.
I was referring to Apple's Clang compiler. C++11 is all the rage now. If your templates aren't just perfect, GCC will spit out a 12-line, indechiperable error message. Clang will actually tell you what the error is, show you where it is in context. Here is an example C++ program that needs to use "typename":
template<class T> somefunction(T * arg) { T::sometype x; }; int main(void) { return 0; }
This is what GCC says when you try to compile it:
/tmp $ g++ test.cpp test.cpp:1: error: ISO C++ forbids declaration of ‘somefunction’ with no type test.cpp: In function ‘int somefunction(T*)’: test.cpp:3: error: expected `;' before ‘x’
This is what Clang says when you try to compile it:
test.cpp:1:19: error: C++ requires a type specifier for all declarations template somefunction(T * arg) ^~~~~~~~~~~~ test.cpp:3:3: error: missing 'typename' prior to dependent type name 'T::sometype' T::sometype x; ^~~~~~~~~~~ typename 2 errors generated.
Of course, this is a contrived example. Real world examples do a much better job of showing nonsense for GCC and clear messages from Clang.
I really don't know about FORTRAN. C++ has never had good commercial support. Solaris compilers still couldn't do iterator_traits in 2005. Still, I would expect commercial FORTRAN compilers like Intel's to do a much better job than GNU. There is a lot of maturity there. I don't think that would matter to a new college student 🙂
Best macbook pro for a computer science major in college?