Компания Apple представила новый язык программирования Swift, компилятор которого построен с использованием технологий свободного проекта LLVM. Swift наследует лучшие элементы языков C и Objective-C и будет привычен для знакомых с ними разработчиков, но отличается использованием средств автоматического распределения памяти и контроля переполнения переменных и массивов, что значительно увеличивает надёжность и безопасность кода.

При этом Swift-программы компилируются в машинный код, что позволяет обеспечить высокую производительность. По заявлению Apple, код Swift выполняется в 1.3 раза быстрее кода на Objective-C. Вместо сборщика мусора Objective-C в Swift используются средства подсчёта ссылок на объекты, а также предоставляемые в LLVM оптимизации, такие как автовекторизация.

Язык также предлагает множество современных методов программирования, таких как замыкания, обобщенное программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования. Основным применением Swift является разработка пользовательских приложений для OS X и iOS с использованием тулкитов Cocoa и Cocoa Touch. При этом Swift предоставляет объектную модель, совместимую с Objective-C. Код на языке Swift может смешиваться с кодом на С и Objective-C в одном проекте.

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

Отдельно стоит отметить, что Swift от компании Apple не стоит путать с достаточно давно развиваемым скриптовым языком Swift, нацеленного на многопоточное программирование и поставляемого под свободной лицензией Apache.

Источник: http://www.opennet.ru/opennews/art.shtml?num=39912