Swift — язык, который изменит программирование

28

Изображение с презентации Swift

Крис Латтнер потратил полтора года на создание нового языка программирования. В течение этого времени он не рассказывал о своей работе никому, даже в кругу близких друзей. Он начал работать летом 2010 года, посвящая этому делу ночи и выходные дни, и к концу следующего года он выработал основы будущего языка. Только после этого Крис открыл свою тайну внутри компании, топ-менеджеры которой были достаточно впечатлены, чтобы присоединить к проекту нескольких опытных инженеров. Еще через полтора года проект Латтнера попал в список главных направлений компании, а команда разработчиков существенно расширилась. Сегодня новый язык идет к тому, чтобы изменить мир компьютеров. Компания, в которой работает Крис Латтнер, называется Apple, а созданный им язык получил название Swift.

2 июня 2014 года на презентации WWDC язык Swift вышел в свет. Компания выпустила тестовую версию для сторонних разработчиков и программистов, позиционируя язык как более быстрый и эффективный способ создания программ для iPhone, iPad и Mac. Даже спустя 4 года после того, как Крис Латтнер начал работу над Swift, информация об этом продукте шокировала всех, кроме ограниченного числа работников Apple. Даже люди, косвенно принимавшие участие в создании языка и помогавшие Крису, были сильно удивлены, узнав этим летом, над чем именно он работал.

Swift захватывает аудиторию

Презентация Swift

Обычно новому языку требуется несколько лет после появления, для того чтобы набрать какую-то аудиторию. Это правило действует даже для таких крупных компаний, как Apple. Хорошим примером является компания Google с языком Go, представленным еще в 2009 году. Над Go работали самые светлые умы мира разработки ПО, Кен Томпсон и Роб Пайк, однако и по сей день прикладываются немалые усилия, чтобы у языка появились последователи. Но Swift – это зверь другой породы. Ожидается, что после того, как язык будет официально выпущен осенью этого года, он наберет аудиторию с беспрецедентной скоростью и превзойдет по степени поглощения такие языки, как Java и C# в 1990 году и начале 2000-х.

Чем можно объяснить такие оптимистичные предположения? Фактически Swift создан для среднестатистического программиста. На языке можно писать даже самые простые приложения, а наделенный довольно умными инструментами, язык предлагает эффективный способ учиться написанию самостоятельно. Но главная причина будущей популярности языка кроется в другом. Сотни тысяч разработчиков сегодня создают приложения для устройств Apple, используя Objective-C. Устройства Apple пользуются большой популярностью, а значит эти разработчики продолжат создавать для них приложения, но уже на Swift, так как он значительно лучше и эффективнее Objective-C.

«Не было никакого реального стимула использовать Google Go» — говорит Пол Янсен, который отслеживал прогресс различных языков программирования в течение около пятнадцати лет. «Swift отличается наличием стимула».

Сегодня на GitHub, популярном хранилище разработок с открытым исходным кодом, более 2400 проектов используют Swift. Стоит при этом помнить, что на данный момент язык доступен лишь ограниченному числу программистов.

Преимущества перед Objective-C

Изображение с презентации Swift

Чтобы отказаться от языка, на котором уже написано несколько продуктов, и начать учить новый, программистам нужны действительно веские основания. Переобучение требует времени и усилий, и на сегодняшний день Крис Латтнер – единственный человек с четырехлетним опытом программирования на Swift. Однако эти самые веские основания уже представлены.

Не то чтобы Swift значительно привлекательнее других языков, таких как C#, Ruby или Python, Swift значительно привлекательнее Objective-C, который сложно назвать современным языком. Синтаксис Swift более привычный. Также язык содержит несколько инструментов защиты от ошибок и багов. Swift лучше понимает действия автора кода и делает его работу эффективнее, позволяя делать больше за меньшее количество времени. Но самым интересным аспектом языка считаются так называемые Игровые площадки.

Игровые площадки

Swift Playgrounds

Игровые площадки призваны сделать программирование более интерактивным и доступным. Смысл в том, что когда программист пишет код на одной половине экрана, на другой половине он видит результат. Таким образом, можно в реальном времени наблюдать за созданием программы. Когда программист вносит изменения в код, они также вносятся в запущенную версию программы, что избавляет от необходимости повторных компиляций и перезапуска.

Такой подход к написанию кода не только облегчит работу программисту, он изменит то, как мы воспринимаем программирование, возведя его на совершенно новый уровень понимания. Крис Латтнер также надеется, что сделав написание кода более понятным и веселым, он поможет пересмотреть метод преподавания информатики сегодня.

Больше чем язык

Крис Латтнер

Крис Латтнер, создатель Swift, курирует все инструменты разработчиков Apple. Все, с помощью чего создаются программы для телефонов, планшетов и компьютеров Apple, как сторонними разработчиками, так и инженерами компании. Будучи аспирантом университета штата Иллинойс, он создал своего рода средства для разработчика под названием LLVM, которые сегодня лежат в основе Xcode.

Apple использовала LLVM для того, чтобы изменить способ использования Objective-C при создании приложений. Это случилось после того, как Латтнер присоединился к Apple в 2005 году, а спустя пять лет он использовал LLVM в качестве основы для Swift. Эти два продукта специально были созданы для работы в тандеме. Другими словами, Swift – это не просто язык, это язык, который тесно связан со всем, что требуется разработчику для работы. Сюда входит не только интегрированная среда разработки, но и многие другие инструменты, которые уже знакомы каждому разработчику Apple, например отладчик. Иными словами, есть причины, по которым десятки тысяч программистов уже должны писать приложения на Swift.

Скорость

Изображение с презентации Swift

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

Apple не первая компания, которая выходит на этот ринг. На нем уже есть Facebook, Google и Mozilla. В некоторых смыслах языки этих компаний зашли гораздо дальше, так как уже используются для внутренней работы. Более того, большинство из них с открытым кодом, что делает их распространение проще среди других компаний. Apple известна своим жестким контролем над собственными продуктами, и на данный момент исходный код закрыт, что может, например, затруднять создание кросс-платформенных программ. Однако есть мнение, что в конце концов исходный код Swift будет открыт.

Независимо от того, будет ли исходный код Swift открытым или нет, ему прогнозируют небывалую популярность и скорость распространения. Уникальность языка, а также популярность продукции Apple, вне всяких сомнений, сделают свое дело.

По материалам Wired

