Новый интуитивно понятный язык Apple отличается простотой, характерной для интерпретируемых языков Python и JavaScript, и одновременно обладает высокой скоростью и гибкостью компилируемых языков, ярким представителем которых является C++.
«Swift быстр, современен, предназначен для создания безопасных программ и обладает таким уровнем интерактивности и удобства для разработчиков, которых вы никогда ранее не видели на нашей платформе», – заявил генеральный директор компании Apple Тим Кук, представивший новый язык на недавней конференции Worldwide Developers Conference, которая проходила в Сан-Франциско.
Swift отличается простотой, характерной для интерпретируемых языков, и одновременно высокой скоростью и гибкостью компилируемых языков |
По словам Кука, Swift проектировался таким образом, чтобы устранить целые категории распространенных программных ошибок. Он поддерживает множество современных конструкций: общие типы, замыкания, выводимые типы, множественные типы возвращаемых значений, перегрузку операторов и другие возможности, которые помогают экономить время и востребованы в среде разработчиков.
Многие создатели приложений для устройств Apple с радостью восприняли новость о появлении Swift. Участники конференции WWDC встретили презентацию Кука бурными аплодисментами. Энтузиазм их понятен, если учесть многочисленные недостатки устаревшего Objective-C, который был создан в 80-х годах и пришел в Apple из компании Стива Джобса NeXT. Apple купила NeXT в 1996 году.
Один из программистов, присутствовавших на конференции, выразил в Twitter удовлетворение тем, что Swift позволяет использовать эмотиконы – смайлики, представленные в кодировке Unicode, – в качестве переменных. Другой выразил свое отношение к происходящему, нарисовав картинку, на которой книга по программированию на Objective-C была выброшена в мусорную корзину.
«Несмотря на то что Apple проводит достойную похвалы работу по поддержке языка и экосистемы для разработчиков, Objective-C во многих случаях оказывается слишком сложен, – указал руководитель направления исследования разработки программного обеспечения компании IDC Эл Хилуа. – Objective-C построен на основе Си – языка программирования, который уже сам по себе непрост. Трудно понять и технологию передачи сообщений Objective-C между приложениями или внутри приложения».
«Swift обладает всей мощью Objective-C, но при этом не тащит за собой багажа Си», – сообщил Кук аудитории и привел результаты тестов, согласно которым код Swift выполняется быстрее, чем Python, и почти так же быстро, как Objective-C.
«Наверное, изучить Swift и работать с ним действительно проще, но для того чтобы переключиться с Objective-C программистам понадобится какое-то время», – отметил Хилуа.
В настоящее время компания Apple стремится упростить этот переход. Код Swift может выполняться в той же среде, что и код Objective-C, используя тот же самый модуль управления памятью. Кроме того, предлагаемое решение позволяет обращаться к библиотекам Objective-C Cocoa. «Код Swift может размещаться в одном приложении рядом с кодом Objective-C и Си», – подчеркнул Кук.
Apple обновит интегрированную среду разработки Xcode, включив туда функцию Playground, которая позволит разработчикам проверять получаемый код прямо в процессе набора текста программы на клавиатуре.
Судя по всему, предложенный Apple язык Swift никак не связан с одноименным языком, который предназначен для написания сценариев, работающих в параллельных вычислительных средах.