I developed on Linux for 5-6 years before switching over to OS X on my main machine.<p>Installing xcode (3 is free, 4 costs a small fee) gives you GCC4 on the command line, plus some other tools/libs. Note: I've never actually used the xcode IDE, I use Emacs.<p>You can also install a rootless X11 server and run X applications in it. Wine on mac actually uses this, and I've been using it to play Homeworld 2.<p>Most of the cross-platforms IDEs that you would probably be using (if you're that kind of guy) in Linux are available on mac. Take a look at QtCreator, Eclipse, Netbeans.<p>Mac comes with Java and Python installed. If you do C/C++ development the only real differences are that some libraries are installed as "frameworks" instead of in the usual /usr/lib (eg. you link with -framework OpenGL). Also the dynamic libraries are dylib's instead of so's (and consequently, DYLD_LIBRARY_PATH).<p>Mac calls multiple desktops "spaces", and they work pretty much the same as in Linux/Gnome.<p>Grep/awk/sed/etc all work pretty much the same as in Linux, although I think they are the BSD versions instead (whatever the reason, they are a little bit more picky about command line options).<p>Mac's Terminal.app compares favorably with Gnome's terminal (including tabs, transparency) and has some nice looking built-in themes.<p>Anything else, just ask. :) If you've used Ubuntu recently, switching to Mac may give you deja-vu.