Конечно, если все, что вы видели в своей жизни, - это Objective C, то его синтаксис выглядит единственно возможным. Мы могли бы назвать вас «девственницей программирования».
Но поскольку много кода написано на C, C ++, Java, JavaScript, Pascal и других языках, вы увидите, что ObjectiveC отличается от всех них, но не в хорошем смысле. Была ли у них на это причина? Посмотрим на другие популярные языки:
C ++ добавил к C много дополнений, но изменил исходный синтаксис лишь настолько, насколько это было необходимо.
C # добавил много дополнительных функций по сравнению с C ++, но изменил только то, что было некрасиво в C ++ (например, удаление символа "::" из интерфейса).
Java изменила много вещей, но сохранила знакомый синтаксис, за исключением тех частей, где это изменение было необходимо.
JavaScript - это полностью динамический язык, который может делать многое, чего не может ObjectiveC. Тем не менее, его создатели не изобрели новый способ вызова методов и передачи параметров только для того, чтобы отличаться от остального мира.
Visual Basic может передавать параметры не по порядку, как и ObjectiveC. Вы можете назвать параметры, но вы также можете передать их обычным способом. Что бы вы ни использовали, это обычный способ, разделенный запятыми, который все понимают. Запятая является обычным разделителем не только в языках программирования, но и в книгах, газетах и письменной речи в целом.
Object Pascal имеет синтаксис, отличный от C, но его синтаксис на самом деле ЛЕГЧЕ читать для программиста (возможно, не для компьютера, но кого волнует, что думает компьютер). Так что, возможно, они отклонились, но, по крайней мере, их результат лучше.
У Python другой синтаксис, который даже легче читать (для людей), чем Паскаль. Поэтому, когда они изменили его, сделали его другим, по крайней мере, они сделали его лучше для нас, программистов.
И затем у нас есть ObjectiveC. Добавлены некоторые улучшения в C, но изобретен собственный синтаксис интерфейса, вызов методов, передача параметров и многое другое. Интересно, почему они не поменяли местами + и -, так что плюс вычитает два числа. Было бы еще круче.
Стив Джобс облажался, поддержав ObjectiveC. Конечно, он не может поддерживать C #, что лучше, но принадлежит его худшему конкуренту. Так что это политическое решение, а не практическое. Технологии всегда страдают, когда технические решения принимаются по политическим причинам. Он должен возглавить компанию, что у него хорошо получается, а вопросы программирования оставить настоящим экспертам.
Я уверен, что приложений для iPhone было бы еще больше, если бы он решил писать iOS и поддерживать библиотеки на любом другом языке, кроме ObjectiveC. Всем, кроме убежденных фанатов, девственных программистов и Стива Джобса, ObjectiveC выглядит смешно, уродливо и отталкивающе.