Working with Tables: Writing an Address Book Application
Subject:   Off topic questions
Date:   2001-08-13 22:47:00
From:   canyonrat
I suppose everyone noticed that you can't send an array message to an NSMutableDictionary class object and have it work?

Should there be an @private directive at the start of the instance variable declarations in Controller.h to indicate it's a concrete class? Does ObjC use some other convention to disclose the author's intention about whether the class is concrete or abstract?

I notice that ObjC programmers tend to declare public accessors for everything and use messages to self rather in preference to assignment. This does make the program flow better but it also is a very different attitude than the typical C++ programmers fetish for encapsulation. Those guys begrudge every little chink in he armor around their instance variables. I can hear them looking at typical ObjC code an sniffing, "with that many accessors it's not an object, it's just a sruct."

So who is (mostly) right? Is the ObjC style the enemy of scaling to large projects? Is the C++ style just a knee-jerk?