Apple hat die Programmiersprache Swift 5.2 eingeführt

Apfel опубликовала Veröffentlichung einer Programmiersprache Schnelles 5.2. Offizielle Builds bereit für Linux (Ubuntu 16.04, 18.04) und macOS (Xcode). Quelltexte Ausbreitung lizenziert unter Apache 2.0.

Bei der Vorbereitung des neuen Releases wurde das Hauptaugenmerk auf die Erweiterung der Diagnosetools im Compiler, die Erhöhung der Zuverlässigkeit des Debuggens, die Verbesserung der Abhängigkeitsbehandlung im Paketmanager und die Erweiterung der Unterstützung für das LSP (Language Server Protocol) gelegt. Sprachunterstützung hinzugefügt sogenannte Werte и Gelegenheit Verwendung von Ausdrücken wie „\Root.value“ als Funktionen.

Denken Sie daran, dass die Swift-Sprache die besten Elemente der C- und Objective-C-Sprachen erbt und ein mit Objective-C kompatibles Objektmodell bereitstellt (Swift-Code kann mit C- und Objective-C-Code gemischt werden), sich jedoch in der Verwendung von Automatik unterscheidet Speicherzuweisung und Kontrollüberlauf von Variablen und Arrays, was die Zuverlässigkeit und Sicherheit des Codes erheblich erhöht. Swift bietet außerdem viele moderne Programmiertechniken, wie zum Beispiel Abschlüsse, generische Programmierung, Lambda-Ausdrücke, Tupel und Wörterbuchtypen, schnelle Sammlungsoperationen und Elemente der funktionalen Programmierung. Die Linux-Version ist nicht an die Objective-C-Runtime gebunden, was den Einsatz der Sprache in Umgebungen ohne Objective-C-Unterstützung ermöglicht.

Die Swift-Implementierung basiert auf Technologien aus dem kostenlosen LLVM-Projekt. Um eine hohe Leistung zu gewährleisten, werden Swift-Programme in nativen Code kompiliert, der in Apple-Tests 30 % schneller als Objective-C-Code läuft. Anstelle eines Garbage Collectors verwendet Swift die Objektreferenzzählung. Das Paket enthält einen Paketmanager Swift-Paket-Manager, das Tools zum Verteilen von Modulen und Paketen mit Bibliotheken und Anwendungen in der Swift-Sprache, zum Verwalten von Abhängigkeiten, zum automatisierten Laden sowie zum Erstellen und Verknüpfen von Komponenten bereitstellt.

Source: opennet.ru

Kommentar hinzufügen