Компания Apple представила язык программирования Swift 5.2

Candellmans

Мастер
Сообщения
7,983
Реакции
8,505
Компания Apple представила язык программирования Swift 5.2

28.03.20
Компания Apple опубликовала релиз языка программирования Swift 5.2. Официальные сборки подготовлены для Linux (Ubuntu 16.04, 18.04) и macOS (Xcode). Исходные тексты распространяются под лицензией Apache 2.0.

При подготовке нового выпуска основное внимание было уделено расширению средств диагностики в компиляторе, повышению надёжности отладки, улучшению обработки зависимостей в пакетном менеджере и расширению поддержки протокола LSP (Language Server Protocol). В язык добавлена поддержка вызываемых значений и возможность использования выражений вида "\Root.value" в качестве функций.

Напомним, что язык Swift наследует лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти и контроля переполнения переменных и массивов, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщённое программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования. Версия для Linux не привязана к Objective-C Runtime, что позволяет использовать язык в окружениях, в которых отсутствует поддержка Objective-C.

Pеализация Swift построена с задействованием технологий свободного проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, выполняемый в тестах Apple на 30% быстрее кода на Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий средства для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.


OpenNet
 
Назад
Сверху Снизу