The Ultimate Business Machine - Archives
List of Categories : Commentary * Database * Singapore * Technology * Travel *
Wed 23 Feb 2005
Cocoa, AppleScript Studio, Objective-C, and Java
Category : Technology
We've now created material for three courses - Java on Mac OS X, AppleScript Studio, and Objective-C. We've now done Java on Mac OS X and AppleScript Studio a few times each, improving the material with each round.
On reflection, I think probably the best entry point for learning Mac OS X programming is through AppleScript Studio. This is because, with just a modest investment of effort in learning how to use the tool, you can start to get quite a lot of useful things built with it.
Then, while working with AppleScript Studio, you're also getting familiar with all the commonly used Cocoa objects (like windows, buttons, check boxes, radio buttons, menus, etc), and learning that there is a pattern to using them.
So, you might end up with a lot of things you can use (that you built with AppleScript Studio), that are probably slower than if you built them with Objective-C, but which do the job reasonably well. These are like protoypes and proof-of-concepts.
Then, the day may come when you're ready to get them more professionally done. And you may be ready to pick up Objective-C. After all, you already know how to find your way around Xcode and Interface Builder. And Cocoa.
I'm starting to think that learning Objective-C is not such a fearsome prospect (at least for "normal" people) after all. It used to be, in pre-OS X days, that you've got to have at least some level of technical competence to work with things like PowerPlant or MacApp, or whatever people used to build commercial OS 7, 8, or 9 applications.
Cocoa makes it possible for people who can handle 4th Dimension-type development work to really build commercial-quality applications - without the overheads that tools like 4D brings (not least the overheads associated with development software costs).
This is what I'm watching as I teach the current Obj-C/Cocoa course that I'm doing now. How fast can people pick it up?
If the idea works, that "normal" people can pick it up and develop useful stuff right away, then you can extrapolate this from it - that exceptional people are going to do some wonderful stuff with it. Give it time, you'll see some interesting things happening (as though they're not already happening), and it'll be a great time to be a Mac user.