Czy cel C ++ jest wycofywany? [Zamknięte]

10

Czy Apple wycofuje obsługę celu C ++? Uwaga:

  • W podręczniku do języka Objective-C istniała część dotycząca mieszania celu-c i c ++. Brakuje tej sekcji.
  • Linki do artykułów na temat c-++ na stronie programistów Apple wydają się być zepsute i są teraz przekierowywane, np. Ten , który znalazłem w pytaniu dotyczącym przepełnienia stosu .
  • Wyszukiwanie c ++ na stronie Apple Dev bardzo niewiele przeszkadza w bieżącej informacji.

Czy powinienem martwić się używaniem c ++ do programowania iOS?

Rob Lachlan
źródło

Odpowiedzi:

19

Nie, nie martwiłbym się tym.

Po pierwsze, dwa główne łańcuchy narzędzi kompilatora Apple (gcc i clang) oba nadal go obsługują. W rzeczywistości strona główna clang wielokrotnie wskazuje, że wsparcie dla Objective C ++ jest „celem projektu Clang”.

Po drugie, w przeciwieństwie do MSDN, Apple często zmienia swoją dokumentację techniczną online, a łącza do artykułów na stronie programisty bardzo psują się. To trochę bolesne w karku - trzymam na dysku twardą dokumentację API QuickTime, bo mam dość ponownego szukania go w Internecie.

Historia firmy Apple w ciągu 27 lat, które programowałem dla komputerów Mac, polegała na tym, że kiedy planują wycofać interfejs API, są bardzo otwarci i zazwyczaj informują o tym pięć lub więcej lat w formie publicznych ogłoszeń lub przynajmniej ostrzeżenia kompilatora. Byłbym więc zaskoczony, gdyby po prostu po cichu wycofali się z języka programowania, na którym opiera się wiele tysięcy programistów.

Bob Murphy
źródło
2

Cel C nadaje się do obsługi specyficznej dla urządzenia części aplikacji. To sprawia, że ​​tworzenie programu GUI jest naprawdę łatwe. Z drugiej strony C ++ jest potrzebny tam, gdzie potrzebujesz przenośności i / lub większej kontroli nad tym, co robisz.

Czy próbowałeś kiedyś stworzyć aplikację opartą na OpenGL z Objective-C? Twój kod stanie się nieprzyjemnym bałaganem (szczególnie jeśli musisz zrobić dużo matematyki wektorowej, ponieważ Objective-C nie obsługuje przeciążania operatora).

Wiele bibliotek dla OS X i iOS opiera się na C ++, więc nie martwiłbym się odrzuceniem przez Apple obsługi C ++ (nawet Apple na tym polega).

Raphael
źródło
Mówi o Objective-C ++, a nie C ++
alternatywa
1
@mathepic - który nie jest samym językiem, ale funkcją kompilatora do kompilacji mieszanego kodu Objective-C i C ++.
Raphael
1

Absolutnie odpowiedź brzmi „nie”. Znaczna część środowiska uruchomieniowego Objective-C i wiele prywatnych części publicznych ram i prywatnych platform zasilających oprogramowanie Apple jest dziś napisanych w Objective-C ++ i prawdopodobnie nie ulegnie to zmianie.

Używają go, aby wykorzystać istniejące biblioteki oprogramowania open source, a także STL, jeśli ma to sens. Clang jest napisany w C ++

No i cały IOKit to C ++

Xcode jest w wielu częściach napisany w Objective-C ++

C ++ dla rzeczy, które ma sens, Objective-C dla API i interfejsu użytkownika. (innymi słowy, ujawnij świetny stabilny API, który jest połączony z C ++ tam, gdzie ma to sens)

uchuugaka
źródło