Archive for December 8, 2008

Monday, December 8, 2008

On Leaky Abstractions and Objective-J

Francisco Tolmasky:

Everybody is writing “abstractions” around JavaScript…I mean EVERYBODY, including Prototype, Dojo, and jQuery. Yes, you read correctly, all the major JavaScript frameworks are essentially doing the same thing we are to some degree or another—we’re really not that original. The sole difference between their approach and ours is that when they add new language features to JavaScript, they’re not taking the extra step of introducing new syntax.

He goes on to explain that they chose Objective-C syntax not because they were targeting Objective-C programmers but because they faced the same issues extending JavaScript that Stepstone faced 25 years ago extending C.

From C++ to Objective-C

From C++ to Objective-C (PDF) looks like a concise and useful book for experienced programmers who want to learn about Objective-C (via John Haugeland). Unlike the various paper books I’ve seen, it isn’t full of step-by-step example projects. Unlike Apple’s book, it has lots of comparisons with C++ and advice about common techniques. However, it could use some technical review. For example, page 25 cites Wil Shipley’s incorrect recommendation to avoid self = [super init]. In fact, this idiom makes sense and is recommended by Apple.