Чи припиняється поступова мета-C ++? [зачинено]


10

Чи яблуко припиняє підтримку для target-c ++? Зверніть увагу на наступне:

  • У мовному посібнику Objective-C раніше був розділ про змішування цілей-c і c ++. Цей розділ зараз відсутній.
  • Посилання на статті на object-c ++ на веб-сайті розробника яблук, здається, порушені, і зараз вони переспрямовані, наприклад, цей , який я знайшов у цьому питанні про stackoverflow .
  • Пошук c ++ на веб-сайті Apple Dev приносить дуже мало способів поточної інформації.

Чи повинен я турбуватися про використання c ++ для розробки iOS?

Відповіді:


19

Ні, я б не переймався цим.

По-перше, дві основні ланцюжки інструментів компілятора (gcc і clang) продовжують підтримувати її. Фактично, головна сторінка для кланг неодноразово вказує, що підтримка Objective C ++ є "метою проекту Clang".

По-друге, на відміну від MSDN, Apple часто змінює свою технічну документацію в Інтернеті, а посилання на статті на веб-сайті розробника сильно порушуються. Це такий біль у шиї - я зберігаю купу документації API QuickTime на своєму жорсткому диску, тому що мені набридло шукати його в Інтернеті.

Історія Apple протягом 27 років, яку я програмував для Mac, полягала в тому, що, коли вони планують зняти API, вони дуже впевнені в цьому і зазвичай дають п’ять і більше років у вигляді публічних оголошень або принаймні попередження компілятора. Тож я був би здивований, якби вони просто тихо зневажили мову програмування, на яку покладаються багато, багато тисяч розробників.


2

Objective-C підходить для роботи з конкретною частиною вашої програми. Це робить програму GUI дуже простою. З іншого боку, C ++ потрібен там, де вам потрібна портативність та / або більше контролю над тим, що ви робите.

Ви коли-небудь намагалися розробити додаток, який спирається на OpenGL за допомогою Objective-C? Ваш код стане неприємним безладом (особливо якщо вам потрібно робити багато векторної математики, оскільки Objective-C не підтримує перевантаження оператора).

Багато бібліотек для OS X і iOS покладаються на C ++, тому я б не переживав за те, що Apple скасує підтримку C ++ (навіть Apple покладається на неї.)


Говорять про Objective-C ++, а не про C ++
альтернативу

1
@mathepic - Це не сама мова, а особливість компілятора для компілювання об'єктивного коду Objective-C і C ++.
Рафаель

1

Абсолютно відповідь - ні. Значна частина часу виконання Objective-C і багато приватних частин публічних фреймворків та приватних фреймворків, що живлять програмне забезпечення Apple, написані сьогодні в Objective-C ++, і це, швидше за все, не зміниться.

Вони використовують його для того, щоб скористатися наявними бібліотеками програмного забезпечення з відкритим кодом, а також STL там, де це має сенс. Кланг написаний на С ++

О, і весь IOKit - це C ++

Xcode у багатьох частинах написаний в Objective-C ++

C ++ для речей, для яких це має сенс, Objective-C для API та інтерфейсу користувача. (інакше кажучи, відкрийте чудовий стабільний API, який знаходиться на C ++ там, де це має сенс)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.