Я думаю, что это связано с наследием Smalltalk.
Кроме того, вы могли бы сказать, что выделенные из стека объекты являются особенностью C ++. Очень немногие другие языки делают это, и в основном как низкоуровневая оптимизация для компилятора. В C ++ это разумно, так как одна из заявленных целей должна была быть точно такой же производительной, как простой C.
Почему вы чувствуете, что это противоречит тому факту, что Objective-C - это супер-набор C? В конце концов, обычный C не может ни размещать объекты в стеке ... ни где-либо еще. struct
s, OTOH, разрешены в стеке, как на C, так и на Objective-C