views:

1742

answers:

13

I recently switched over to a MacBook Pro so I'm still really new at Mac software ecosystem. What is the best guide or what tips do you have to quickly get adept at using Mac for developing on both Mac/Unix and MS platforms (*.NET, SharePoint, SQL Server, etc) using VMWare Fusion? For example, I've setup NetBeans, FlexBuilder, Eclipse, TextMate, VMWare Fusion, OpenOffice, FireFox, dragged Terminal.app to my dock, upgraded the Ruby installation and related gems and so on... Things I've not done but looking at (based on other's experiences) include QuickSilver (is it all that different than SpotLight?), MacPorts (or Fink?), getting started with iPhone, Android, and so on. You can tell from my inexperience that I don't know what the best ways of doing things are yet, and don't want to get in the habit of just installing things and then leave files and stuff laying around slowing the system down. If you have any really cool tips about setting up a developer's Mac please share them!

Update: The nature of my job is I'm always working with new/different technologies, some Windows/MS based, some not, and with the Mac (and Fusion) even the MS based stuff is more enjoyable to me.

+5  A: 

First, install XCode. This gives you the Mac OS X development environment, but most importantly it also installs GCC so you can build both your own projects and applications that are distributed as source code. After that I'd suggest checking out TextMate, a popular text editor for Mac OS X (as seen in the Rails screencasts). If you're an Emacs/Vim user, there's Aquamacs and MacVim.

Kyle Cronin
+15  A: 

I'd highly recommend MacPorts - you can quickly and easily install new packages with a simple

sudo port install package-name

Instead of having to deal with browsing a website to find the distribution, download a disk image, and run an installer, or downloading a tarball and untarring it, running a configure script, and running make, etc.

Adam Rosenfield
And more importantly, MacPorts automatically downloads and builds all necessary dependencies. It'll save you a week for those Gnome apps.
Greg Hewgill
A: 

