The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Apple представила язык программирования Swift 5"
Отправлено opennews, 26-Мрт-19 12:13 
После года разработки компания Apple опубликовала (https://swift.org/blog/swift-5-released/) релиз языка программирования Swift 5 (https://swift.org). Официальные сборки подготовлены (https://swift.org/download/#releases) для Linux (Ubuntu 14.04, 16.04, 18.04) и macOS (Xcode). Исходные тексты распространяются (https://github.com/apple/swift) под лицензией Apache 2.0.


В новой версии стабилизирован (https://swift.org/blog/abi-stability-and-more/) ABI для платформ  macOS, iOS, tvOS и watchOS. Обеспечена возможность поставки новых версий библиотек без перекомпиляции приложений. В стандартной библиотеке внутреннее представление строк переведено (https://swift.org/blog/utf8-string/) на кодировку UTF-8. Улучшена (https://swift.org/blog/behind-se-0200/) поддержка raw-текста (со спецсимволами и переводами строк) в строковых литералах. Добавлены новый тип для обработчиков ошибок Result (https://github.com/apple/swift-evolution/blob/master/proposa...) и векторный тип SIMD (https://github.com/apple/swift-evolution/blob/master/proposa...).
Расширены возможности по интерполяции строк с типом String (выделение текста из произвольных данных). Увеличена производительность типов  Dictionary и Set.


В runtime добавлены (https://swift.org/blog/swift-5-exclusivity/) средства для организации эксклюзивного доступа к памяти (для проверки, что переменная не доступна через другие имена в момент изменения в функции), которые могут включаться как в отладочном режиме, так и для релизов.
Реализована (https://github.com/apple/swift-evolution/blob/master/proposa...) возможность создания динамически вызываемых типов (предложен атрибут "@dynamicCallable"), нацеленных на улучшение переносимости с языками с динамической типизацией, такими как Python, JavaScript и Ruby. Добавлена (https://github.com/apple/swift-evolution/blob/master/proposa...) поддержка условного оператора "меньше чем" в выражениях управления ходом компиляции (например, "#if swift(‹4.2)").


В пакетном менеджере представлена поддержка зеркалирования зависимостей (https://github.com/apple/swift-evolution/blob/master/proposa...), привязки (https://github.com/apple/swift-evolution/blob/master/proposa...) параметров сборки к целевой платформе, генерации coverage-данных и определения (https://github.com/apple/swift-evolution/blob/master/proposa...) собственных требований к  поддерживаемым целевым платформам. В команду "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 (https://swift.org/package-manager/), предоставляющий средства для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

URL: https://swift.org/blog/swift-5-released/
Новость: https://www.opennet.ru/opennews/art.shtml?num=50393

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру