I was reading some iPhone docs last week – specifically, the Cocoa Fundamentals Guide, and I came across this remarkable statement:
Programming becomes largely an exercise in assembling the programmatic components that Cocoa provides along with the custom objects and code that define your program’s particular logic, then fitting the whole assemblage together.
Taken literally, this would make Cocoa one of the worst frameworks in the history of software. What a developer actually wants is a framework that makes programming (almost) entirely a matter of creating the raison d’etre of his product. Such a framework should require that only a minimum of time and effort be spent creating “boilerplate” functionality.
Apple’s quote claims that Cocoa offers quite the opposite experience; programming will be largely about mucking around with the framework, and only a minority of development time will be spent creating the “program’s particular logic”. Since no framework can make it easier to build the unique parts of a program, the quote can only be true if the framework is incredibly difficult to work with.
Fortunately, it appears that the docs are wrong.