Archive for June 16, 2010

Wednesday, June 16, 2010

Copland 2010 Revisited

John Siracusa:

The fate of individual competitors aside, the fact that the most dangerous players are all coming out of the gate with languages and APIs a generation ahead of what Apple offers should be a huge warning sign. And again, this is all happening in the memory-starved, CPU-constrained mobile world. On the desktop, Apple is even farther behind.

This is not to say that Cocoa isn’t a great framework or that Objective-C isn’t very good for what it is. However, I think Siracusa is right that there’s a bit of groupthink and complacence at Apple and in the community. There’s a world out there where properties, blocks, and garbage collection are not shiny new toys.

Objective-C does have garbage collection now, but I still read about showstopping bugs in the GC versions of the frameworks. And, of course, any code that might be shared with an iOS app needs to be written with manual memory management. So, practically speaking, garbage collection cannot be the default choice today.

This all reminds of Jonathan Rentzsch’s recent points that (1) developers in the Apple community are great at focusing on user experience but that there is too little concern for the lower levels, and (2) that Section 3.3.1 limits engineering innovation to what Apple is able and willing to provide.

Update (2010-06-19): Jesper thinks that Apple is working on a new language to surpass Objective-C.