Как новый язык программирования Swift повлияет на всех нас?

Технологии
автор: Олег Нечай  16 июля 2014

Новый язык программирования Swift, разработанный Apple для iOS и OS X, способен существенно изменить способы разработки хорошо знакомых пользователям этих систем приложений, а также заметно понизить планку уровня подготовки, достаточного для создания таких программ.

Язык Swift был официально представлен на очередной Международной конференции разработчиков Apple WWDC 2014 и был встречен чрезвычайно тепло. Профессионалы с самого начала оценили большой потенциал новичка, но что же может дать Swift другим категориям пользователей? Давайте разберёмся.

swift-effects-01

Начать придётся всё-таки с преимуществ Swift для разработчиков, поскольку без их описания не получится понять, что же новый язык даст всем остальным.

Почему специалисты на WWDC 2014 были сразу так воодушевлены появлением Swift? Всё дело в первой же фразе, в которой старший вице-президент Apple по разработке ПО Крейг Федериги упомянул новый язык: «Что, если у нас был бы Objective-C без рудиментов C? И мы не просто так подумали об этом, мы сделали больше. У нас есть новый язык программирования. Он называется Swift и он совершенно крут».

До последнего времени для разработки приложений для платформы Apple можно было использовать языки C, С++ или Objective-C. Последний был создан известным программистом Брэдом Коксом в начале 1980-х, и с 1983 года он используется в Apple для создания разнообразных приложений. Objective-C многое позаимствовал из C и С++, принципиальным отличием было введение объектно-ориентированной модели программирования, реализованной в стиле Smalltalk, в которой объектам посылаются сообщения. Эта модель была удобнее, чем реализованная в многопарадигменном С++ и, тем более, чем в классическом процедурном C.

Тем не менее, базирование на языке C родом из начала семидесятых делало программирование на Objective-C гораздо более трудоёмкой задачей, чем на таких современных языках, как Python или Ruby. Однако, при всей его громоздкости для программиста, среди ключевых достоинств Objective-C можно было назвать чрезвычайно быстрое выполнение целого ряда функций.

swift-effects-04

Очевидно, что в Apple поставили задачу сохранить в Swift всё хорошее, что было в Objective-C, в частности, упомянутую производительность кода, соединив её с привычными сегодня удобствами интерпретируемых языков. В Swift избавились от множества рудиментарного мусора, доставшегося Objective-C от предшественников. Кроме того, Swift позволяет программисту решать поставленные задачи в нескольких различных моделях, среди которых функциональное программирование, при котором все действия представлены в виде математических вычислений; процедурное, где действия выполняются последовательно и линейно, и объектно-ориентированное, где все данные представлены в качестве объектов.

Swift даёт на выходе высокооптимизированный LLVM-совместимый байткод (т.е. низкоуровневые инструкции, выполняемые непосредственно устройством) и работает с теми же API. что и Objective-C или C. Благодаря такой совместимости можно интегрировать код Swift в уже существующие проекты, библиотеки и приложения. А если вам потребуется опуститься на уровень ниже и вручную задать, к примеру, тип переменных или параметры управление памятью, вы всегда сможете вернуться к Objective-C.

Помните скандальную игрушку FlappyBird? Так вот, всего через несколько дней после анонса нового языка, её полный клон FlappySwift переписали на Swift. Посмотрите по ссылке, насколько компактен и чист исходный код и насколько он напоминает современные интерпретируемые языки.

swift-effects-02

С профессиональными разработчиками разобрались. А что может дать Swift студентам, только делающим первые шаги в программировании? Вполне может ожидать того, что классическая фраза «Hello World» совсем скоро будет выводиться на экран преимущественно с помощью Swift. Почему? Потому что Swift прост в освоении, нагляден и интуитивно понятен, может использовать разные модели программирования и при этом обеспечивает высокие скорости Objective-C.

Но мы ещё не упомянули о Playgrounds, то есть, буквально, об «игровых площадках», одной из полезнейших новых функций в Xcode 6, в которой, собственно, и реализован новый язык Swift. Напомним, что существует такая аббревиатура REPL, описывающая простую интерактивную среду программирования, позволяющую быстро ознакомиться с особенностями какого-то нового языка. REPL расшифровывается как read-eval-print loop, то есть «прочитать, принять, напечатать, повторить», и происходит от названий элементарных функций языка Lisp. Такая последовательность позволяет писать и интерпретировать код строчка за стройкой, не влезая в основной проект — это полезно, например, при отладке или при проверке какой-то пришедшей вам в голову идеи.

