Перейти к содержимому
Теория · Первая программа · урок 1 из 4

Что такое Swift

Чему вы научитесь

Чему вы научитесь:

  • объяснять, что такое программа и что делает компилятор;
  • запускать программу на Swift и печатать текст функцией print;
  • задавать, как print разделяет значения и чем заканчивает строку;
  • читать сообщение компилятора и отличать ошибку от предупреждения.
Карточка рецепта с ошибкой prnt, обведённой карандашом корректора, и холодная пустая кастрюля рядом

Программа похожа на рецепт. В рецепте шаги записаны по порядку, и повар выполняет их один за другим, сверху вниз. Компьютер выполняет программу так же: шаг за шагом, от первой строки к последней.

Но между поваром и компьютером есть важная разница. Повар поймёт рецепт с опечаткой и сам решит, сколько соли положить «по вкусу». Компьютер ничего не додумывает: он делает ровно то, что написано, и только если написано по правилам.

Программа — это текст с командами для компьютера, записанный по правилам языка программирования. В этом курсе такой язык — Swift.

Язык Swift

Swift создала компания Apple и представила в 2014 году. В 2015 году Apple сделала язык открытым: с тех пор Swift развивают её инженеры вместе со всеми желающими.

На Swift пишут:

  • приложения для iPhone и iPad;
  • программы для Mac, Apple Watch и других устройств Apple;
  • серверы — программы, которые отвечают на запросы сайтов и приложений;
  • программы для Linux и Windows.

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

Компилятор

Процессор компьютера не понимает текст на Swift. Он выполняет только машинный код — длинные цепочки чисел, которые человеку читать почти невозможно. Поэтому текст программы сначала переводят в машинный код.

Этим занимается компилятор — программа, которая проверяет текст на Swift и переводит его в машинный код. Представьте строгого корректора: он читает рецепт целиком ещё до того, как на кухне зажгут плиту. Если хоть одна строка нарушает правила, корректор возвращает рецепт с пометками, и на кухне не готовят ничего — даже по верным строкам.

С компилятором всё устроено так же:

  1. Вы пишете текст программы и сохраняете его в файл.
  2. Компилятор проверяет весь файл по правилам Swift.
  3. Если ошибок нет, он переводит текст в машинный код, и получается готовая программа.
  4. Компьютер запускает эту программу и выполняет её команды по порядку.

Если на втором шаге компилятор нашёл ошибку, он сообщает, где она, и готовой программы не получается.

Где писать и запускать

Текст программы хранят в файле с расширением .swift. В примерах курса это файл main.swift: с его первой строки программа на Swift начинает работу. Что установить, описано в разделе «Подготовка компьютера» на странице курса. Писать и запускать программу можно в одном из трёх мест.

Xcode

Xcode — программа от Apple для Mac, в которой пишут, компилируют и запускают код. Создайте в нём проект вида «Command Line Tool»: Xcode сам создаст файл main.swift и откроет его. В файле уже есть строки, которые вписал Xcode: удалите их и вставьте пример из урока. Кнопка «Run» компилирует и запускает программу, а её вывод появляется в нижней части окна.

Проверьте и настройку проекта: на вкладке «Build Settings» в строке «Swift Language Version» должно стоять Swift 6. Если там Swift 5, Xcode проверяет код по более мягким правилам, и некоторые примеры курса поведут себя иначе.

Swift Playgrounds

Swift Playgrounds — приложение для Mac и iPad, в котором удобно пробовать короткие примеры. Создайте новый документ, впишите код и нажмите кнопку запуска: вывод появится рядом с кодом.

Терминал

В Windows, Linux и на Mac после установки Swift программу можно компилировать и запускать в терминале — окне, в котором вводят текстовые команды. Удобнее всего открыть его в VS Code: откройте там папку с файлом main.swift и выберите в меню «Terminal → New Terminal». Терминал откроется сразу в этой папке. Введите в нём по очереди две команды:

  1. swiftc -swift-version 6 main.swift — компилятор проверяет файл и создаёт рядом готовую программу main, а в Windows — main.exe.
  2. ./main, а в Windows .\main.exe — запускает эту программу.

Часть -swift-version 6 просит компилятор проверять текст по правилам Swift 6. По этим правилам написаны все примеры курса.

Первая программа

Вот программа из одной строки:

SWIFT
print("Hello!") // Hello!

Давайте разберём, из чего она состоит:

  1. print — имя команды, которая печатает текст.
  2. Круглые скобки после имени запускают эту команду.
  3. "Hello!" в двойных кавычках — текст, который нужно напечатать.

print — это функция: готовая команда с именем, встроенная в Swift. Запись print(...) вызывает её, и функция печатает то, что стоит в скобках. Текст в кавычках печатается без самих кавычек. В кавычках может стоять любой текст, в том числе русский: print("Привет!") напечатает Привет!.

Текст от // до конца строки компьютер не выполняет. В примерах курса такой текст показывает, что печатает строка: // Hello! означает, что программа выведет Hello!.

Здесь картинка с корректором перестаёт работать. Настоящий корректор заметит опечатку в любом слове, а компилятор проверяет только правила языка. Опечатку внутри кавычек, например "Helo!", он пропустит, и программа напечатает её как есть.

Частая ошибка

Текст программы набрали в обычном текстовом редакторе, и тот заменил прямые кавычки на типографские:

SWIFT
print(“Hello!”) // ✗
TEXT
error: unicode curly quote found, replace with '"'

Это сообщение компилятора: программа не скомпилировалась и не запустилась. Текст для печати в Swift стоит только в прямых двойных кавычках ", а здесь кавычки изогнутые. Компилятор сообщает об ошибке для каждой такой кавычки и подсказывает замену — прямую кавычку. Кавычки-ёлочки «» Swift тоже не принимает.

Пишите код в Xcode или в другом редакторе для программ: такие редакторы не меняют кавычки сами.

Главное

  • Программа — текст с командами для компьютера; компьютер выполняет его строка за строкой и ничего не додумывает.
  • Компилятор проверяет весь текст программы и переводит его в машинный код.
  • Программу запускают кнопкой «Run» в Xcode, кнопкой запуска в Swift Playgrounds или командами swiftc -swift-version 6 main.swift и ./main.
  • print("…") печатает текст из прямых двойных кавычек, без самих кавычек.