Nie ma tu prawdziwych zalet ani wad, a przynajmniej takich, które powinny zmusić programistę do wygodnego posługiwania się jednym językiem do korzystania z drugiego.
Wydajność nie powinna stanowić problemu. Jest mało prawdopodobne, aby pisać ciężkie podnoszenie z dużą ilością komunikatów w wewnętrznych pętlach, jeśli jesteś dobrym programistą Obj-C, co oznacza, że naprawdę będziesz pisać te wewnętrzne pętle w C. Jeśli nie jesteś niski programistę poziomów, są szanse, że ciężkie podnoszenie zostanie wykonane przez biblioteki, które zdecydujesz się odłożyć na później, a będziesz na łasce tego, co zdecydujesz się zrobić.
Przenośność to prawdziwy problem, jeśli ci na tym zależy. Jeśli nie, to meh. Bycie wieloplatformowym to jeszcze nie koniec. Osiągnięcie sukcesu na pierwszym miejscu byłoby fajne :) Zawsze możesz później portować. Jeśli i tak nie planujesz być na wielu platformach od pierwszego dnia, samo bycie w tym samym języku nie zaprowadzi cię daleko: istnieje wiele innych rzeczywistych różnic między platformami, które wymagają rozwiązania.
Ukończenie projektu jest ważniejsze niż martwienie się technologią, a jeśli jesteś bardziej produktywny w Obj-C, pozostań w Obj-C.
Moja preferencja? Jestem facetem z C ++. I jak Obj-C dobrze, ale jestem szczęśliwy w C ++, a ja zrobić zapisu przekrój kod platformy.