Звичайно, якщо все, що ви бачили у своєму житті, є ціллю C, то її синтаксис виглядає єдино можливим. Ми можемо назвати вас "незайманою програмісткою".
Але оскільки багато коду написано на C, C ++, Java, JavaScript, Pascal та інших мовах, ви побачите, що ObjectiveC відрізняється від усіх, але не в хорошому сенсі. Чи мали для цього причину? Давайте подивимось інші популярні мови:
С ++ додав багато додаткових можливостей до С, але він змінив початковий синтаксис лише настільки, наскільки це було потрібно.
C # додав багато додаткових функцій порівняно з C ++, але змінив лише те, що було потворно в C ++ (наприклад, видалення "::" з інтерфейсу).
Java багато що змінила, але вона зберегла звичний синтаксис, за винятком частин, де потрібні зміни.
JavaScript - це повністю динамічна мова, яка може робити багато речей, які ObjectiveC не може. І все-таки його творці не винайшли нового способу виклику методів та передачі параметрів лише для того, щоб відрізнятися від решти світу.
Visual Basic може передавати параметри не в порядку, як і ObjectiveC. Ви можете назвати параметри, але також можете передавати їх звичайним способом. Що б ви не використовували, це звичайний спосіб, відокремлений комами, який всі розуміють. Кома - це звичайний роздільник не лише в мовах програмування, але й у книгах, газетах та письмовій мові загалом.
Об’єкт Pascal має інший синтаксис, ніж C, але його синтаксис насправді легше читати програмісту (можливо, не комп’ютеру, але кому цікаво, що комп’ютер думає). Тож, можливо, вони відступили, але принаймні їх результат кращий.
Python має інший синтаксис, який навіть легше читати (для людей), ніж Pascal. Тож коли вони змінили це, зробивши його іншим, принаймні вони зробили це кращим для нас, програмістів.
І тоді ми маємо ObjectiveC. Додано деякі вдосконалення в C, але винайдено власний синтаксис інтерфейсу, виклик методу, передачу параметрів і ще ні. Цікаво, чому вони не поміняли місцями + і - так що плюс віднімає два числа. Це було б ще крутіше.
Стів Джобс зіпсувався, підтримавши ObjectiveC. Звичайно, він не може підтримати C #, що краще, але належить його найгіршому конкуренту. Тож це політичне рішення, а не практичне. Технологія завжди страждає, коли технічні рішення приймаються з політичних причин. Йому слід керувати компанією, що йому вдається, і залишити питання програмування справжнім експертам.
Я впевнений, що додатків для iPhone було б ще більше, якби він вирішив писати iOS і підтримувати бібліотеки будь-якою іншою мовою, крім ObjectiveC. Для всіх, крім завзятих шанувальників, незайманих програмістів та Стіва Джобса, ObjectiveC виглядає смішно, потворно і відразливо.