3 puntos por xguru 2024-08-12 | 1 comentarios | Compartir por WhatsApp
  • Swift fue elegido como el lenguaje sucesor de C++ más adecuado para Ladybird Browser
  • Durante los últimos meses, se les pidió a varias personas que intentaran reescribir partes del proyecto en otros lenguajes
  • La retroalimentación fue muy clara: todos prefirieron Swift

Por qué prefieren Swift

  • Swift ofrece seguridad tanto de memoria como frente a condiciones de carrera de datos (desde la v6)
  • Es un lenguaje moderno con una ergonomía sólida
  • Las especificaciones web y el interior de los navegadores son altamente orientados a objetos, y el trabajo se vuelve más sencillo cuando se puede modelar la especificación de cerca en el código
  • Swift ofrece soporte de primera clase para la orientación a objetos y, en muchos aspectos, es muy superior a C++
  • El equipo de Swift también está invirtiendo mucho en la interoperabilidad con C++, por lo que existe una ruta práctica para una adopción gradual en lugar de una reescritura masiva

Fuerte vínculo con Apple

  • Históricamente, Swift ha estado fuertemente ligado a Apple y a las plataformas de Apple
  • Sin embargo, durante el último año ha habido esfuerzos para que swiftlang sea más independiente (por ejemplo, ahora está en una organización separada de GitHub y ya no en apple)
  • También está mejorando el soporte para plataformas que no son de Apple y para otros entornos de desarrollo basados en LSP

Planes a futuro

  • Las versiones actuales de Swift vienen con una versión de Clang demasiado antigua para entender la base de código existente en C++, así que por ahora no se puede usar
  • Sin embargo, cuando Swift 6 salga de beta este otoño, comenzarán a usarlo
  • No existe un lenguaje perfecto, y todavía hay muchas cosas que no conocen
  • No saben de nadie que haya trabajado antes en un motor de navegador con Swift, así que le darán retroalimentación al equipo de Swift
  • ¡Hay mucho entusiasmo! Ladybird debe avanzar hacia la seguridad de memoria, y el primer paso es elegir un lenguaje sucesor cuya adopción pueda comenzar pronto