+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Apple представила мову програмування Swift 5

Apple представила мову програмування Swift 5

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

У новій версії стабілізовано ABI для платформ macOS, iOS, tvOS та watchOS. Забезпечено можливість постачання нових версій бібліотек без перекомпіляції програм. У стандартній бібліотеці внутрішнє уявлення рядків перекладено на кодування UTF-8. Поліпшено підтримка 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.

Реалізація Swift побудована із задіянням технологій вільного проекту LLVM. Для забезпечення високої продуктивності Swift-програми компілюються в машинний код, що виконується в тестах Apple на 30% швидше за код Objective-C. Замість збирача сміття в Swift використовуються засоби підрахунку посилань на об'єкти. У поставку входить пакетний менеджер Swift Package Manager, що надає засоби для поширення модулів і пакетів з бібліотеками та додатками мовою Swift, управління залежностями, автоматизованого завантаження, складання та зв'язування компонентів.

Інші новини