contador gratis Saltar al contenido

La historia de Swift contada por su creador

septiembre 17, 2020

En el primer episodio del nuevo podcast llamado “The Swift Community Podcast”, Chris Lattner narra el nacimiento de Swift, el lenguaje de programación de Apple, creado por su proyecto a partir de 2010.

Antes de encontrar un nombre definitivo, el lenguaje de programación se llamó “Shiny”. Lattner informa por qué, explicando que estaba trabajando en algo “brillante” y ese nombre, en ese momento, parecía apropiado. Sin embargo, era algo que aún estaba lejos de poder competir con Objective-C, más como un proyecto personal, creado por pura diversión.

Lattner comenzó a trabajar en Swift poco después de la WWDC en 2010, ofreciendo a los desarrolladores una versión del front-end de Clang, un compilador casero capaz de compilar fuentes C ++. Este proyecto fue bastante caro y complejo de seguir.

Chris Lattner

Chris Lattner

Lattner quería trabajar en algo nuevo, más simple y también más estimulante intelectualmente. En su tiempo libre comenzó a trabajar en el diseño de un lenguaje de programación nuevo, más moderno y libre, hablando de esto con Bertrand Serlet, en el momento a cargo del software de Apple. Desde las primeras discusiones nacieron ideas sobre cómo debería ser un mejor lenguaje, teniendo en cuenta peculiaridades como el manejo de la memoria.

Uno de los objetivos era automatizar inmediatamente este último, simplificando los procedimientos de protección de la memoria, no previstos por C o C ++ (es el desarrollador quien normalmente se ocupa de estos aspectos y un error en el código o un uso inadecuado de la RAM pueden causar pérdidas memoria o inestabilidad).

En ese momento, Objective-C no tenía mecanismos predefinidos para la protección de la memoria. Los intercambios de opiniones entre Chris Lattner y Bertrand Serlet llevaron a la creación de ARCO, función compiladora encargada de validar el código, verificando el correcto uso de la memoria.

Swift, incluso antes de su nacimiento, ha permitido mejorar las herramientas de desarrollo. Por diversas razones, en ningún caso fue posible transformar progresivamente Objective-C (Lattner explica que ARC es una herramienta útil pero este lenguaje sigue siendo fundamentalmente basado en C y no integra funcionalidades que permitan proteger la memoria) pero era necesario pensar en un lenguaje de todo nuevo.

Swift PlaygroundsObjective-C ha sido durante mucho tiempo el lenguaje de programación de referencia para Apple y el desarrollo de Swift se formalizó con el nacimiento de un equipo dedicado dirigido por Chris Lattner. En abril de 2011, Apple decidió apostar por el nuevo idioma, incitando a los empleados a trabajar a tiempo completo en este proyecto. Entre las personas que coordinaron el proyecto, Ted Kremenek, la persona que reemplazó a Chris Lattner cuando dejó Cupertino.

Un grupo pequeño pero feroz construyó los cimientos de Swift sabiendo que tenía que empezar desde cero. Lattner había esbozado los principios generales y creado la base del lenguaje, pero el trabajo más importante se realizó más tarde. Algunos de los principios, como la sintaxis para definir variables y funciones, nunca cambiaron, pero muchos elementos importantes llegaron en los años siguientes.

Para crear Swift, Apple tuvo la buena idea de no reclutar solo a desarrolladores que se especializan en lenguajes de programación y compiladores. También se contrató a miembros del equipo de documentación y también se les invitó a expresar sus opiniones sobre múltiples decisiones que no eran fáciles de tomar cuando se trataba de un proyecto de este tipo.

Lattner explica que incluso se pueden discutir elementos simples como elegir un punto o una coma en la sintaxis. La elección de trabajar de inmediato con los equipos de documentación resultó excelente para mejorar el lenguaje de programación. En lugar de crear y tratar de explicar por qué ciertas opciones más adelante, Swift se diseñó documentando las funciones a medida que surgían, con cada decisión explicada y documentada de una manera lógica y coherente.

Chris Lattner es tercero por la izquierdaChris Lattner es tercero por la izquierda

Apple presentó Swift para coincidir con la WWDC de 2014. La novedad fue presentada por Craig Federighi, el hombre que reemplazó a Bertrand Serlet en 2011, quien describió Swift como un nuevo y poderoso lenguaje de programación para iOS y OS X que hace que sea más fácil que nunca para los desarrolladores crear aplicaciones, explicando que combina rendimiento y eficiencia de los lenguajes compilados con la simplicidad e interactividad de los lenguajes de scripting más populares, destacando la posibilidad de que los desarrolladores escriban código más seguro y confiable, eliminando categorías enteras de errores comunes de programación.

Federighi usó el lema “Objetivo-C, sin la C”, Lattner reconoce cautivador, pero lamenta la elección, explicando que ese no era el objetivo.

Desde el principio, Lattner concibió Swift como un lenguaje de programación que se puede usar para todo, desde la creación del núcleo de un sistema operativo hasta los scripts que el usuario puede crear por sí mismo, pasar a la creación de aplicaciones o un firmware para interactuar. con hardware. Una ambición que va mucho más allá de las necesidades de Apple y que explica la decisión de hacerlo de código abierto. Lattner acogió con agrado esta última opción (?abrir es mejor que cerrar?) y explicó que le permite involucrar a más personas y obtener mejores resultados.rápidoLa primera versión del idioma tenía limitaciones. Apple eligió lanzar Swift 1 en 2014 sabiendo que había varias cosas que arreglar, pero el objetivo también era obtener comentarios de los desarrolladores. Más tarde nacieron varios proyectos: el lenguaje de Apple se concibió para ser multiplataforma y también nació un grupo de trabajo dedicado a Swift en el campo de los servidores.

Sin embargo, todavía queda mucho por hacer en este aspecto y, explica Chris Lattner, todavía tenemos que llevar Swift a Windows. Por otro lado, la mayoría de los usuarios trabaja con el ecosistema de Apple y la documentación está casi enteramente dedicada a los marcos y API de Cupertino.

Lattner espera que Swift sea más abierto que otras plataformas. Nada se lo impide, si no elecciones precisas de Apple que aún deben permanecer al mando, fundamentales para cambios importantes como la estabilización del ABI (Interfaz binaria de aplicación), solo posible con los recursos técnicos y humanos que un solo jugador como Apple puede dedicar al propósito.

Según Lattner, el objetivo debe ser el de un idioma adecuado para todas las necesidades; el ex empleado de Apple habla sobre el aprendizaje automático como un área posible de la que Swift podría beneficiarse (un área a la que Apple ha dedicado especial atención durante mucho tiempo). Chris Lattner ha estado trabajando para Google desde 2017 y ha adaptado Swift a TensorFlow, el marco para el aprendizaje automático, específicamente optimizado para su uso en dispositivos móviles. La entrevista completa se puede escuchar en esta dirección.