Ответ 1
Я нашел интервью с Brad Cox, которое, похоже, подсказывает, что квадратные скобки были для синтаксиса:
Tom Love также зачисляет себя квадратными скобками в Masterminds of Programming, но он, кажется, говорит, что это был стилистический выбор:DD: Квадратные скобки являются отличительной частью синтаксиса Objective-C. Как появились квадратные скобки и это было сделано?
BC: Да, это был я. Довольно буквально это был поиск чего-то, что не было принято. Были сделаны кудрявые скобы. Были взяты обычные круглые скобки. Это был просто поиск скобок, которые не сталкивались бы с чем-то используемым C.
Я часто называю себя парнем, ответственным за квадратные скобки в Objective-C, потому что мы с Брэдом долго беседовали. У нас есть синтаксис C, который является последовательно C, или мы создаем гибридный язык, где я описываю его как "квадратная скобка - это переход передач в объектную землю"? На наш взгляд, если бы у вас был гибридный язык, вы могли бы создать набор базовых классов, чтобы в какой-то момент большая часть работы выполнялась в квадратных скобках. Это позволяет скрыть множество деталей от типичного прикладного программиста.
Квадратные скобки являются индикацией сообщения, отправленного в Objective-C. Первоначальная идея заключалась в том, что как только вы создали набор библиотек классов, то вы потратите большую часть своего времени на фактическую работу внутри квадратных скобок, так что вы действительно выполняете объектно-ориентированное программирование, используя базовую структуру объектов, которые были разработаны в гибридный язык, который был комбинацией процедурного и объектно-ориентированного языка. Затем, когда вы начали создавать библиотеки функциональности, все меньше и меньше требовалось отказаться от процедурного мира, и вы могли остаться в квадратных скобках. Было преднамеренное решение разработать язык, который по существу имел два уровня - как только вы создали достаточно возможностей, вы могли бы работать на более высоком уровне. Я на самом деле думаю, что это одна из причин. Если бы мы выбрали синтаксис C-типа, я не уверен, что кто-то уже будет знать название языка, и он, вероятно, все еще не будет использоваться где-нибудь.