Характеристики и предимства на използването на Objective-C


На практика не съм запознат с езика за програмиране Objective-C и бих искал да чуя вашето мнение за неговите възможности в сравнение с други популярни езици днес.


По-конкретно, интересувам се от следните точки:

  1. Защо Apple избра този език като основен език за своята платформа?
  2. Кои елементи от езиковия дизайн отразяват дизайна на самата платформа Cocoa?
  3. Какви елементи на дизайна Objective-C лично харесвате, се оказват много полезни/незаменими в работата ви и които липсват в някои други езици, с които също работите?


Моля, обърнете внимание, че бих искал да чуя отговор по отношение на силните страни на Objectove-C. Разбирам, че езикът, както всяка друга софтуерна система, със сигурност има своите предимства и недостатъци, но бих искал да чуя преди всичко за предимствата.


Благодаря предварително за вашите отговори.

> 1. Защо Apple избра този език като основен език за своята платформа?

Защото Джобс дойде за втори път в Apple от Next, в който езикът беше в основата на платформата. И там той беше в основата на платформата, защото беше по-добър от останалите (в средата на края на осемдесетте). Джобс, който дойде в Apple, откри нереална бъркотия в операционната система (Mac OS 8, 9), която с години изоставаше от конкурентите си (Windows, Linux), нямаше нормална многозадачност и т.н. Затова той завлече половината от софтуерния компонент на Next, за да започне да пише операционна система не от нулата. По времето, когато Джобс се присъедини към Apple (1997), C ++ не беше много по-добър от Objective C (проблеми с ABI, проблеми с метапрограмирането и т.н.), така че дори тогава нямаше смисъл да сменяме шилото на сапун.