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

- No namespaces. Two letter prefix hack from the old C days - Still makes use of a preprocessor - Slow compilation times - The way properties are declared just feels like an hack - Automatic memory management extensions (GC & ARC) feel like an hack - You need a Mac to properly learn it. gcc+GNUStep don't really count.


Namespaces would be nice, however I wouldn't drop the preprocessor; it's just too damn useful for code generation.

I haven't noticed slow compilation times. A 20MB codebase (big by iPhone standards) takes 40 seconds to clean compile on my mbp. (Xcode's indexing behaviors, on the other hand, leave MUCH to be desired).

Properties don't feel hacky to me; The @ syntax is a good compromise for preserving C compatibility while introducing more powerful constructs. Same goes for GC and ARC.


> You need a Mac to properly learn it. gcc+GNUStep don't really count.

Out of curiosity, why not? You don't get the Cocoa/Cocoa Touch APIs, but those frameworks are independent of the language itself. Relying on them is akin to saying you can't properly learn C++ without Qt, or Ruby without Ruby on Rails.


Cocoa and Cocoa Touch are integral to being paid for Obj-C, and they're by far the hardest part of it.

Learning objective-c, especially if you already know C, is pretty easy. The syntax is a bit weird but not hard, then you've got a few quirks and stuff, but fundamentally you can build a working model of the language in half a day tops if you're already a developer.

Understanding Apple's conventions (libraries, memory management, etc...) and merely knowing where to find the stuff you need in the doc, that's what take time. Cocoa is huge and is a complex beast, even if you don't dive into the C "Core*" stuff and remain at the NS/UI levels.


Except for the last part, all the others are really really minor gripes...




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

Search: