Swift Vs Objective-C: Comparamos ambos Lenguajes de Programación

Swift Vs Objective-C: Comparamos ambos Lenguajes de Programación

Compartir

Enfrentamos el nuevo lenguaje de programación Swift con Objective-C

Swift es un nuevo lenguaje de programación que Apple presentó en la reciente WWDC14, la conferencia que realiza para desarrolladores cada año. Este nuevo lenguaje de programación coexistirá por el momento con Objective-C, que es el lenguaje utilizado actualmente para todos los dispositivos iOS, OS X y GNUstep.

Cuando Apple presentó Swift aseguró que era un código interactivo y divertido, con una sintaxis concisa a la vez de expresiva y que las aplicaciones corren mucho más rápido gracias a este nuevo lenguaje de programación, que está llamado a ser el futuro en el mundo de la programación.

Objective-C, por su lado, es el lenguaje insignia, o al menos hasta el momento, de Apple. Cuenta con una sencilla sentencia de control de flujo, diferentes tipos de datos fundamentales, estructuras y punteros, conversiones implícitas y explícitas entre tipos, y es capaz de hacer todo lo que imagines de manera fácil y rápida.

swift-objective-c-comparamos-lenguajes-programacion-7

Desde la llegada de Swift, mucho se ha hablado sobre los pros y los contras que pueda tener dicho lenguaje y al parecer ganan claramente los pros. Sin embargo, muchos desarrolladores se han quejado de este nuevo lenguaje considerándolo incluso peor que Objetive-C. Es por eso que hemos querido comparar este nuevo lenguaje y Objective-C para valorar cual de los dos es mejor de una manera totalmente objetiva.

¿Cuál de los dos lenguajes tiene más potencia?

El primer aspecto que queremos analizar es la potencia del lenguaje de cada uno y, aunque a muchos les duela, parece bastante claro que Swift se llevaría un punto a favor en ese sentido.

swift-objective-c-comparamos-lenguajes-programacion-2

Nadie puede dudar que el nuevo lenguaje Swift se sitúa muy por delante de Objective-C en cuanto a potencia y rendimiento, pues el lenguaje se acerca mucho más al hardware.

Como bien sabréis, Objective-C convierte a binario nuestro código y es en ese proceso de conversión donde radica la mayor o menor potencia de un lenguaje. Swift, por su parte, es más cercano a la CPU, está más optimizado y cuenta con un menor número de capas lo que, a pesar de lo que digan algunos, lo convierten en un lenguaje mucho más potente que Objective-C, no cabe duda.

Facilidad y mayor comprensión sintáctica

En este aspecto no cabe duda que el claro ganador es Objective-C, ¿por qué?, simplemente porque es más fácil de aprender puesto que cuenta con una estructura más sencilla. Aún así, como pudimos ver recientemente, un programador novato fue capaz de crear en 4 horas un clon de Flappy Bird con Swift, lo que demuestra su gran velocidad, aunque es bien cierto que se trata de un lenguaje más estricto, al más puro estilo script.

swift-objective-c-comparamos-lenguajes-programacion-3

Así pues, y a pesar de que el lenguaje Objective-C es más extenso y requiere de más líneas de código, es más fácil de entender y comprender, por lo que en este aspecto nos quedaríamos con el popular lenguaje tradicional.

¿Qué lenguaje cuenta con un código más seguro?

Como bien recordaréis, Apple sufrió un grave problema de seguridad con una implementación de la certificación SSL. El problema real se centró en un else no controlado que se coló en una serie de if consecutivos.

El hecho es que Objective-C no requiere que una instrucción if sea acotada con llaves de inicio y fin, ya que entiende que la primera instrucción asignada al if es la que tiene que ejecutar. Así pues, la instrucción else se coló en medio de la serie de if y eso provocó que se saliera de una condición que no debía.

swift-objective-c-comparamos-lenguajes-programacion-4

Esto con Swift nunca hubiese pasado, pues el nuevo lenguaje cuenta con una estructura suficientemente robusta que obliga a cumplir una serie de requisitos a la hora de trabajar que garantizan una mayor seguridad. Además, en caso de que haya algún error grave de este tipo, el lenguaje es capaz de alertarte en tiempo de compilación, en lugar de aparecer en tiempo de ejecución, algo que es de agradecer.

Así pues, en este aspecto nos quedaríamos con la gran seguridad de Swift, ya que es muy estricto y complejo, y es por eso que, como ya hemos dicho en el punto anterior, es más difícil de aprender y manejar, aunque merezca la pena hacer el esfuerzo.

Bueno… todo esto está muy bien… pero ¿Cuál es mejor?

Buen, llegados a este punto, creo que ha quedado bastante claro que el nuevo lenguaje de programación Swift se lleva la palma en su gran duelo con el popular y tradicional Objective-C. Swift es moderno, potente y muy seguro, lo que convierte al nuevo lenguaje en una gran alternativa mucho más potente que Objective-C, con un único inconveniente: su dificultad.

swift-objective-c-comparamos-lenguajes-programacion-5

Swift es mucho más difícil de aprender y manejar puesto que cuenta con una sintaxis mucho más compleja y un lenguaje menos sintáctico que Objective-C, aunque reiteramos que, lejos de ser una desventaja, vale la pena hacer el esfuerzo de adaptarse a éste nuevo lenguaje puesto que nos ofrece muchas más posibilidades.

Aún así, como hemos podido leer en Apple Coding, cabe destacar que Swift es un lenguaje muy reciente por lo que aún necesita mucho camino por delante y necesita llegar aún a una versión final. Aún así, si estás pensando en aprender un lenguaje de programación y no sabes cual, nosotros te aconsejaríamos el nuevo lenguaje si tienes pensado lanzar una aplicación dentro de unos meses, u Objective-C si te urge el lanzamiento.

Sabiendo esto…¿con cuál te quedas? ¿Objective-C o Swift?