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

26 марта 2019 года

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

В новой версии стабилизирован ABI для платформ macOS, iOS, tvOS и watchOS. Обеспечена возможность поставки новых версий библиотек без перекомпиляции приложений. В стандартной библиотеке внутреннее представление строк переведено на кодировку UTF-8. Улучшена (Архивная копия от 14 октября 2020 на Wayback Machine) поддержка raw-текста (со спецсимволами и переводами строк) в строковых литералах. Добавлены новый тип для обработчиков ошибок Result и векторный тип SIMD. Расширены возможности по интерполяции строк с типом String (выделение текста из произвольных данных). Увеличена производительность типов Dictionary и Set.

В runtime добавлены средства для организации эксклюзивного доступа к памяти (для проверки, что переменная не доступна через другие имена в момент изменения в функции), которые могут включаться как в отладочном режиме, так и для релизов. Реализована возможность создания динамически вызываемых типов (предложен атрибут "@dynamicCallable"), нацеленных на улучшение переносимости с языками с динамической типизацией, такими как Python, JavaScript и Ruby. Добавлена поддержка условного оператора "меньше чем" в выражениях управления ходом компиляции (например, "#if swift(<4.2)").

В пакетном менеджере представлена поддержка зеркалирования зависимостей, привязки параметров сборки к целевой платформе, генерации coverage-данных и определения собственных требований к поддерживаемым целевым платформам. В команду "swift run" добавлена возможность импорта библиотек в REPL без сборки в формате исполняемых файлов.

Напомним, что язык 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, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Компания Apple представила язык программирования Swift 5», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.