Objetivo-C no es de bajo nivel. Cuando envía mensajes a objetos, estos se enrutan a través de objc_msgSend (), donde se busca el método real para invocar en tiempo de ejecución. Esto es para todas las invocaciones de métodos. Compare esto con C ++, que solo tiene que hacer búsquedas en tiempo de ejecución de métodos que son virtuales y podrían tener implementaciones de subclase. Todas las demás invocaciones de métodos se determinan en el momento del enlace. Esto hace que la diferencia de rendimiento entre los dos lenguajes sea significativa, ya que C ++ es mucho más rápido.
Objective-C es un lenguaje de alto nivel que solo ve el mundo en términos de objetos. Cuando desee hacer una programación funcional, desplácese a escribir código C sin formato. De lo que Apple se ha dado cuenta es que a) no todo el mundo quiere o tiene la experiencia para escribir código C de bajo nivel yb) que escribir un buen código C es difícil de corregir yc) que C carece de muchos conceptos de programación funcional, como los cierres como un ejemplo .
Swift todavía está madurando, pero es un lenguaje que me entusiasma. Tiene la interoperabilidad con Objective-C, el objeto y los paradigmas funcionales que las personas necesitan para escribir un buen software, se encarga de la gestión de la memoria sin usar un recolector de basura del mundo y mucho más. Creo que Swift es definitivamente el futuro y el uso de Objective-C disminuirá con el tiempo.
- ¿Qué es iOS 'compartir en familia'?
- ¿Qué debo saber antes de mi primer concierto de consultoría?
- ¿Cuáles son algunos temas que debo saber al solicitar un trabajo de iOS?
- ¿Cómo podría obtener la URL de una de mis imágenes en mi iPad?
- ¿Qué crees que Apple agregará en iOS 10?