Nice tidbits in Leopard 8
As many have blogged about, Apple has posted a rather hefty list describing all 300 new features of Leopard. Some specifics that really got the coder in me excited:
(Highlighting emphasis all mine)
Cocoa BridgesUse Ruby and Python as first-class languages for building Cocoa applications, thanks to Objective-C bridges as well as full Xcode and Interface Builder support.
Scripting Bridge
Use Objective-C, Ruby, and Python programs to automate Mac applications. The new Scripting Bridge enables them to easily generate AppleEvents using a concise, AppleScript-like syntax.
Create Instruments with DTrace
Monitor system activity from high-level application behavior down to the operating system kernel, all thanks to the power of DTrace and the instrument builder.
DTrace
Monitor virtually any aspect of your application with DTrace, integrated into the Darwin kernel. Java, Ruby, Python, and Perl have also been extended to support DTrace, providing unprecedented access for monitoring the performance characteristics of those languages.
While some of the things can be done now (There’s PyObjC to use Python with Cocoa), the tighter integration of Python and Ruby into Leopard make it a very appealing upgrade (Even though I rather hate the new semi-transparent menubar and odd shelf nature of the Dock).






The Python/Cocoa bit almost certainly IS just PyObjC, bundled with the system. Likewise for the Ruby equivalent.
Jon is correct: Leopard uses PyObjC 2.0 and RubyCocoa (1.0?).
BTW, PyObjC and RubyCocoa are both open source projects and already freely available for Tiger and can be easily embedded in application bundles for distribution, so you don’t need to wait for Leopard in order to use them. There’s also appscript for automating AppleScriptable applications from Python, Ruby and ObjC on Panther and later.
The DTrace stuff sounds interesting, although it’s not clear from that page if the Java/Perl/Python/Ruby support is limited to the Apple-installed versions or if these extensions will be added to the standard distributions as well. Hopefully it’s the latter, but I guess we’ll find out soon enough anyhow.
Awesome, gotta love how Apple claims its a feature of Leopard. :)
Is the XCode and Interface Builder support it references from PyObjC as well? Or did they actually build something extra there?
“Awesome, gotta love how Apple claims its a feature of Leopard. :)”
To be fair to Apple, they have been helping with recent PyObjC and RubyCocoa development (e.g. one of project leaders for RubyCocoa is an Apple engineer), and it’s also great to see them giving their official blessings to these projects. It is a bit cheeky of Apple to fudge their pitch to sound as if Leopard is including completely new technologies that have never been available before though, but hey, that’s marketing for you.
“Is the XCode and Interface Builder support it references from PyObjC as well? Or did they actually build something extra there?”
I know Xcode 2 already supports Python syntax highlighting and PyObjC has included Xcode templates for a while now, but I would imagine the Xcode and PyObjC devs have been making improvements there too. Anyway, we’ll find out next week.
... is Java 1.6 mentioned anywhere?
I have “heard” that it will be 1.6…
any possible without Java?
maybe even 1.7