Лучшее
Рубрики
Рецепты
Промокоды
Подкасты
Сервисы
Колонки
Лучшее
Рубрики
Рецепты
Промокоды
Подкасты
Сервисы
Колонки
Теории большого мира
Новости
Здоровье
Спорт и фитнес
Покупки
Технологии
Научпоп
Отношения
Реклама
Технологии 22 июля 2014

Как Swift навсегда изменит мир программирования

Фото автора Лена Ш
Лена Ш

Как Swift навсегда изменит мир программирования
Избранное

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

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

Новый язык был назван Swift, и Apple представила его на всеобщее обозрение во время WWDC 2 июня. Спустя 4 года после того, как Латтнер приступил к своему детищу, новый язык шокировал всех, за исключением нескольких осведомленных лиц Apple.

Викрам Адве, преподаватель Иллинойского университета, когда-то помогал Латтнеру создавать основы для одной программы, которая затем легла в основу Swift. Но, как и все остальные, он был невероятно удивлен тем, что его студент столько лет создавал новый язык программирования. «Apple настолько скрытная компания, и, похоже, Крис выпил ее волшебного зелья», — сказал, смеясь, Адве. — «Я знал, что он работает над проектом, который занимает все его время, но это все, что я знал».

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

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

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

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

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

Уже сейчас около 2400 проектов, находящихся на GitHub, популярном хостинге для открытых IT-проектов, используют Swift. А в этом месяце новый язык дебютировал под 16 номером в списке самых обсуждаемых языков по версии Tiobe. Да, почти то же самое происходило с Go в 2009 году, но с тех пор данный язык потерял свое влияние. А Swift со временем должен только усилить свои позиции.

«Люди перейдут на новый язык, потому что на нем проще писать код», — говорит Йансен. — «Они должны выбрать либо Objective-C, либо Swift. И большинство выберет Swift».

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

После того, как Латтнер присоединился к Apple в 2005 году, компания перешла на LLVM, что повлияло на то, как Objective-C стал использоваться разработчиками для создания приложений. И спустя 5 лет Латтнер внедрил данную систему в качестве основы Swift.

Он отказался давать интервью для данной статьи без одобрения PR-отдела Apple, но он кратко описал эволюцию Swift на своей странице. Даже не вдаваясь в детали, можно сказать, что Латтнер построил Swift в тандеме с существующими инструментами Apple, чтобы разработчики могли легко использовать новый язык наряду с Objective-C.

Другими словами, Swift — это не только язык. Он тесно взаимодейстует с другими инструментами, которые позволяют разработчикам создавать свое программное обеспечение. А они включают в себя не только встроенную среду разработки, но и, в том числе, отладчик, который выявляет все погрешности кода. И большинство из этих инструментов знакомы каждому разработчику Apple. В общем, инженеры Apple создали простой переход для десятков тысяч разработчиков, которые пишут программы под iPhone, iPad и Mac.

Так как разработчики никогда раньше не работали с этим языком, у них должны быть веские причины, чтобы перейти от Objective-C к Swift. «Я первый и единственный на сегодняшний момент человек с опытом работы Swift в течение 4 лет», — написал Латтнер в Twitter.

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

«Множество людей отказывается от Objective-C из-за его необычного синтаксиса», — говорит Майк Эш, инженер Apple, который последние 15 лет занимается разработкой разнообразного программного обеспечения компании, — «У Swift более правильный, стандартный синтаксис, который сможет заинтересовать таких людей». «Он сделан для продуктивного программиста, и позволяет ему делать больше вещей за меньшее время».

Как пишет Латтнер на своей странице, Playgrounds позволяет сделать программирование более интерактивным и доступным. «На него сильно повлияла философия дизайнера Брета Виктора и его интерактивная программная система Light Table. Как и в Light Table, он позволяет вам писать код на одной стороне экрана и смотреть на появляющиеся результаты с другой. Другими словами, вы можете прогонять программу во время того, как ее пишите».

Во время WWDC 2014 Латтнер продемонстрировал некоторые возможности Swift и Playgrounds на примере очень простой игры. Инструменты позволяют добавлять новый код без повторной компиляции и перезапуска всей системы. «Когда вы вносите изменения, они внедряются в уже запущенный процесс, в ту версию программы, которая работает в этот момент», — говорит Крис Грейнджер, один из создателей Light Table.

«Я надеюсь, что программирование станет более доступным и веселым занятием», — написал Латтнер. — «Мы обращаемся к новому поколению программистов и помогаем пересмотреть методику преподавания информатики».

