Характеристики и предимства на използването на Objective-C?
На практика не съм запознат с езика за програмиране Objective-C и бих искал да чуя вашето мнение за неговите възможности в сравнение с други популярни езици днес.
По-конкретно, интересувам се от следните точки:
- Защо Apple избра този език като основен език за своята платформа?
- Кои елементи от езиковия дизайн отразяват дизайна на самата платформа Cocoa?
- Какви елементи на дизайна Objective-C лично харесвате, се оказват много полезни/незаменими в работата ви и които липсват в някои други езици, с които също работите?
Моля, обърнете внимание, че бих искал да чуя отговор по отношение на силните страни на Objectove-C. Разбирам, че езикът, както всяка друга софтуерна система, със сигурност има своите предимства и недостатъци, но бих искал да чуя преди всичко за предимствата.
Благодаря предварително за вашите отговори.
> 1. Защо Apple избра този език като основен език за своята платформа?
Защото Джобс дойде за втори път в Apple от Next, в който езикът беше в основата на платформата. И там той беше в основата на платформата, защото беше по-добър от останалите (в средата на края на осемдесетте). Джобс, който дойде в Apple, откри нереална бъркотия в операционната система (Mac OS 8, 9), която с години изоставаше от конкурентите си (Windows, Linux), нямаше нормална многозадачност и т.н. Затова той завлече половината от софтуерния компонент на Next, за да започне да пише операционна система не от нулата. По времето, когато Джобс се присъедини към Apple (1997), C ++ не беше много по-добър от Objective C (проблеми с ABI, проблеми с метапрограмирането и т.н.), така че дори тогава нямаше смисъл да сменяме шилото на сапун.
> 2. Кои елементи от езиковия дизайн отразяват дизайна на самата платформа на какаото?
Простота (едно наследяване) и документация.
> 3. Какви елементи от дизайна на Objective-C харесвате лично вие, се оказват много полезни/незаменими във вашата работа и които липсват в някои други езици, с които също работите?
Цел C е най-добрият C език за работа в екип. Изричните имена на аргументи увеличават четливостта на кода и намаляват неотложността и/или свежестта на документацията. Единично наследяване, без претоварване на оператора, липса на метапрограмиране премахват разликата в стиловете между членовете на екипа (когато единият не разбира другия). Прегледът на кода е опростен.
2
Какаото е рамка Objective-C, която използва всички характеристики на езика.
По отношение на възможностите той практически не отстъпва на C #, но синтаксисът в началото може да причини отхвърляне.
1. Скорост (без междинен код) - затова имат по-добра графика. tonsky вероятно също е прав
2 и 3 - отговори arielf, Съгласен съм с него.
1. Не, където е необходима производителност (ядро), се използват C ++ (IOKit) и C (Mach/BSD).
По-специално, поради едно и също динамично писане и динамично предаване на съобщения.
- Възможности за пневмония, придобита в общността, и проблеми на етиологичната диагностика - тема на научна статия на тема
- Objective-C срещу Swift, така че откъде да започнем, JustDev Blog
- Владимир Путин възложи да организира възможността за посещения на семейството при пациенти в реанимация
- Героите от Lineage 2 и техните предимства
- Пилинг превод, произношение, транскрипция, примери за употреба