Gordon Monro home
Link to News page
Link to Gordon Monro's blog
Link to Downloads page
Link to Bio page
Link to GommoG page
Link to Music page
Link to Images page
Link to list of pieces
Link to Talks page
Link to list of CDs
Link to Archive page
Link to contact info
Link to search box

Comments on Mac OS X

For ten years or so I used Linux for all my programming. This was fine while I was doing non-real-time programming on a desktop machine and the output was a CD or, more recently, a DVD. In the case of a DVD like that for Dissonant Particles I generated still images and sound under Linux, and used commercial programs under Windows to create a movie and get it onto DVD.

Then I bought a laptop, and started to think about real-time programming for installations and live performance. I ran into two problems with Linux on my laptop:

  • Driver problems, especially for video and TV out.

  • For installations, the inability to send someone in another city/country an executable.

So  I started experimenting with Macintosh programming, and decided to change programming platforms to the Mac.

Advantages of Mac OS X (for me, now)

  • Driver problems very much reduced.

  • There is a Unix underneath, so much of the environment is familiar to me, and some toolkits I have been using (such as PortAudio) transfer directly across to Mac OS X. I was already programming using OpenGL.

  • The development tools are free. (Of course, this was always true with Linux; Microsoft make light-weight versions of their tools freely available.)

  • I had been considering what to use to create user interfaces (until now my programs were only used by me, and ran from the command line) and the Mac solves this problem with Interface Builder and Cocoa.

  • Everybody I know has a Mac, and the parts of the arts world I have been in contact with are heavily Mac-oriented. So I can send executables to people.

Possible disadvantages of Mac OS X

  • Back into a proprietary world, though at least the lowest level of OS X is open source.

  • A lot to learn, and choices to make. I am using Objective-C++, which is a weird hybrid, but since I want to write CPU-intensive things which work with Cocoa, this is apparently what I need to be using.

  • It does cut me off from the Windows world, but I have essentially never programmed for Windows anyway, so I'm no worse off.

I briefly considered Java, but I have prior experience with C++. I also don't know anything about 3D graphics on Java, and I'd like to stick with OpenGL. It isn't clear to me that I can write truly portable programs in Java that would do what I want, without requiring massive downloads of libraries, etc. from the user. From that point of view the fact that Apple keeps fairly tight controls on its hardware and software environments is an advantage.

The logical follow-on from the last comment is to write for a games platform, I suppose. I haven't investigated that at all.

No flames please

People do become very worked up about operating systems and issues surrounding open source. I have a preference for open source, but not to the extent of stopping myself from doing what I want to do.

Constructive comments are welcome, as is information on any factual errors implied in my comments here.


horizontal rule

© Gordon Monro 2005-7.       Last modified: November 12, 2007.
Home page:
Email: