Objective-C fue una solución pragmática muy sensata para un problema específico.
Estaba claro que las aplicaciones gráficas son más fáciles de escribir usando software orientado a objetos. Y eso exigía un lenguaje orientado a objetos.
Objective-C resolvió el problema tomando el lenguaje C de alto rendimiento y la funcionalidad de soldadura de objetos.
Permitió la creación de un gran software, y sin él, la Mac y el iPhone no habrían sucedido. Pero…
- ¿Cuál es la mejor manera de desarrollar una aplicación para iPhone sin saber cómo codificar?
- ¿Cuáles son las ventajas y desventajas de tener un solo botón para iPhone y 3 botones (atrás, inicio y configuración) en Android, tanto desde el hardware como desde la perspectiva de la experiencia del usuario?
- ¿Debo tener más de una base de datos si tengo aplicaciones en Android, iOS y web (o solo una)?
- Cómo comenzar a aprender ios
- ¿Cuáles son las aplicaciones para iPhone más exitosas creadas en el Reino Unido y quién las diseñó y desarrolló?
Cuando dije soldado, quise decir, soldado con una gran antorcha de oxiacetilina que dejó una especie de quemadura irregular y rugosa en el idioma.
Hubo una o dos inconsistencias. Podría tener una matriz de lenguaje ac y una estructura de lenguaje c. También podría tener una matriz basada en objetos. Que podría contener objetos. Pero no pudo contener estructuras.
Cada llamada a un objeto era en realidad un mensaje, que tenía que ser validado en tiempo de ejecución, y que podría ser costoso.
Entonces, incluso en el mejor de los casos, los programadores sintieron que conducían dos autos soldados, con dos volantes.
Swift incorpora una gran cantidad de ideas de lenguajes modernos y las pone en un solo paquete. Tiene el rendimiento de un lenguaje compilado como C ++, pero la elegancia de un lenguaje moderno. Resuelve el problema de administración de memoria con ARC. Sin los problemas de rendimiento de la recolección de basura. Y quizás lo más importante es que puede cooperar con el código Objective-C preexistente. Para que los programadores puedan explotar las bibliotecas existentes y la base de código.
Entonces resuelve muchos de los viejos problemas. Y trae algunos inconvenientes.