Почему Apple использует цель C?

Почему Apple решила использовать Objective-C для iPhone SDK, а не С++?

Мне кажется странным, что они не выбрали бы более популярный язык, чем Objective-C. Это потому, что хотел иметь что-то уникальное в своем приложении, которое вообще не используется вообще?

Ответ 1

Apple слилась с NeXT в 90-х, а Mac OS X была сделана из операционной системы NeXT NeXTSTEP. Objective-C был официальным языком рамок приложений NeXTSTEP, который стал Mac OS X Cocoa. Затем Mac OS X адаптировалась к ОС iPhone, а Cocoa была переведена в Cocoa Touch. Objective-C довольно хорошо прошел весь путь, и многие функции Cocoa были бы трудно перевести на С++.

По сути, все это происходит от NeXT.

Ответ 2

Цель C началась в 1983 году, я считаю, созданной Брэдом Коксом и Томом Лав. Идея Objective-C заключалась в том, чтобы принять чистоту и низкий уровень управления C и объединить это с истинными объектно-ориентированными функциями, которые позволят компаниям настраивать системные библиотеки, которые могли бы связываться с OOP-уровнем Obj-C. По сути, это сработало. Obj-C является строгим надмножеством C, в отличие от С++, который является большей частью C, но со многими различиями.

Когда Стив Джобс основал NeXT Computer (1985), он привел часть своей бывшей команды Apple и других. Его лучшие программисты были заинтересованы в использовании языка, который расширялся на C с одинаковыми преимуществами скорости и системным управлением. Они выбрали Objective-C. NeXT в конце концов написал много библиотек и методов для базового языка. Все это начинается с NS для следующего шага. Это было название ОС NeXT. К 1989 году операционная система Next Step была значительно превосходит MS Windows или Mac OS, и многие компьютерные компании хотели ее лицензировать плохо. Джобс просто не хотел идти в этом направлении.

Как только Apple разбудила и вернула Стива Джобса обратно в фолд (1996), вливание операционной системы следующего шага в новую Mac OS X действительно стало ключом к Apple, возрождающему свое программное обеспечение и его стратегию программирования.

В то время как С++ остается по-настоящему отличным и мощным языком, я обнаружил, что Objective C имеет меньше недостатков (только мое мнение), и Apple продолжала работать над библиотеками Cocoa, что сделало язык Obj-C по-настоящему современной мощью с основами C, Это лучше, чем Java? Не уверен. Но для чего он в первую очередь предназначен для (Mac OS, iOS), это удивительно хорошо, если немного чересчур многословно.

Самая большая критика Obj-C - синтаксический стиль, но любой программист, который действительно изучает язык, быстро узнает о своей удивительной силе и без видимых подходов со всеми вещами Mac, iPhone, iPad.

Будут ли какие-либо другие платформы в конечном итоге принимать Obj-C? не уверен, но сомнительно. Но библиотеки Cocoa поистине замечательны.

Ответ 3

Это потому, что Objective C был де-факто языком для разработки Mac OS X до того, как он был Mac OS X. Когда Джобс покинул Apple для настройки NeXT, язык Objective C был разработан как особый язык, который не был С++ и избегал многих своих подводных камней. Поэтому имеет смысл, что любое портативное или бытовое оборудование (в том числе Apple TV) использует Objective C в качестве основного языка разработки и при необходимости снижается до уровня C, когда это необходимо для проблем производительности или интерфейса.

Ответ 4

Objective-C добавляет объектно-ориентированное программирование в C. Он использовался для NeXT, на котором выведено много OSX. Он поддерживает все C и проще, чем С++.

http://discussions.apple.com/thread.jspa?threadID=2091191

Ответ 5

Обратите внимание, что Objective-C не является новым языком. Это было с 1986 года - задолго до Java или С#!

Это было в общем случае с тех пор, как NeXT, многие приложения реального мира вокруг этого используют его.