Saltar al contenido

Swift System ahora es de código abierto con soporte para Linux

fossbyte-technology-news

En junio de este año, los ingenieros de Apple presentaron Swift System, una nueva biblioteca para interactuar con tipos de moneda de bajo nivel y llamadas al sistema. Hoy, Apple Swift System de código abierto y también agregó soporte para Linux.

La idea detrás de Swift System es presentar una solución integral para interfaces de sistema de bajo nivel para todas las plataformas Swift compatibles. Entonces, echemos un vistazo a las novedades:

Dejando atrás las interfaces C importadas

La mayoría de los sistemas operativos que usamos hoy funcionan con algún tipo de interfaz de sistema escrita en C y ha permanecido igual durante décadas. Estas API se pueden usar directamente desde Swift, pero estas interfaces de sistema de tipo débil importadas desde C son propensas a errores y no se pueden administrar.

Por ejemplo, en sistemas operativos similares a UNIX como Linux y el SO de Apple, las funciones de tipo débil tienen varias desventajas y no utilizan la expresividad y la seguridad de tipos que se pueden encontrar en Swift.

Lea también: El lenguaje de programación Swift ahora está disponible en Windows 10

Presentamos las interfaces rápidas idiomáticas

El módulo Swift System introduce varias funciones de lenguaje para mejorar la expresividad y reduce las posibilidades de error. Por ejemplo El sistema define la llamada al sistema abierto como una función estática con argumentos predeterminados en el espacio de nombres FileDescriptor:

Al comparar esta versión con la versión original en C, puede detectar diferencias significativas como:

  • El sistema utiliza conjuntos de opciones y estructuras representables en bruto. Estos tipos fuertes ayudan a identificar errores en tiempo de compilación y son más fáciles de convertir hacia y desde los tipos C más débiles.
  • Los errores se lanzan utilizando el mecanismo de lenguaje estándar y no se pueden perder.
  • FilePath es una bolsa de bytes administrada con terminación nula que se ajusta a ExpressibleByStringLiteral, mucho más seguro para trabajar que un UnsafePointer.

Es importante tener en cuenta que System no es una biblioteca multiplataforma, sino una biblioteca multiplataforma. Proporciona un conjunto separado de API y comportamientos en cada plataforma compatible, que refleja fielmente las interfaces del sistema operativo subyacente. Por lo tanto, una sola importación extraerá las interfaces de la plataforma nativa específicas para el sistema operativo que elija.

APRENDER MÁQUINA APRENDIZAJE ANUNCIO CUADRADO

Tambien te puede interesar: