¿Por qué es tan costoso portar código C ++ a C #?

Android no cuenta porque están bajando al hardware. Eso es cuestión de escribir código C portátil. Si es fácil es porque hiciste una TONELADA de trabajo por adelantado para hacerlo así. (Solía ​​escribir bibliotecas C portátiles para ganarse la vida, en el pasado).

No sé mucho sobre Objective-C pero, si tuviera que adivinar, supongo que no es un “lenguaje administrado”. Hay muchas cosas fundamentalmente peligrosas que haces en el código C, como manipular punteros sin procesar que los lenguajes administrados no te permitirán hacer. Ésto es una cosa buena. Conduce a un código escrito con menos errores, menos pirateo y más rápido.

Ahora, PUEDE hacer todas estas cosas en C #, pero debe hacerlo en módulos que están etiquetados como “inseguros”. Muchos entornos no le permitirán ejecutar módulos inseguros por los motivos ya mencionados (con errores y pirateables).

Java y C # otoh, se conectan con relativa facilidad con una reescritura de código porque lo que realmente hacen es bastante similar.