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