Pues yo no programo pero las x11 del macosx te dan la oportunidad de emplear el software libre para BSD y supongo que tendras unas cuantas herramientas de programacion. Y en el entorto del macosx pues tendras tambien una cuantas herramientas de pago interesantes, ademas del pack de desarrolladores que ya trae el macosx (estas ultimas gratuitas).
tutorial de apple para sus herramientas de desarrollo (ingles)
http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide20/Contents/Resources/en.lproj/index.htmlEste kit incluye las siguientes herramientas:
Xcode. Un IDE desde el que podemos realizar aplicaciones C, C++, Java y Objective-C para Mac OS X.
Interface Builder. Herramienta que nos permite realizar la interfaz gráfica de las aplicaciones Mac OS X cómodamente.
La interfaz gráfica de las aplicaciones Mac OS X, además de poder crearse programáticamente, se puede crear en un fichero XML con la extensión .nib, y cuando se ejecuta el programa se carga en memoria este fichero en base al cual se crea la interfaz gráfica. Esto es mucho más cómodo que tener que hacer llamadas al API, y para crear este fichero se usa esta herramienta.
Package Maker. Una herramienta que nos permite hacer instaladores de aplicaciones Mac OS X de forma rápida y con una interfaz homogénea para todas las aplicaciones.
Esta herramienta nos permite crear ficheros .pkg, que al hacer el usuario doble click sobre ellos se ejecuta el instalador.
MRJAppBuilder. Esta herramienta nos permite crear un bundle (aplicación Mac OS X) para un programa Java convencional.
En otros SO el usuario se ve obligado a ejecutar el comando java para lanzar las aplicaciones Java, nosotros las podemos empaquetar con esta herramienta para que el usuario sólo tenga que hacer doble click con el ratón.
JavaBrowser. Esta herramienta nos permite visualizar ayuda sobre las librerías de Java de forma cómoda.
PropertyListEditor. En Mac OS X muchos ficheros de configuración usan el formato XML, para poder visualizar de forma cómoda (jerárquicamente) estos ficheros tenemos esta herramienta.
Icon Composer y Icon Browser. Estas herramientas nos permiten crear y visualizar ficheros .icns de forma cómoda.
Documentación. La gran mayoría de la documentación y tutoriales que encontramos en la web de Apple, la podemos encontrar también aquí.
Ejemplos. Cuando tenemos dudas sobre como se hace "exactamente" algo de lo que nos habla la ayuda, lo mejor es buscar en estos ejemplos.
Y herramientas de terceros
Eclipse es un excelente IDE Java desarrollado por IBM bajo licencia abierta que permite trabajar con proyectos, tiene ayudas para completar código, para depurar y para trabajar contra un CVS.
http://www.eclipse.org/IntelliJ, un IDE Java para profesionales con multitud de opciones de personalización que permiten ejecutar y depurar aplicaciones gráficas, JSP, J2EE así como centralizar el trabajo con un CVS.
http://www.jetbrains.com/idea/JBuilder es un IDE de desarrollo visual para Java desarrollado por Borland. Puede consultarse más información aquí:
http://www.borland.com/jbuilder/NetBeans es un IDE de desarrollo visual para Java desarrollado por Sun y de código fuente abierto y publicado en:
http://www.netbeans.org
Por supuesto no te olvides de las que hay para BSD darwin de GNU
http://dymas.ii.uam.es/~flh/macprog/GCC.pdfSupongo que para programar en bajo nivel encontraras mas para darwin-BSD.