Apple ha introdotto il linguaggio di programmazione Swift 5.2

Mela pubblicato rilascio del linguaggio di programmazione Swift 5.2. Costruzioni ufficiali preparato per Linux (Ubuntu 16.04, 18.04) e macOS (Xcode). Testi di origine diffusione concesso in licenza con Apache 2.0.

Nella preparazione della nuova versione, l'attenzione principale è stata rivolta all'espansione degli strumenti diagnostici nel compilatore, all'aumento dell'affidabilità del debug, al miglioramento della gestione delle dipendenze nel gestore pacchetti e all'espansione del supporto per LSP (Language Server Protocol). Aggiunto supporto linguistico chiamati valori и opportunità utilizzando espressioni come "\Root.value" come funzioni.

Ricordiamo che il linguaggio Swift eredita i migliori elementi dei linguaggi C e Objective-C, e fornisce un modello a oggetti compatibile con Objective-C (il codice Swift può essere mischiato con il codice C e Objective-C), ma differisce nell'uso del linguaggio automatico allocazione della memoria e controllo dell'overflow di variabili e array, che aumenta significativamente l'affidabilità e la sicurezza del codice. Swift offre anche molte tecniche di programmazione moderne, come chiusure, programmazione generica, espressioni lambda, tuple e tipi di dizionario, operazioni di raccolta veloci ed elementi di programmazione funzionale. La versione Linux non è legata al runtime Objective-C, che consente di utilizzare il linguaggio in ambienti privi del supporto Objective-C.

L'implementazione di Swift è costruita utilizzando le tecnologie del progetto LLVM gratuito. Per garantire prestazioni elevate, i programmi Swift vengono compilati in codice nativo che viene eseguito il 30% più velocemente rispetto al codice Objective-C nei test Apple. Invece di un garbage collector, Swift utilizza il conteggio dei riferimenti agli oggetti. Il pacchetto include un gestore di pacchetti Gestore di pacchetti rapido, che fornisce strumenti per la distribuzione di moduli e pacchetti con librerie e applicazioni nel linguaggio Swift, gestione delle dipendenze, caricamento automatizzato, creazione e collegamento di componenti.

Fonte: opennet.ru

Aggiungi un commento