Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The only significant thing missing from Objective-C itself is garbage collection, I think (which completely changes the game on Mac OS X). Blocks work, of course, and besides that, Objective-C doesn't actually add that much to C (that's sort of the point).

The Cocoa APIs are, of course, fairly incomplete. From a quick Google search, they don't seem to have finished Core Data, and I'd imagine things like Core Animation are quite a ways off. Then, there's the integration problem. People that are likely to develop with an alternative implementation of Cocoa are likely to be "Mac people", that is, user interface evangelists (Lion's iCal design aside). GNUStep apps don't fit in with Gnome, or KDE, or, well, any desktop environment that a large group of people care about.

As a person (admittedly, I'm just a student) that has developed both in Cocoa and GTK+, I've found convincing myself to work on my GTK+ projects to be a chore. To put it only somewhat mildly, Cocoa is probably the best framework I've ever used. Want something to smoothly slide to the left? You can do that, in one line of code. Want to pull down some data from the web and parse the XML response, all in a background thread? That's easily achievable with Cocoa, and you don't even have to think about the threading issues. It just happens.

GTK+ et. al. are, of course, open source projects. They're created by volunteer developers (let's leave Red Hat out of this, for convenience). In the end, though, does it matter to developers? Cocoa is fun. GTK+ has mostly directed me into hours of reading C API documentation while I'm writing code in languages that are not C.

I'm not really sure where I intended to go with this - it has little to do with the original post, which I think is an incredibly impressive piece of work, solving a task that make my API and UI concerns seem like minor squabbles.



GNUStep also has garbage collection (albeit Boehm, not the same as the collector in OS X). Yes, it is missing from the language, but it doesn't make OS X special. And all that needs to come along is a version of GNUStep that fits in with the desktop environment on a platform before people start developing for it.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: