The closest I've come to Mac programming is to do some testing of my Java programs on my iMac and iBook to make sure they're ok.
I wrote a client-server-embedded application that has units out in the field collecting information, and relaying that to a server via TCP/IP over cell phone networks, which then displays it to logged in clients. If certain parameters are met, either at the local unit, or at some other unit, then the system can change outputs on units. This is used to control a water system between pumping stations and reservoirs. I wrote the client and server in Java, but only helped with the embedded C. I initially wrote it all on my PC, but when I switched I then made sure it all worked on my Macs.
Then I started working for a company called ICEsoft, on their
ICEpdf product, which is a Java PDF viewing library/application. You can use this to embed the ability to view PDFs inside any Java program. I mostly worked on image handling, memory and speed optimisations, supporting newer PDF file format features, and then some annotation and forms viewing. When I got my iBook, I'd bring that into work, and test ICEpdf on it. You can download and try it out for free, without any lame trial period.
Most of my time is now spent on integrating
ICEfaces with
Facelets, which are technologies for doing JSF web applications. ICEfaces adds a lot of AJAX functionality, and Facelets is a way of doing that without JSP. I've ran my code on my iBook in Tomcat 5.5.x, and tested the resulting web pages on Safari and Firefox. Right now we're gearing up for our Community Edition 1.0 release, in time for JavaOne. The software is free, even for commercial use, so you can download the existing Beta, or just wait for the official 1.0 release in less than 2 weeks.
A bunch of the guys here at work use Macs, but of course we also run things on Windows, Linux, Solaris, etc.