Playgrounds в Xcode 6 — это именно такие REPL, дающие возможность строчка за строчкой прогонять приложение и пошагово оценивать его работу. И для студентов нет ничего лучше, чем сразу видеть наглядный результат, как работает каждая новая строчка. Тем самым, программисту уже не нужно быть высококлассным профессионалом, способным обнаружить мелкую ошибку в море строчек кода, а это означает возможность существенно понизить планку для входа в число разработчиков для iOS и OS X. Разумеется, речь не идёт о больших проектах — хотя, студентов многие опрометчиво недооценивают.

Наконец, что появление Swift даст обычным пользователям, большинство из которых не является программистами и мало что знает о каких-то там языках? Для потребителя важно, чтобы приложение чётко исполняло заявленные функции и было удобным и стабильным.

Очевидно, что внедрение Swift заметно скажется на всей программной экосистеме Apple. Поскольку разработка приложений для iOS и OS X становится всё проще и легче, многим профессионалам в других языках и платформах захочется попробовать свои силы на новом поле деятельности. Но что это может значить?

swift-effects-03

Прежде всего, это означает, что к мобильным и компьютерным платформам Apple будет привлечено большее число разработчиков. Больше разработчиков — это больше приложений и больше выбора для потребителя. А вот вопрос о качественном уровне такого софта придётся оставить открытым. Пока что Swift слишком новая технология и она ещё не освоена даже профессиональными программистами для устройств Apple. К тому же она более доступна в понимании для студентов и прочих людей, делающих первые шаги в программировании. К чему всё это может привести, пока сказать трудно.

Если вы уже сейчас хотите оценить возможности Swift, то для скачивания бета-версии XCode 6 вам потребуется платный аккаунт разработчика. Всем остальным придётся подождать до осени, а тем временем можно ознакомиться с подробнейшим 500-страничным пособием по этом новому языку, которое, как мне кажется, будет интересно не только профессиональным программистам.

Поделиться
Поделиться
Tweet
Google
 
Читайте также
Увлечение соцсетями как причина необратимого развития интеллекта
Увлечение соцсетями как причина необратимого развития интеллекта
Как белый хакер ремонт дороги в Невьянске критиковал — и почему «белых» стоит беречь
Как белый хакер ремонт дороги в Невьянске критиковал — и почему «белых» стоит беречь
Робот нанимает человека: плюсы известны, в чём минусы?
Робот нанимает человека: плюсы известны, в чём минусы?
  • Lars Granum

    LLVM-совместимый байткод — это не инструкции, выполняемые непосредственно устройством, а промежуточный формат, который может быть преобразован в ассемблерный код для необходимой платформы (и затем скомпилирован в исполнимый двоичный код) или исполнен LLVM виртуальной машиной.

    • Даниел Абян

      Верно. Visual Basic, Ruby, Python, PHP, Java и еще некоторые языки используют байт код трансляторы. Вообще их удобно в интерпретируемых языках использовать. Кстати не обязательно чтоб байт код сразу переводился в машинный.

      • Twain

        Добавим сюда великолепный foxpro

  • kue

    «Как повлияет на нас еще один набор ‘иф-зен-елзе'» — думал маленький крылатый человечек, один из множества таких же человечков, гнездящихся в сотах прилепленных к стадиону. Он думал об этом даже тогда, когда замазывал глиной со своей слюной очередную трещину в своем уютном пластиковом гнездышке. На экране медленно переливалась красивая радуга, струисилась синяя синусоида и много красивых брюликов сверкало новыми гранями отражения реальности. О новом наборе ‘иф-зен’ думал и маленький угрюмый человек, который управлял лазером модуляции на орбитальной станции «Свобода и Независимость». Все думали об этом и только Стив Джобс в своей новой реальности думал об ином, — как он «сделает» этого премьер-министра, когда появится в голограмме на каждом гаджете своего царства.. (Продолжение следует)

  • Ктулху

    Тут должна быть картинка про изобретение ещё одного универсального и нужного всем языка.

  • Antonio

    >Вполне может ожидать того, что классическая фраза «Hello World» совсем скоро будет выводиться на экран преимущественно с помощью Swift.

    Не раньше чем весь мир перейдет на яблочные решения.

  • Wadsun

    Опять изобрели тупой Сишный код Опять эти скобки фигурные, которые плохо воспринимаются визуально. Короче — опять плохо читаемый код. Надо вообще убить С как тормоз прогресса. Это мое личное мнение.

Хостинг "ИТ-ГРАД"
© ООО "Компьютерра-Онлайн", 1997-2017
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.
«Партнер Рамблера» Почта защищена сервером "СПАМОРЕЗ" Хостинг "Fornex"