Developer paths beyond the Visual Studio juggernaut

I have just purchased a Mac laptop and am planning to partition it to run OSX and Ubuntu. Currently I use Microsoft Visual Studio on Windows for development projects. My concern is whether there is an equivalent to Visual Studio and the Microsoft Developer Network (MSDN) on OS X or Ubuntu?

Today I was asked this question, one which is very similar to others I have been asked and answered in the past. In Windows the decisions a developer must make prior to starting coding are relatively simple because it is an environment dominated by Visual Studio. When making the move to OSX or Linux the decisions facing the developer are more complicated because no single company dominates these platforms in the same way Microsoft does Windows.

Outside of this Microsoft’s sphere of influence is a large number of avenues to consider which can significantly influence the productivity and even success, of your software project. The short answer is there no direct equivalent to Visual Studio and MSDN for OSX or Ubuntu, but there are plenty of satisfactory alternatives. In making your decision consider what languages you use now, or are interested in learning in the future. Also identify what general platform you wish to develop for; be it the desktop, server, web or mobile. And always remember whilst none of these discussed paths are wrong, some are more right than others depending on the project.

OSX Leopard, App Engine and Python's PIL libraries

Running Google App Engine on OSX Leopard is fairly straight-forward except for the fact Leopard does not ship with the Python PIL imaging libraries. One way of resolving this problem is to use MacPorts to compile your own Python 2.5 libraries. Install MacPorts and then from the Terminal run:

sudo /opt/local/bin/port install py25-pil
sudo /opt/local/bin/port install py25-socket-ssl
sudo /opt/local/bin/port install py25-hashlib

Finally edit the /etc/profile file...

sudo nano /etc/profile

...and add the following entry at the bottom:

export PYTHONPATH=/opt/local/lib/python2.5/site-packages

If you want the App Engine launcher to recognise this new version of Python open the application's preferences and set the path to the python2.5 executable (see screenshot).