Symphonious

Living in a state of accord.

The Myth Of Cocoa Apps

There's this myth that's existed ever since the beginning of OS X – that Cocoa apps are automatically better than any other type of application. They use less RAM, run faster and are just all round better – you can't dispute it. If you take a lousy carbon app and rewrite it in Cocoa it will become amazing and all it's problems will be solved.

This is of course, complete and utter bull.

The latest person to buy into that theory is Paul Stamatiou with his review of VMWare Fusion:

Fusion was built from the ground up in OS X’s native programming environment, Cocoa, and as such Fusion benefits from speed increases and lower memory overhead. The use of Cocoa in the development of Fusion also means that Fusion puts less strain on your computer than any other virtualization product at this point.

Actually, Cocoa requires Objective-C which is a much higher level language than pure C and with every level of abstraction comes increased memory usage and slower performance1.

Cocoa is a great framework and it makes developers a lot more productive but it's not some magic bullet that makes an application fabulous. Yes, it's easier to create a really "Mac-like" application with Cocoa than with Carbon or other frameworks, but from an end user's point of view it just doesn't matter whether or not the application is Cocoa. Let's get over it and move on.

See also:

1 – not that you shouldn't use Objective-C, it just won't magically make your code faster

Category: Apple