Mac OS X Snow Leopard

Snow Leopard
Ars Technica has an excellent review of the new Mac OS X version recently released – Snow Leopard. As they say, Snow Leopard is all about the internal changes to the operating system, and there’s some really exciting stuff going on under the hood that will be very useful in the future. Here’s my thoughts on some of the things brought up in the article:

Quicktime X

Quicktime X in an interesting new feature. Quicktime is a rapidly aging framework that is way past its prime, and Quicktime X is here to completely replace it. Quicktime X is, I’m sure, going to be a very good, modern, 64 bit multimedia framework in the future, but for now it’s fairly underpowered. Why are Apple throwing it in already then? Well for a while now, Apple have provided an Objective-C interface to Quicktime for applications to start moving over to the new architecture. Quicktime X now works with this interface, but transparently uses Quicktime 7 to do a lot of its internal processing. This means that applications can work with full functionality through the transition to QT X, and there won’t suddenly be hundreds of applications that just stop working when Quicktime 7 is completely pulled (which will likely be Mac OS X 10.7). Therefore, it is a good move on Apple’s part to put Quicktime X in in my opinion.

Clang

To me, Clang is probably the most exciting thing about Snow Leopard. Although GCC is still the default compiler for C languages on the system, now Mac OS X ships with the Clang compiler (which is a front end to the LLVM virtual machine project) and is recommending that developers switch to it. This is very cool, because not only is Clang heaps faster than GCC, it is also a much more modern architecture, has far better error reporting, and makes faster executables. The biggest downside though is that Clang’s C++ support is in its fairly early stages, but Apple (who have hired most of the developers of the LLVM and Clang projects) has said that they are aiming for full C++ compatibility for the compiler.

OpenCL and Grand Central

OpenCL and Grand Central are pretty exciting as well, and have the potential to really speed up the whole Mac OS X system. OpenCL allows developers to easily code applications that take advantage of the computer’s graphical processing unit, or GPU. This is one area where Apple’s investment in LLVM will really pay off – the OpenCL code will be compiled to bytecode, and LLVM will be used to generate code to run on the GPU if it is available, or on the regular CPU if not. Grand Central will make it far easier to program for multi threaded environments too, with a lot less overhead than regular POSIX threading.

All in all, Snow Leopard brings some massive changes under the hood that will allow developers to make much higher performance applications, and provides some better APIs to do so than we have seen in the past, with a few nice user-visible features thrown in to make the (extremely cheap) upgrade seem more worthwhile to those who don’t realise how much of a massive architectural advancement it is. I’m looking forward to giving it a spin.

Leave a Reply