David Weller discusses what it's like to program on a Mac. Back when I was a Mac user, I desperately wanted to write some programs. The barrier to entry was huge. I didn't know C++, didn't know Java, and still don't know Objective C (and don't care to ever learn). There was AppleScript and that is where I wrote all my stuff. Later I learned Java (in college), but all that really taught me was what object oriented programming was about, and for that I'm forever grateful. However, I still couldn't do anything with Java on a Mac because the JVM sucked big time. Not to mention Java apps looked funny with all their non standard controls.
Anyway, this little company called REALSoftware came out with a product called REALBasic and I was hooked. For many years after that I wrote a bunch of stuff using REALBasic, and wrote most of my prototypes for Outlook Express and Entourage with that application. Then, I discovered .NET, Visual Studio and have been hooked since. I think the pivital moment for me, the one where I thought I could no longer work on the Mac was when I went to the PDC in 2003. It opened my eyes.
When OS X came out I took a look at the various products for writing code, and pretty much felt the same way as David. I was just perplexed. None of it was intuitive to me. Thankfully Apple has realized it has a good thing with AppleScript and has continued to invest in that platform. I hear that Mono is doing pretty well on Mac OS X these days, and if they can get Windows.Forms support that would rock.
My good buddy Mike Fullerton has been writing Mac software for most of his life. He has been around the block, writing games for big game developers, working on one of the first "Frameworks", MacApp, is published in MacTech, and then spending almost 7 years working on MacIE, MacOE, and Entourage. Recently Mike started working on the Hotmail team and it's fascinating to talk to him about writing .NET code. We joke that he thinks it's so "easy". I hope he writes more on the topic some day, as he has an awesome perspective. Not too many developers go this path.
[update: corrected PDC date]