Введение в новый язык программирования Apple: Swift

В этом году на WWDC так много внимания было уделено iOS 8 и OS X Yosemite, что то, что должно было стать самой большой новостью мероприятия, было недооценено. Apple представила миру язык программирования Swift. Для конечного пользователя это не новость. Однако для сообщества разработчиков это может изменить правила игры. Определенные языки программирования имеют явные преимущества перед другими языками программирования: некоторые из них быстрее, некоторые эффективнее, некоторые просто чище, некоторые невероятно просты. Apple — последняя фирма, которая создала свой собственный язык программирования после Google Go (Golang) и Microsoft .Net Framework. Swift Programming Language утверждает, что научился у этих языков, оставаясь верным своему предшественнику Objective C. Apple утверждает, что создала самый быстрый и надежный язык программирования высокого уровня. Поясним.

быстрое знамя

Зачем нужны языки программирования?

Есть довольно много способов заставить устройство делать «вещи». Любое устройство, от современных носимых гаджетов до традиционных компьютеров, можно заставить делать что-либо, используя либо старомодный способ машинного языка, записывая необработанный байтовый код / ​​язык ассемблера, создавая каждую инструкцию вручную; или вы можете положиться на языки высокого уровня, которые помогут снизить утомляемость. Вот почему больше внимания уделяется приближению языков разработчиков к нормальному, насколько это возможно. Мы понимаем, что название Swift привлекает больше разработчиков, чем зрителей, но мы все же упростим объяснение, чтобы помочь вам понять технологию, которая будет контролировать будущие поколения продуктов Apple.

Быстрый учебник: электронные устройства — это буквально самые глупые вещи, известные человечеству, без всякого программирования они были бы сведены к простым украшениям. Что дает им реальную функцию, так это программирование. На самом базовом уровне электронике нужно объяснять действие за действием, что им нужно делать, это то, что мы делали с перфокартами, а затем и с машинным языком. Затем мы продвинулись вперед во времени, чтобы разработать языки, которые позволяют нам общаться с машинами относительно более естественным образом (да, код на самом деле является более простой версией того, чем он мог бы быть). Мы писали код, он компилировался во что-то, что понимает компьютер, а затем выполнялся. Итак, чтобы подвести итог, код-компиляция-выполнение.

Почему Свифт?

Теперь вы можете представить себе наиболее уместный вопрос: «Почему?». C — это язык 70-х, который в то время открывал значительные новые горизонты, а затем появился его ответвление — Objective C в 80-х. С тех пор Apple использует эту платформу для разработки. Логика подсказывает: «Если он не сломан, не чините его», и если он работает 30 лет подряд, в чем может быть проблема? Хорошо, что. Apple использует Objective C уже несколько десятилетий. Время для чего-то более быстрого, мощного, простого. Входит Свифт.

Согласно официальная электронная книга на Swift (доступен бесплатно в iTunes) «Swift — это новый язык программирования для приложений iOS и OS X, основанный на лучшем из C и Objective-C, без ограничений совместимости с C. Swift использует безопасные шаблоны программирования и добавляет современные функции, которые делают программирование более простым, гибким и увлекательным. Чистый лист Swift, подкрепленный зрелыми и всеми любимыми фреймворками Cocoa и Cocoa Touch, дает возможность переосмыслить, как работает разработка программного обеспечения ».

Обложка книги Swift

Почему так важен Swift?

Как бы Apple ни хотела, чтобы вы поверили в их искренние инновации, идея языка «сценариев» возникла. Традиционные параметры компиляции-выполнения кода требуют, чтобы вы могли видеть свой код в действии только после того, как он скомпилирован. Компиляция точно показывает, на что способен ваш код. Если в вашем коде есть ошибки, компиляция приведет к нестабильному поведению или сбоям. Затем задача кодировщика будет заключаться в том, чтобы отследить, где находится ошибка, исправить ее, а затем начать заново. Этот процесс труден и занимает много времени, но мир программирования всегда с этим жил; так было всегда. Языки сценариев выполняются построчно, поэтому вы можете видеть результаты по мере написания, избавляя от необходимости проверять код на наличие ошибок позже. Делает процесс быстрее и намного проще.

