Mac OS X

Although I have been a Mac user for over thirty years now, I have only had a small number of opportunities to develop for my favorite platform..

Swift

Programming in Swift is definitively fun. However, I have hesitated to embark on a large project using this language until now because the platform was way too unstable until the 3.0 release. I am now working on a significant Mac project in Swift and very intrigued by the potential of this language on the server.

Objective-C

For someone who has been programming in Java for the past twenty years or so, Objective-C is very interesting. It shows that there is nothing really new under the sun. Sure, Java improved the state-of-the-art in many ways (for example the garbage collection process) but many of the ideas that seemed revolutionary when SUN introduced the language had already been around for years and many of these interesting ideas had been developed by those who created Objective-C.

Cocoa

Writing an application using APIs such as Win32 or the old Macintosh toolbox is extremely painful because there are many concepts that you need to understand before even writing a single line of code. After a while you forget about it and accept it as inevitable. However, once more, Apple has surprised us all with an elegant solution that simplifies software development and makes everything else look old and inefficient. With Cocoa, writing software is fun again and much easier for beginners.

OS 9 (and prior)

After moving from the Apple IIgs to the Mac, I tried to continue working in assembly language, but that proved to be difficult, as everyone was moving to object oriented programming and most of the documentation was written for Pascal and C++ programmers. It took me some time to understand what all that was about. In fact I had to disassemble a very simple sample object-oriented program to understand the concept. However, after that exercise I fully understood the idea and switched to C++. I wrote several small programs for the original Mac OS. I remember for example writing a plug-in for SuperCard to import images from the QuickTake 100, Apple's first digital camera, but unfortunately all that code must be stored on MO drives, which I can no longer read, as SCSI is long gone.

Mac OS X