Форум Статьи Контакты
Строительство — возведение зданий и сооружений, а также их капитальный и текущий ремонт, реконструкция, реставрация и реновация.

Swift (язык программирования)


Swift — открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и macOS. Swift работает с фреймворками Cocoa и Cocoa Touch и совместим с основной кодовой базой Apple, написанной на Objective-C. Swift задумывался как более лёгкий для чтения и устойчивый к ошибкам программиста язык, нежели предшествовавший ему Objective-C. Программы на Swift компилируются при помощи LLVM, входящей в интегрированную среду разработки Xcode 6 и выше. Swift может использовать рантайм Objective-C, что делает возможным использование обоих языков (а также С) в рамках одной программы.

История

Старший вице-президент по разработке программного обеспечения Apple Крейг Федериги во время анонса этого продукта заявил, что язык программирования Swift был заложен ещё в платформе NeXT (ОС NeXTSTEP выпускалась в 1989—1995 годах), которая стала основой для современной macOS, а затем и iOS.

Разработка текущего варианта языка Swift была начата в 2010 году Крисом Латтнером, руководителем отдела разработки инструментов для создания программного обеспечения Apple и одним из основных разработчиков LLVM. Swift заимствовал идеи из «Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, и ещё из стольких многих языков, что сложно перечислить». Первоначально для нового языка использовали название Shiny.

2 июня 2014 года на конференции WWDC Swift был официально представлен вместе с бесплатным руководством по использованию языка объёмом в 500 страниц, доступным на сервисе «iBook Store».

8 июня 2015 года компания Apple объявила о выпуске новой версии Swift 2.0, которая получила более высокую производительность, новое API обработки ошибок, улучшения синтаксиса языка, а также функцию проверки доступности функций Swift для целевых ОС.

3 декабря 2015 года была выпущена бета версия Swift 3.0 с поддержкой операционных систем OS X, iOS и Linux и лицензированная под открытой лицензией Apache 2.0 license with a Runtime Library Exception. Версия 3.0 обратно не совместима с более ранними версиями языка; начиная с нативной среды разработки XCode версии 9 более версии языка Swift-2 и ранее не поддерживаются.

В начале апреля 2016 неназванный источник СМИ в корпорации Google сообщил, что компания рассматривает возможность перевода языка Swift в язык «первого класса» для платформы Android. Ранее уже предъявлялись прототипы Swift компилятора для Android.

19 сентября 2017 года была выпущена версия Swift 4.0.

В сентябре 2018 года, вместе с новой версией iOS 12, была выпущена новая стабильная версия языка Swift 4.2, и появилась бета-версия Swift 5.0. В версии 5.0 заявлена, наконец, стабильная работа ABI со стандартными библиотеками (Swift Dynamic Library), поддержка регулярных выражений и первоклассное решение для параллельной обработки данных с асинхронным режимом обработки async/await.

20 сентября 2019 Swift 5.1 — это следующий крупный релиз Swift, и его задача наконец обеспечить стабильность ABI.

Описание

Swift заимствовал довольно многое из Objective-C, однако он определяется не указателями, а типами переменных, которые обрабатывает компилятор. По аналогичному принципу работают многие скриптовые языки. В то же время, он предоставляет разработчикам многие функции, которые прежде были доступны в C++ и Java, такие как определяемые наименования, обобщения и перегрузка операторов.

Часть функций языка выполняется быстрее по сравнению с другими языками программирования. Например, сортировка комплексных объектов выполняется в 3,9 раз быстрее, чем в Python, и почти в 1,5 раза быстрее, чем в Objective-C.

Код, написанный на Swift, может работать вместе с кодом, написанным на языках программирования C и Objective-C в рамках одного и того же проекта.

Репозитории Swift

Apple разделила код Swift на несколько открытых репозиториев.

  • Компилятор и стандартная библиотека:
    • Swift: основной Swift репозиторий, который содержит исходный код для компилятора Swift, стандартная библиотека и SourceKit;
    • Swift-Evolution: документы, относящиеся к продолжающемуся развитию Swift, включая цели для предстоящих выпусков, предложения для изменений и расширений Swift;
  • Библиотеки ядра:
    • Swift corelibs-foundation: исходный код для Foundation, который предоставляет общую функциональность для всех приложений;
    • Swift corelibs-libdispatch: исходный код для libdispatch, который предоставляет примитивы параллелизма для работы на многоядерном аппаратном обеспечении;
    • Swift corelibs-xctest: исходный код для XCTest, который обеспечивает фундаментальную инфраструктуру тестирования для Swift-приложений и библиотек;
  • Менеджер пакетов:
    • Swift package-manager: исходный код для менеджера пакетов Swift;
    • Swift llbuild: исходный код для llbuild, система низкого уровня, который использует Swift package-manager;
  • Клонированные репозитории:
    • Swift опирается на несколько других проектов с открытым кодом, особенно на компилятор LLVM.
    • Swift llvm: исходный код LLVM, с кусочками Swift-дополнений;
    • Swift clang: исходный код для Clang, с кусочками Swift дополнений;
    • Swift lldb: исходный код Swift-версии LLDB, для отладки Swift программ;

Пример кода

// Переменные var implicitInteger = 70 var implicitDouble = 70.0 var explicitDouble: Double = 70 // Константы let numberOfApples = 3 let numberOfOranges = 5 let appleSummary = "I have (numberOfApples) apples." let fruitSummary = "I have (numberOfApples + numberOfOranges) pieces of fruit." print("Hello, world") let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25] for (name, age) in people { print("(name) is (age) years old.") }
(голосов:0)

Пожожие новости
Комментарии

Ваше Имя:   

Ваш E-Mail: