drhowarddrfine said:
I've always wondered about those who use a Mac for Unix development...
What are your experiences with this?
I develop everything on Mac - for Mac, for FreeBSD, for Windows, and for the Web - only Linux is out.
I mostly agree to what kr651129 have said - except that I won't suggest wxWidgets for the GUI develepment. I use
The Cocotron in Xcode for cross-plattform Cocoa-Development.
In general, my code contains only a few
#if defined (__PLATFORM__) conditionals. For example my Cocoa/Cocotron-GUI-Application uses a common code base of about 25000 lines and contains only two minor platform specific sections. It uses common localized NIB-Files for all platforms, and all (cross-)compilation and debugging happens within Xcode on the Mac.
My FreeBSD non-GUI project has reached about 12000 lines in C, and I am actively developing on it on the Mac using Xcode4.3.3 for testing and debugging (64bit). For deployment on my FreeBSD-8.3 server (32bit) I
svn update the source and run the FreeBSD Makefile. This code base contains only 1 platform specific conditional and glue-code for UUID generation. The following list of
#includes which compiles unconditionally on both, Mac and FreeBSD, with either gcc-4.2 or clang-3.1, may support the view, that the Mac OS X userland is mostly BSD.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <errno.h>
#include <unistd.h>
#include <dirent.h>
#include <fcntl.h>
#include <syslog.h>
#include <signal.h>
#include <pthread.h>
#include <netdb.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <openssl/md5.h>
#include <openssl/sha.h>
#include <openssl/ssl.h>
#include <openssl/bio.h>
#include <openssl/err.h>
#include <postgres.h>
#include <catalog/pg_type.h>
#include <libpq-fe.h>
For ME, Xcode on Mac OS X is the perfect development environment, and in addition it is quite flexible using it for cross-platform development, including Web-HTML/CGI/PHP. That said, I am well aware that many people do not like Xcode too much. For example vi addicts won't like it because it is too obvious how to quit the editor

.
Comming back to your question. Yes, cross-platform development (including UNIX) on the Mac is perfectly possible. Whether you would like it, very much depends on how much comfortable you would become with Xcode. So, I suggest, that you have a closer look on Xocde on the Mac of your son before your final decision - if not already installed, Xcode can be installed for free from the Mac App Store. For shortening the learning curve, you might want to run through one of the various Xcode tutorials on the net.
While you are at the Mac of your son, have also a look into the terminal, and browse through the userland hierarchy, for finding out how similar everything is here compared to the FreeBSD userland.
Best regards
Rolf