суббота, 22 февраля 2014 г.

Objective C

Статья №2


Юрий “yurembo” Язев


Написанная мною полгода назад заметка: “Game development and OS research” (http://yazevsoft.blogspot.ru/2013/08/game-development-and-os-research-26.html), признаю, была, в некоторой степени, поспешным выводом относительно языка Objective C, да, и с Apple-технологиями я подружился. Просто, в моем случае процесс “акклиматизации” к новым технологиям, как всегда затянулся. Ну, неспроста, десятилетиями использовать IBM PC + MicroSoft (подчеркиваю слово софт от Microsoft) и за месяц перейти во вражеский лагерь, задача не простая, чисто со стороны убеждений.
В общем-то, поэтому я решил высказать мысли по этому поводу в своем блоге, на хрен, он еще нужен, только, чтобы мысли постить.
Главная неприязнь у меня была к языку программированию Objective C. Но некоторое время спустя, разобравшись с ним, оказалось, что он не так уж плох. По большому счету:
-Нужен ли нам еще один язык программирования?
-Да, давайте 2!
Интересно ведь изучить, пускай не новое, но ранее не известное. Чисто для веселья, однажды, я изучал полу академический язык программирования SmallTalk. Почему полу-? Дак, ничего существенного на нем не разработано, зато его влияние на ООП, как на научную дисциплину и его практическое использование бесценно. Тем самым, SmallTalk повлиял на все современные языки программирования в последние 30 лет. И, Objective C не стал исключением, напротив, он еще ближе к SmallTalk, чем, скажем, C++. Так, например, в Objective C за место точечной нотации для вызова метода объекта используется подобная SmallTalk’у конструкция посылки объекту сообщения:
[car drive];
Но дело даже не в этом. А в растущем интересе заказчиков и, следовательно, программистов к этому языку. И, хотя, созданы разнообразные средства для разработки приложений под Аппловские платформы, позволяющие избежать использования Objective C (например, Java, Xamarin и др.), этот язык любят Mac-кодеры, потому, что в отличие от узкоспециализированных фреймворков, Obj C предоставляет доступ ко всему механизму операционных систем Mac OS X и iOS.
Разрабатывать игры на Objective C мне пока не доводилось, так как существуют прекрасные кроссплатформенные движки (довольно узкая специализация - см. выше) для разработки игр под Mac OS X, iOS на C++ (среди чего отмечу свой любимый движок Torque 2D). Однако, для Obj C есть порт движка Cocos 2D, исторически появившейся раньше, чем для C++. Но это другая история…
В заключении мысли, порекомендую почитать мои статьи о языке Objective C в журнале “Хакер” (в апрельском номере ожидается первая статья цикла).

Комментариев нет:

Отправить комментарий