Computer question....

<p>So, I was wondering, in terms of application use, should I get a Mac for Cal? Like would any classes require the use of applications that are exclusive only to Macs? I’m an EECS major if that helps. I already have a Windows.</p>

<p>EECS… Macs… looooooooooooooooooooooooooooooooooooooollll</p>

<p>…</p>

<p>No.</p>

<p>I’d say iLife, but we all know that’s irrelevant to the eecs world.</p>

<p>You need the new Macbook Pro with Retina Display. Remember, it must have Retina Display, it’s very important!!</p>

<p>^The Retina display is not important at all. In fact, the resolution can be quite overkill, in terms of making text extremely small (but sharp), and making many web images look grainy due to not being optimized for such high resolutions.</p>

<p>How about a Linux computer, as that will be closer to the Unix environments used on the instructional computers (so you can have the ability to do programming assignments off-line and then upload your program to the instructional computers at the end to make sure that they work there before turning them in)?</p>

<p>^Well, you can quite easily dual-boot, and I think the OP would do that anyways.</p>

<p>Booting Mac OSX on a PC/linux laptop, however, is a huge hassle (and sometimes impossible).</p>

<p>It doesn’t matter in terms of application use. Arguable, a Mac will be more convenient than a PC with Windows (unless you install Unix) because Mac OS X is unix-based and give you a lot more access to to development tools, libraries, etc. That means you won’t need to mess around with Cygwin or Dual Boot on Windows. There’s nothing in the curriculum that would somehow require you to use Windows.</p>

<p>Also for the “regular” curriculum classes you’ll get by fine with Windows and Cygwin, but if you ever plan to get a research position/internship you won’t get around installing Unix. A Mac would solve that problem (in fact the majority of CS graduate students and staff have Macs) without needing some kind of dual boot.</p>

<p>I always say, if you have the money, get a Mac. If you need to save money get a PC.</p>

<p>Get any computer you’re comfortable with, it really doesn’t matter. They both have their advantages and weaknesses. Personally, I think Windows has friendlier compilers and is less buggy (weird, I know). I’m one of the rare people who went Mac and then sold my Macbook after a year and never looked back.</p>

<p>Plus if you need to use unix or linux, both can do it. Virtualbox and VMware work great on windows. There’s ZERO advantage to go either way.</p>

<p>So, I’m actually not familiar with unix/linux or dual boot. Wanna tell me more about those and specifically how they relate to the research/internship stuff?</p>

<p>Dual booting just refers to the ability to boot up 2 separate OSes from your computer. For example, you can boot up Windows/Linux, OSX/Windows, etc. As to how they relate to research and internships, some development software may work on a specific platform, whether it be unix, windows, etc. Any computer you get nowadays will give you the ability to use such-and-such platform to develop whatever you’re working on. In particular, hacking a database like postgres will be easiest in a unix shell. Stuff in EE has a lot of software based in Windows. </p>

<p>In the end, the computer you choose should be what you’re most comfortable with. No one really cares about the type of computer you have just as long as you can get the work done efficiently and are able to work seamlessly with others.</p>

<p>So… now I’m wondering… what are the applications that I might be using later on in EECS classes? (And I don’t mean obvious ones like Microsoft Word, Excel, Powerpoint, etc.)</p>

<p>Different classes may vary. I’d say the most used apps I use in CS are Eclipse, notepad++, VMware/VirtualBox, WinSCP.</p>

<p>In EE, most software is already supplied from the lab computers.</p>

<p>If you just use your computer as a terminal to the instructional computers, just ssh and scp clients.</p>

<p>If you want to do work offline on your own computer, probably the following (which are free except for MATLAB):</p>

<p>All: text editor (e.g. vi, emacs)
CS 61A: Python interpreter
CS 61AS: Scheme interpreter
CS 61B: Java compiler (the course appears to use the Sun one)
CS 61C: C compiler (the course uses gcc), Valgrind, and MARS MIPS simulator
EE 20N: MATLAB or GNU Octave
CS 70: LaTeX (typesetting program for math papers)</p>

<p>Also, you’ll do yourself a BIG favor if you actually learn how programs like vim/emacs, ssh, scp, grep, awk, package managers, gnuplot, shells, etc actually work. Almost all research, and a lot of industry jobs, expect that kind of knowledge. You won’t learn these by using Windows GUI stuff like Notepad++ or WinSCP (which is enough for most classes).</p>

<p>@Thomas_</p>

<p>So when you say that I won’t learn those by using Windows GUI stuff, what alternatives do you suggest?</p>

<p>Put Linux on your computer.</p>

<p>@ucbalumnus: Which version of Linux is recommended? If I run Ubuntu in VirtualBox, will I be able to use Emacs for 61A?</p>

<p>Also, I don’t know Latex, but I heard that it’s pretty useful for typesetting the problems in CS 70 and 170. Is it a widely-used tool in the industry? Would it take more time to type them out compare to the traditional way of paper-pencil in those two classes?</p>

<p>Thanks</p>

<p>Ubuntu will have emacs and many other things available through its package management system (e.g. if not installed by default, try “sudo apt-get install emacs”). Things like emacs, vi, python, and gcc are commonly available in various Linux distributions’ package management systems.</p>

<p>LaTeX is most commonly seen in typesetting academic papers in math-heavy subjects. Whether it takes more or less time depends on how well you know it and what you are writing.</p>

<p>The LabView, Multisim, and Ultiboard software I used for EE40 (circuits) that came free when I bought my textbook for EE40 was Windows only, so I’d say windows dualboot with Ubuntu linux (or other linux is you’re an experienced linux person) is a good way to go imo</p>

<p>Software is used in some labs and when designing your EEG (final project)</p>

<p>Or run Microsoft Windows in a virtual machine (e.g. VMware) or something like that.</p>

<p>[WineHQ</a> - Run Windows applications on Linux, BSD, Solaris and Mac OS X](<a href=“http://www.winehq.org%5DWineHQ”>http://www.winehq.org) indicates that LabView and MultiSim use under Wine is spotty.</p>