PyObjC in, Cocoa-Java out

The Apple Developer Connection recently posted what looks like a nice introduction to PyObjC. It’s even got QuickTime movies showing how to work with Interface Builder. Cool. The enthusiasm on the page is palpable:

PyObjC’s maturity is unmatched - it’s been around longer than even Apple’s Java bridge (it originated on NeXTstep).

Meanwhile, in case you missed it, the Cocoa-Java bindings are deprecated:

Features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface. Therefore, you should develop Cocoa applications using Objective-C to take advantage of existing and upcoming Cocoa features.

This is a watershed moment, I think. Python is a language Apple enthusiastically endorses for building Cocoa apps, while Java is emphatically not. Wow.

Apple’s taking a gamble here. I imagine that among other factors they expect to get better, more Mac-like applications via PyObjC than Java. This will rankle the Java folks, of course. And when we see the first official tutorial on the Ruby-ObjC bridge the rioting will start. But Apple’s never been particularly averse to pissing off developers – often to the company’s detriment. I hope this works out happily.

Norman commented on Thu Aug 18 09:15:50 2005:

I wonder if this could presage a step only mildly less dramatic than the Intel switch - moving from Applescript to Python?

Paul commented on Thu Aug 18 18:55:59 2005:

Interesting suggestion. Seems unlikely, given recent developments like Applescript Studio. Java bindings languished for quite a while before being deprecated. But if they did decide to do it, the proof of concept is there in Appscript