Light Table может совершать то же самое, только с различными языками, такими как Python, Clojure и Javascript. Но, по мнению Грейнджера, Playgrounds может быть особенно полезным инструментом,  потому что Swift был разработан специально для работы с ним. «Поскольку они создали этот язык и его контролируют, они могут делать те вещи, которые мы не можем производить с другими языками».

Playgrounds еще немного подглючивает, но уже сейчас он может сильно сократить время, необходимое для написания кода. «Мгновенная обратная связь Playgrounds может привлечь огромное количество людей в новую область».

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

Apple — не единственная компания, которая изучает новые области программирования. Facebook* пытается создать нечто подобное, разрабатывая языки Hack и D. Google прощупывает данную почву при помощи Go, Mozilla делает то же самое с Rust. Но все эти языки далеки от Swift.

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

Но даже если он останется исключительно за Apple, он сможет получить огромное влияние и распространение, не сравнимое ни с одним современным языком программирования. И все благодаря столь популярным iPhone, iPad и Mac.

Да, многие другие языки могут проделывать те же вещи, что и Swift, а некоторые даже лучше, а в том же Light Table есть альтернатива Playgrounds. Но все же, Swift уникален своей простотой и интерактивностью и уже сейчас, спустя всего несколько месяцев после своего представления, он интересен многим десяткам тысяч разработчиков по всему миру.

via Wired

*Деятельность Meta Platforms Inc. и принадлежащих ей социальных сетей Facebook и Instagram запрещена на территории РФ.

Если нашли ошибку, выделите текст и нажмите Ctrl + Enter
Избранное
Комментарии
Nickolay Yurin
22.07.14 21:35
"он сможет получить огромное влияние и распространение, не сравнимое ни с одним современным языком программирования" Ну да, сейчас про objC многие только слышали, а про Swift может и не слышали даже. Swift, как и objC навсегда останется узкоспециализированным языком для устройств от Apple, догнать Java/C#/Ruby/Python ему врятли удастся.
Vasiliy Popov
22.07.14 23:15
Столько пафоса на абзац, что читать невыносимо. Этих языков программирования как грязи, еще один выделяется только тем, что является альтернативой ObjC, еще и название спи-ли.
Stas Leonov
22.07.14 23:53
Какой ужас, что за чушь несет автор? Это писал очередной "аналитик" или человек, реально понимающий предмет статьи?
Stas Leonov
22.07.14 23:55
Ясно, писала женщина, сразу не приметил... Расходимся.
Елена Калинина
22.07.14 23:59
Вы обо мне? Мне кажется, стоило бы обратить внимание на ссылку в конце статьи. Ее написал Cade Metz, редактор Wired. У вас есть к нему вопросы? Вот ссылка на его Twitter: https://twitter.com/CadeMetz
Stas Leonov
23.07.14 00:02
Спасибо, но вопросов как раз и нет.
Александр Журович
23.07.14 00:17
Это веский аргумент в пользу своих претензий, стопудняк.
Stas Leonov
23.07.14 00:37
А чем не аргумент? Вполне себе состоятельный. Правда, оказался неверным, но хоть как-то оправдывал статью.
Александр Журович
23.07.14 00:14
О, и под оригиналом статьи такие же сектанты-эксперты собрались, жаждущие отмщения за поруганную честь любименького {название-языка}, с которым их так много связывает. :) Когда уж тут подумать и обсудить высказанное мнение предметно?
Nickolay Yurin
23.07.14 14:30
Если говорить предметно, то ничего нового по сравнению с другими языками Swift не несет. По сравнению с objC - это действительно большой шаг вперед. Новая система типов по идее должна сократить количество NullPointerException, сам язык добавил синтаксического сахара, но сравнивать его, например, с Go как минимум некорректно, поскольку у них совершенно различные области применения и разрабатывались они совершенно по разному. Swift и objC - языки нишевые, ориентированные на конкретную платформу и вполне конкретные задачи, поэтому такой же популярности, как у Java/Ruby/Python, на которых можно написать почти что угодно, у них не будет.
Александр Журович
23.07.14 14:32
О, другое дело. Спасибо. :)
MrThe Pedomedved
23.07.14 11:42
TL; DR >>Как Swift навсегда изменит мир программирования Никак.
Шерко Дмитрий
07.02.16 10:08
Swift намного приятнее Object C, но лучше бы они взяли синтаксис Javascript или любого другого классического распространенного языка.
Информация
О проектеРубрикиРекламаРедакцияВакансии
Подписка
TelegramВКонтактеTwitterViberYouTubeИнициалRSS
Правила
Пользовательское соглашениеПолитика обработки персональных данныхПравила сообщества
18+Копирование материалов запрещено. Издание может получать комиссию от покупки товаров, представленных в публикациях