Make sure you install Developer Tools (XCode) from your OS disc (and don't try and install GNU version over the top of it :P).

You've already done everything I have, except I'm using Virtual Box instead of VMWare.

Cogsy
+10  A: 

Find some cash and invest in extra memory for your mac. I know it's probably not the tip you want to hear, but honestly, it'll save you frustration in the long run. Apple ships these babies with way less memory than they deserve, and charges an arm and a leg for an expansion. I had a Mac Pro (quad-core Xeon) crawl to a halt until I got some real memory in there.

Another tip is to get a decent keyboard and mouse. Don't trust Steve Jobs with that "single mouse key for everything" crap. It works for ichat, not for real programming. Get yourself a real keyboard and a real mouse with multiple buttons. Configure your middle scrollwheel button to open expose or whatever it is that shows you all windows. Configure your fourth button for magnification.

Also, from your description it sounds like you don't really know what it is that you want to develop. If you're doing mac-specific things, get used to XCode ASAP and lose the rest. If you want to be doing windows programming, not sure why you would use a mac. If you want Java, you have Eclipse, you're ready to go.

Uri
@Uri: Which keyboard do you use?
Masi
I use the Microsoft Ergonmic Keyboard 4000 like 90% of programmers. Works perfectly on a mac and can be found on sale frequently. I use a Logitech MX Revolution as my mouse; expensive but great and again, works better on a mac than on a PC.
Uri
+1  A: 

I did the same in August this year, I bought a Macbook Pro (the small of them but with 200Gb 7200rpm and 4Gb of RAM), and I can tell you about my experience.

I'm a .NET developer and been ASP programmer for more than 10 years, so all I did was Microsoft related, never ever, aparat of installing and playing with Ubuntu, I had experience in the Linux world.

But my mind was on the iPhone SDK development and I even paid my inscription on the iPhone developer Program, all was lovely, I just loved my new Mac! But... Mac programming is a hobby for me, and believe me, Fusion, and even with my 4Gb and placed 2Gb for each OS, does not move as better as in a "normal" laptop, so after 4 month of struggling I formatted my laptop and created a Bootcamp partition (WOW, now I can use it for Windows!) and Fusion can run that Boot camp partition like a Virtual Machine image, and that is good for little times that I need to do something quick.

What you refer and as Uri mention, I don't thing that you know what you are going to do, having a "bunch" of apps in the laptop does say that, because, all you needed is Eclipse for everything else and XCode 3.1 with the SDK for Mac related apps, nothing more!

I was like you, but I realized that I didn't open any other programs that those 2, and except for compiling Objective-C code, was the Mac your better choice?

balexandre
+9  A: 

Install all the Mac dev stuff, XCode etc., so you get the compilers.

For sure, Macports. Look through their catalog and install all the usual packages you're used to from Linux or other systems -- including development-related stuff like flex/bison, emacs, doxygen, m4, perl, python, etc.

I prefer "iTerm" over the built-in terminal. Don't forget to "export COMMAND_MODE=unix2003" that makes a number of things work the way you're used to.

I haven't given URLs for any of the things I've mentioned. That's what Google is for.

Larry Gritz
Fink is an alternative to MacPorts (a debian-like feal rather than *BSDish). There are several SO questions where the difference is discussed.
dmckee
A: 

I've found OpenOffice to be very slow compared to the actual Microsoft Office for Mac. If you have some budget, I'd recommend that over OpenOffice.

I can second the recommendation for QuickSilver - it's one of the best launchers I've used.

For IM clients, if you have contacts outside of the AIM network then you may want to try Adium - a free multi-IM-network chat client that has handy things like searchable transcripts.

Another general utility that I highly recommend is iStat menus - it gives you a realtime monitor of CPU, memory, disk, etc. right in your menu bar.

Marc Novakowski
My experience is that MS office for mac is the worst of both worlds. I agree that OO has it's downsides to. Soon, I'm trying Crossover and MS office (win) on my macbook.
Gerrit
+2  A: 

Invest in a good text editor. See the following questions:

http://stackoverflow.com/questions/100084/what-is-a-good-gui-text-editor-for-the-mac http://stackoverflow.com/questions/20533/mac-textcode-editor

And by 'invest' I mean both money and/or learning time.

XCode is a good enough editor for Objective-C, but I wouldn't use it as my primary editor for everything.

(MacVim is my choice)

Sergio Acosta
A: 

QuickSilver is a very good option and yes, it is a bit different from Spotlight due to the large number of plugins you can have. If you have NetBeans, maybe you don't need Eclipse. I'd even say that with TextMate (my editor of choice too), you don't need NetBeans either :)

I second MacPorts, it is more up to date than fink and closer to the FreeBSD ports system (where I come from).

Keltia
Quicksilver has *far* better text-matching magicness. For example, "txm" will select textmate, "ses" will match an AppleScript I have called "launchsessions.applescript". The more something is used, the higher it is in the list and so on
dbr
A: 

Install Windows using Boot Camp. You can then dual boot between OSX and Windows, use windows as normal for MS development, and OSX for your other non MS stuff.

Ady
Keltia
+2  A: 
  1. Install the latest version of Xcode (you will need this even if your not developing macintosh/iphone applications)
  2. Install macports for most of your OSS tools (you'll need Xcode first)
  3. To run tools that aren't OSS or are windows only install virtualbox I know there are alernatives (VM fusion is highly rated) but virtual box is free
  4. Install an IDE if you do not want to use Xcode as your IDE (for example eclipse and netbeans)

Finally if you have some cash

  1. Upgrade the ram if required (sw developers love ram especially if you are running a vm :) )
  2. A second display, I can't imagine developing with less than two displays
hhafez
+1  A: 

Instead of vmware fusion, virtualbox.org is free and worth a look.

frankodwyer
+1  A: 

My choice for a great all-around text editor would be TextWrangler.

unclerojelio