Вступ до нової мови програмування Apple: Swift

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

Навіщо нам потрібні мови програмування?

Існує досить багато способів змусити пристрій робити «речі». Будь-який пристрій, від сучасних носимих гаджетів до традиційних комп’ютерів, можна змусити робити речі, використовуючи старомодну машинну мову, записуючи необробленим байтовим кодом/мовою збірки, створюючи кожну інструкцію вручну; або ви можете покладатися на мови високого рівня, які допоможуть зменшити втому. Ось чому більше уваги приділяється максимально наближенню мов розробника до звичайної мови. Ми розуміємо, що ім’я Swift приваблює більше розробників, ніж глядачів, але ми все одно спростимо пояснення, щоб допомогти вам зрозуміти технологію, яка керуватиме майбутніми поколіннями продуктів Apple.

Коротка буква: електронні пристрої — це буквально найдурніші речі, відомі людству, без будь-якого програмування вони були б зведені до простих прикрас. Те, що надає їм будь-яку реальну функцію, – це програмування. На самому базовому рівні електроніці потрібно розповідати, дія за дією, що їй потрібно робити, це те, що ми раніше робили з перфокартами, а пізніше з машинною мовою. Потім ми просунулися вперед у часі, щоб розробити мови, які дозволяють нам спілкуватися з машинами відносно більш природним способом (так, код насправді є простішою версією того, чим він може бути). Ми писали б код, він був би скомпільований у те, що розуміє комп’ютер, а потім виконувався. Отже, підсумовуючи, код-компілюйте-виконайте.

  Як знайти свої облікові записи та паролі на iPhone або iPad

Чому Свіфт?

Тепер ви можете уявити, що найактуальнішим питанням є «Чому?». 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, — це можливість переосмислити, як працює розробка програмного забезпечення».

Чому Свіфт важливий?

Незважаючи на те, що Apple хотіла б, щоб ви вірили в їхню щиру інновацію, існує ідея мови «скриптів». Традиційні параметри компіляції-виконання коду вимагають, щоб ви могли бачити свій код у дії лише після його компіляції. Компіляція показує, на що саме здатний ваш код. Якщо у вашому коді є помилки, компіляція призведе до нестабільної поведінки або збою. Тоді робота кодера полягатиме в тому, щоб відстежити, де криється помилка, виправити її, а потім почати заново. Цей процес є і важким, і трудомістким, але це те, з чим світ програмування завжди жив; так було завжди. Мови сценаріїв виконуються рядок за рядком, тому ви можете бачити результати під час написання, усуваючи необхідність переглядати код на наявність помилок пізніше. Зробити процес швидшим і набагато легшим.

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

  Як додавати, налаштовувати та використовувати віджети на Mac

Якщо ви хочете створити гру, то 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")

Це весь код, який потрібно зібрати. Ви також помітите, що код не використовує страшний «;» як універсальний знак кінцевого висловлювання.

  Як отримати тактильний відгук для сенсорної панелі на MacBook Pro

Які недоліки?

Тепер існування 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 тут