Saltar al contenido

¿Por qué aprender Swift? La creación y evolución de un nuevo lenguaje de programación

Hace tres años, Apple hizo un movimiento que sorprendió a la comunidad de desarrolladores. Presentaron Swift como un nuevo lenguaje de programación durante un discurso de apertura del WWDC14.

Casi todos esperaban cambios y mejoras incrementales del lenguaje del Objetivo-C. En su lugar, Apple decidió crear un nuevo lenguaje de programación desde cero: Swift está libre de todo el legado que ha acumulado Objective-C, pero Swift y el código Objective-C deben convivir para facilitar la transición. Y, en menos de tres años después de su anuncio público, Swift entró en el top 10 de los lenguajes de programación más populares según el Índice TIOBE en marzo de 2017, y fue nombrado como la segunda habilidad de más rápido crecimiento en el cuarto trimestre de 2016.

¿Por qué aprender Swift? La creación y evolución de un nuevo lenguaje de programación
¿Por qué aprender Swift? La creación y evolución de un nuevo lenguaje de programación

Sin duda, Apple tiene grandes planes para Swift. Así que, aunque no estés desarrollando aplicaciones para iOS o MacOS todavía, aprender Swift te permite entrar en el desarrollo de Linux, del lado del servidor y probablemente también en la programación de sistemas. Pero para entender realmente Swift y su valor, ahondemos en la historia de Swift y en lo que es el futuro previsible.

Rápido: Programando los comienzos de un nuevo lenguaje

Chris Lattner es el hombre detrás de Swift, y comenzó a desarrollar este lenguaje durante su tiempo como asistente de investigación y estudiante de doctorado en la Universidad de Illinois. Su objetivo era construir un lenguaje simple que no necesitara un preprocesador y que estuviera libre de todo el legado del C y el C++. Chris comenzó a trabajar en este lenguaje en forma de un proyecto de investigación llamado LLVM, un conjunto de herramientas modulares para construir compiladores. Planeó terminar el proyecto para cuando se graduara, pero estaba lejos de estar listo para la producción. Para cumplir su sueño y hacer un producto real de LLVM, Chris fue a buscar un lugar que le permitiera trabajar en LLVM. Encontró este lugar en Apple, donde lo contrataron para llevar a LLVM a la calidad de producción.

El proyecto paralelo llamado Swift

Originalmente, era sólo Chris experimentando y jugando con su proyecto paralelo en las noches y fines de semana. Pero, a medida que el proyecto empezó a tomar forma, la dirección y más ingenieros se involucraron. En ese momento, el proyecto seguía siendo más bien un experimento que un compromiso importante. Con el tiempo, el proyecto Swift evolucionó hasta un punto en el que ya no podía ser tratado como un proyecto secundario. Sin embargo, el futuro de Swift no estaba decidido todavía. Y todavía quedaba la eterna cuestión del Objetivo-C.

¿Por qué no mejorar el Objetivo-C?

Había Objective-C, un lenguaje de programación de alto rendimiento y probado en la batalla. Así que, ¿por qué no evolucionar Objective-C -el lenguaje de programación utilizado por toda la comunidad de desarrollo de Apple- en lugar de crear uno nuevo desde cero?

Apple siguió aportando mejoras considerables al Objetivo-C, como la gestión automática de la memoria con ARC, los literales, etc. (De hecho, muchas de las mejoras del Objetivo-C se realizaron para acercar el Objetivo-C al -todavía super-secreto- lenguaje Swift). Pero había una cuestión central que no podía ser resuelta con cambios graduales: El Objetivo-C es inseguro.

Objective-C es un superconjunto del lenguaje C, está construido sobre C. Y aunque C es un gran lenguaje de programación, no impide que los desarrolladores escriban código inseguro.

Después de muchas discusiones, se hizo evidente que la creación de un nuevo lenguaje de programación era el camino a seguir – un lenguaje moderno que es eficiente, tiene una sintaxis limpia y proporciona un modelo seguro de gestión de la memoria. En junio de 2013, se tomó la decisión oficial: El desarrollo rápido debe continuar con la participación del equipo de herramientas de desarrollo de Apple.

Swift 1.0

En el WWDC14, Apple anunció Swift. Fue una gran sorpresa. Nadie anticipó un movimiento tan audaz de Apple. Y nos encantó de inmediato, ya que trajo una sintaxis moderna y características de lenguaje útiles que no estaban disponibles en Objective-C: tuplas, cierres, enums y estructuras que soportan métodos, genéricos, opcionales, sólo por nombrar algunos. En la conferencia se puso a disposición de los desarrolladores registrados una versión beta de Swift. La versión beta no garantizaba la compatibilidad con el código fuente, lo que permitió a los ingenieros de Apple mejorar aún más el lenguaje hasta el lanzamiento oficial de Swift 1.0 en septiembre de 2014.

Swift se convierte en código abierto

Desde que Swift fue liberado, ha estado continuamente evolucionando y cambiando. Alrededor de un año después de su lanzamiento inicial, se anunció Swift 2.0, también en el WWDC15. Esta vez, el lenguaje tuvo algunos cambios importantes.

En diciembre de 2015, Swift 2.2 se convirtió en código abierto. Otro sorprendente – e inteligente – movimiento de Apple, que dio un gran impulso a la evolución del lenguaje de programación.

Sin embargo, a medida que Swift se convirtió en código abierto, mucha gente empezó a hacer preguntas y a cuestionar las decisiones tomadas por el equipo central de Swift: La cantidad de propuestas presentadas y de correcciones de errores fue abrumadora. La imprevista sobrecarga de comunicación causó algunas turbulencias al principio. Fue una experiencia aterradora para el equipo: No estaban preparados para la multitud de personas entusiasmadas y potenciales contribuyentes.

Pero los beneficios de ir al código abierto eran innegables. Y ahora, una gran comunidad de desarrolladores profesionales ha contribuido activamente, y han ayudado a llevar a Swift a donde está hoy.

Romper el legado: Swift 3.0

Swift 3 fue oficialmente liberado en septiembre de 2016. Esta ha sido la mayor actualización hasta ahora y ha hecho a Swift realmente fiel a sí mismo. Trajo cambios fundamentales al lenguaje y a la biblioteca estándar de Swift.

Apple proporciona una guía de migración junto con directrices de diseño de la API para facilitar la transición. Xcode 8 viene con un migrador automático, que ayuda a convertir proyectos escritos en versiones anteriores de Swift.

¿Qué es lo próximo para Swift?

Mientras que Chris Lattner dejó Apple y fue a Tesla a principios de este año, pero este movimiento no debería afectar el desarrollo de Swift. Swift ya no es un proyecto de una sola persona, y Chris sigue involucrado en el diseño y ayuda al equipo central con el proyecto Swift-evolución. Ted Kremenek se convirtió en el nuevo líder del proyecto Swift.

Apple quiere que Swift sea la próxima gran cosa, y el código abierto fue parte de esta estrategia. Y en mi opinión, Swift no sólo debería convertirse en el lenguaje de preferencia para el desarrollo de iOS y Mac, sino en el lenguaje para la programación de servidores y sistemas.

Si está interesado en aprender más sobre este lenguaje cada vez más popular, asegúrese de revisar los cursos de Swift en .