На сегодняшний день возможности языков сценариев ограничены. Возьмем, к примеру, Python, он невероятно быстр, но он также ограничен более простыми вещами с ограниченными возможностями. Как машина Forumla1, она отлично подходит для гонок, а не столько для покупки продуктов.

Если вы хотите создать игру, Python — не ваша среда. Однако Objective-C (или C ++, если вы работаете в Windows). Теперь Swift обещает лучшее из обоих (на самом деле многих) миров, черпая вдохновение из Objective-C, Rust, Haskell, Ruby, Python, C #, CLU и слишком многих других, чтобы перечислить их (ссылка: разработчик / эксперт Swift Крис Латтнер). Свифт утверждает, что сохраняет хорошие вещи и теряет все плохое. В ключевых тестах он выполняется быстрее, чем Python, и намного быстрее, чем Objective-C, так что это хорошее начало.

Что еще это делает?

Swift также предоставляет визуальную среду в реальном времени, называемую «игровой площадкой», где вы можете видеть, как ваш результат компилируется в реальном времени, как в языке сценариев. Это, в зависимости от дизайна приложения, может сократить весь процесс до нескольких минут, потому что, если что-то пойдет не так, вы сразу узнаете, чем это вызвано, и сможете сразу же решить эту проблему. Это программный эквивалент исправления ошибки на распечатке по сравнению с исправлением красного подчеркнутого слова по мере продвижения. Позволяет быстрее создавать сложные приложения.

Это немного глубже. Для языков высокого уровня от вас требовалось объявить классы и библиотеки и получить к ним доступ, чтобы задействовать функции, какими бы простыми они ни были. в C ++ Вам понадобятся и , чтобы использовать в коде основные типы ввода, вывода и данных. Однако в Swift ничего из этого не требуется. Вам не нужно объявлять какие-либо библиотеки, поскольку Swift будет управлять тем, что нужно каждому типу данных и функции io (ввод / вывод), и будет задействовать эту библиотеку самостоятельно. Итак, напечатайте такое простое слово, как «Hello world», начиная с

#include<stdio.h>
int main(void)
{
  printf("Hello Worldn");
  return0;
}

к простому:

println("Hello, world")

Это весь код, который необходимо скомпилировать. Вы также заметите, что в коде не используется ужасный символ «;» как универсальный признак конечного утверждения.

Какие есть недостатки?

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

Конечно, есть несколько поводов для беспокойства, поскольку в первую очередь это потрясение в отрасли. Целая карьера была построена вокруг обучения людей созданию приложений для iPhone, эти карьеры и их ученики немедленно устарели, на этом фронте будет много реструктуризации. Мы также получим новую серию ранних адаптеров для Swift (Flappy Birds уже созданы с использованием Swift), что и хорошо, и плохо. Хорошо, что в организм будет вводиться новая кровь, а плохо, что эта новая кровь будет неопытной и наводнит рынок плохо сделанными приложениями.

Вскоре мы обсудим металлический каркас Apple, обсудим его преимущества и недостатки, особенно в играх для iOS.

Заключение

Если вам интересно, почему на конференции WWDC не было объявлено о новом оборудовании, мы снова отсылаем вас к нашему предыдущему заявлению о том, что одно только оборудование ничего не может сделать, пока программное обеспечение, стоящее за ним, не будет работать. Так что это была буквально самая большая новость за все время. Что мы получаем новый подход к программному обеспечению, которое в будущем изменит облик всего оборудования. Чтобы получить Swift, вам понадобится бета-версия Xcode 6 и идентификатор разработчика.

Получите Swift здесь