Snow Leopard, a bargain at twice the price! 2009/08/28
I’ve been using Snow Leopard as my primary OS since WWDC’09 and regularly informing my fellow Omni Groupies that many of the individual features are worth $30 by themselves. They don’t disagree with this sentiment, but I think they might have an issue with the volume of my proclamations.
Today is Snow Leopard release day, and I can finally shout publicly about the amazing work in Snow Leopard! Each of these are going to make development easier and will result in more powerful Mac OS X apps for our users.
First, there are some huge new technologies for developers that will enable entirely new types of applications:
- Blocks. This has been out of the bag for a while now, but it will be years until the full effect of this enhancement is in force. Never has ^ been a more loved character.
- Grand Central Dispatch. Hand in hand with blocks, this is a new way to make efficient use of multicore systems. This will lead to easier development of applications that use all the power in your Mac.
- OpenCL. If taking advantage of up to 16 cores in your Mac wasn’t enough, how about running the same code on your GPU. Or several GPUs and all your CPUs?
- Clang/LLVM. Amazingly good compiler infrastructure, including a new front-end, static code analyzer, better code generation, and faster builds. If you haven’t run the clang static analyzer on your code, you have bugs. I don’t know how many, but it isn’t zero.
There are also a ton of improvements to existing features. Each of these is worth the piddly $30 Apple is asking for this update:
- Xcode is improved in so many ways, I can’t even think about going back to 10.5.
NSImage
/CGImage
impedance mismatch cleanup andCALayer
support forNSImage
content.- Per-thread garbage collection!
- ObjC associated storage. This can be used for good|evil, but when you need it, you really, really need it.
- Smart quotes, URL-ification, and more Text Checking support that will let us delete load of code.
- NSPasteboard/Services has a much cleaner API and vastly improved user experience. Also, there was a song…
- A whole ton of new CALayer subclasses that handle fiddly jobs for us.
CALayer.geometryFlipped
. Now you can do flipped content reasonably in CoreAnimation!-[CALayer needsDisplayForKey:]
. Now we can easily add our own properties that animate the content of layers- GPU-dependent
CALayer
size restrictions lifted. This still seems too good to be true. - Sudden Termination: Apps that opt into this will quit immediately when they have nothing to save on logout/shutdown.
NSFileManager
rewrite. One of the cruftiest classes gets some much needed love, and some great new features like incremental writing.NSURL
“bookmark” support — easy aliases for everyone!- Concurrent document opening. If an app takes advantage of this, it can avoid hanging when opening a large document.
These are just a few of the things we’ve already benefited from or that we’ve been looking forward to for years. Beyond this, a search of the system headers for 10_6
is a seemingly never-ending litany of features developers have wanted for years and reading the release notes is a trip into the future.
Congratulations and a hearty “Thank you!” to everyone at Apple and all the developers submitting bug reports over the years!
blog comments powered by Disqus© 2012 Tim Wood