| Didn't see a single explanation of why the language deserves my love. Let's see. * The language is verbose. * Practically speaking, it's only used to developer for two platforms (OSX and iOS). * The frameworks for those platforms are MEGA verbose. * The memory management model for the iOS platform is not GC, and it's not manual management. Frankly I found manual management of memory simpler than retain/release. And the autorelease pool? That's just wrong. * Typically speaking back to two files per class. * Doesn't have any functional elements to it whatsoever. Any manipulation of collections = instant development velocity kill. * Typically have to deal with two different kind of strings (NS versus C). So for now, yep, I still hate ObjectiveC. |
The memory management model for the iOS platform is not GC, and it's not manual management. Frankly I found manual management of memory simpler than retain/release. And the autorelease pool? That's just wrong.
retain/release + autorelease pools solve the ownership problem inherent in manual memory management system. You can return a heap allocated object from your function/method and neither you nor the caller have to be concerned about how it will be cleaned up.
Not sure what's wrong with that solution -- I've even implemented/used an equivalent implementation for pure C code.