Tuesday, June 02, 2009

What Do People Find Challenging About Cocoa?

Stumbled on a great post by Scott Stevenson last night about what difficulties people have found while trying to learn Cocoa---What Do People Find Challenging About Cocoa?.
  1. Objective-C: 19%
  2. I Didn't Know ANSI C: 12%
  3. Cocoa is Really Big: 11%
  4. Memory Management: 10%
  5. Interface Builder and NIBs/XIBs: 10%
  6. I Was Used to Java or C++: 10%
  7. Delegates: 8%
  8. Overall Cocoa Model: 8%
  9. I Didn't Know Object-Oriented Programming: 8%
  10. Learning How Documentation is Structured: 5%
  11. Cocoa Bindings: 5%
  12. Xcode: 3%
Number 1 is no surprise---Objective-C is syntactically very different than other languages derived from C.

Items 2 and 4 are related. To be an effective programmer in C requires a fair understanding of memory. Java requires much less knowledge of memory, since pointers are not used. But it is big!

Items 5 and 12 are typical development tool issues. The more advanced the tool, the more you need to know. Apple has done a great job with Xcode, so most people can go a long way before getting stuck. The debugger has changed over the years....

Items 1 and 3 have been the biggest issues for me. I've gotten over the Objective-C hurdle for the most part, but Cocoa frameworks have a lot in them!