Ich stimme dir zu was die APIs angeht. Der Aufbau basiert auf einer anderen Idee. Das Problem mit der Schreibarbeit sehe ich nicht so streng. Da ja fast jeder Xcode nutzt und die Intelligente Vervollständig sehr gut ist, kann man selbst variablen wie isInTheMiddleOfSentenceButThereIsStillNoAldinsysStringInTheText sehr flott schreiben. Dadurch dass es lesbar ist, fällt die etwas erhöhte Menge an Code nicht so ins Gewicht.
Das man Pointer nutzt, mag man zwar beim Schreiben von Code nicht so stark merken, aber spätestens beim Debugging fällt es auf, dass man es mit Pointern auf die Objekte und nicht mit den Objekten direkt zu tun hat. ARC übernimmt aber endlich den ganzen nervigen Kram, der mich bei Pointern immer störte. Memory Leaks tauchen bei mir zum Glück nur sehr selten auf.
Ich muß sagen, daß ich ObjCs Funktionsnamen viel angenehmer finde als die in Java, einfach wegen der expliziten Parameterbenennung. Wenn man ObjC-Funktionsnamen als Sätze auffasst, anstatt als Verben wie in anderen Sprachen, machen sie viel Sinn.
Vergleichen wir mal, wie ein Beispielaufruf in verschiedenen Sprachen aussehen würde:
Ich finde ObjCs direkte Zuweisung doch recht angenehm.
Und Zustimmung bei "die APIs sind gut durchdacht". Objective-C hat eine hervorragende, gut dokumentierte API (zumindest, wenn man XCode benutzt).