28 комментариев

  1. 0

    Судя по описанию язык «Swift»
    достаточно прост! Хочу попробовать программировать на нем! Очень интересный язык. (отправлено из приложения AppleInsider.ru)

  2. 0
    Великий Максимус

    Ничего, кроме того, что это красивый язык не узнал извините. По сравнению с тем же C++. Он прикручен к одной платформе (я имею ввиду компанию apple). Я конечно не разрботчик, но мне кажеться, что у того же С больше возможностей. Например тот же раработчик вчера писал програмы под линкс, а сегодня мак или виндоус. Но это мое личное мнение. А если в аппл откажуться откомпиляторов с, то им придется отказаться от половины гну софта типа bash или я ошибаюсь (отправлено из приложения AppleInsider.ru)

    • 0

      Великий, Никто ни от чего не отказывается. Swift еще один язык в toolbox программистов под iOS, Mac в дополнение Objective C. (отправлено из приложения AppleInsider.ru)

    • 0
      Dexterwade

      Великий, кажеТся, откажуТся.

      что делаюТ, что сделаюТ.

    • 0
      guitaricet

      Великий, C может быть и мощнее, но мощнее не означает лучше (как бы это парадоксально не звучало).
      Куда важнее читабельность, удобство написания кода и степень интегрируемости в систему. К тому же C не является ООП языком, так что сравнение его со swift как минимум некорректно.
      Кстати, они уже отказались от сторонних компиляторов С. GNU выпилили из системы 2 года назад и сейчас они используют «собственную» разработку — LLDB.
      Говоря о C++ на нём можно было (и сейчас можно) писать приложения под Apple, но они получаются кривыми и убогими, поскольку Cocoa C++ не поддерживает. Да и вообще кроссплатформенные приложения по большей части отвратительны внешне и по быстродействию очень сильно проигрывают нативным. (Хороший пример — вернее плохой пример всем разработчикам — приложение steam под Mac — такого ужаса я не видел вообще нигде.) (отправлено из приложения AppleInsider.ru)

      • 0
        guitaricet

        guitaricet, УПА, ошибочк.
        Не LLDB, а LLVM (отправлено из приложения AppleInsider.ru)

      • 0
        Веселый Джузеппе

        guitaricet, Яб не сказал что ужас, работает не хуже чем оконный клиент. А вот Dota 2 могли бы и оптимизировать, а то на топовой ретине при фул графе выдает 30-40 фпс которые проседают до 10-15, при этом в семерке (буткамп) при аналогичных настройках выдает все 120 фпс с просадками до 90-100. Конечно между опенгГЛ и Д3Д есть разница, но не настолько же (отправлено из приложения AppleInsider.ru)

      • 0
        Великий Максимус

        guitaricet, Гну выпилили примеры: ssh,bash,top, uname и т.д. И дело в том, что выше головы не прыгнешь. Если на с/с++/с# программируют почти на всем чем можно начиная с x86, и заканчивая каким нибуть itanium или расбери пи, то на свифт можно программировать только под арм и интел и это если есть мак с 10.9.3 как минимум и это под аппл. Как мне кажеться идеологию простоты он принесет, но круче того же с он не сможет быть. Так всю индустрию не перепишеь под свифт (отправлено из приложения AppleInsider.ru)

    • 0

      Великий, Для начала разберитесь с кашей в голове, а потом зайдите сюда: http://tsya.ru/.

    • 0

      Великий, «Я конечно не разрботчик, но мне кажеться, что у того же С больше возможностей.»

      вам самим еще не смешно?

      » Я конечно не разрботчик, но мне кажеться, что у того же С больше возможностей.»

      По вашей логике слесарь и строитель — одно и то же или как минимум взаимозаменяемы. А че? И тот, и другой с молотком))

      «А если в аппл откажуться откомпиляторов с, то им придется отказаться от половины гну софта типа bash или я ошибаюсь»

      еще одна тупость. Вот каким боком связан swift или Objective-C+ANSI C, предназначенные для сторонних разработчиков, с языками программирования и технологиями, на которых писалась система?

    • 0
      Antervis

      Великий, Ок, смотрим например в сторону Qt 5.3. Чисто теоретически это фреймворк который позволяет создавать кроссплатформенный код и поддерживает unix/mac/win десктопы, симбиан/андроид, встраиваемые системы и даже iOS. Но нужно понимать, что как раз по части iOS поддержка пока что сырая, и итоговое приложение будет менее оптимизированным, уж не говоря про сам процесс разработки.

      Круто конечно создать один универсальный язык для всего на свете, но это, увы, пока что на этапе велосипеда на костылях, сцепленного заплатками.

  3. 0
    guitaricet

    Статья по большей части ужасна.
    Автор либо уж слишком пытается упростить описание, либо сам не понимает, что пишет.
    Playgrounds придуманы не для написания кода (не совсем. см. сессию Swift Playgrounds с WWDC 2014), не сказано не слова, что с динамической типизации Obj-C перешли к статической, но с некоторыми улучшениями, не сказано про мультипарадигменность языка, его возможности как функционального языка и много ещё что.
    «Swift лучше понимает действия автора кода и делает его работу эффективней» — абсурд, этим занимается не язык, а IDE, в смысле XCode.
    «Скорость работы на телефонах и планшетах должна удивлять» — лолчто?? Даже если это так, и скорость работы из-за некоторых факторов именно языка улучшится, это будет в пределах погрешности! Фреймворки остались те же, может быть их немного улучшили, но не скажу, что это будет заметно обычному пользователю, просто в некоторых случаях придётся писать меньше кода и некоторые овраги уже не нужно будет обходить, поскольку через них будут построены мосты, можно так выразиться.
    (Крик души): Пожалуйста, ну пусть хотя бы у кого-нибудь в AI объявится техническое образование, либо кто-нибудь хотя бы прочитает книжку про swift от apple. Она в свободном доступе!

    Всем добра и писать статьи только на те темы, в которых вы разбираетесь хотя бы чуть-чуть!)) (отправлено из приложения AppleInsider.ru)

  4. 0

    Автор статьи — наркоман, наверное.

  5. 0

    «Доступен ограниченному количеству программистов»? Любой, кто зарегистрирован на сайте разработчиков, может скачать xcode 6 (для этого не нужен даже акк за $99). (отправлено из приложения AppleInsider.ru)

  6. 0

    засуньте свое шило… ну вы знаете куда. Переучиваться заново из-за того, что apple вместо того, чтобы исправить баги в xcode лепит очередную х ерню?
    А почему я должен использовать swift если например .Net выглядит более человеческим и не требует mac os? Опять придумают новые ограничения для разработчиков, чтобы не свалили с продуктов apple?

    • 0
      airslider

      widokef, на счет xcode согласен!
      .net это framework а swift язык).
      ограничения не новые, остались прежние.

  7. 0
    greenkaktus

    Самое худое это то, что он медленный. Когда допилят компилятор, тогда да буду использовать. А пока меня и obj c устраивает.

Авторизуйтесь Чтобы оставить комментарий