Статьи

Редакция: быстрый месяц

Март 2017 года мы посвящаем языку Swift.

Swift — один из самых любимых языков разработчиков (если не самый любимый). И это в относительно короткий промежуток времени после освобождения. Я думаю, что это восхождение можно объяснить, посмотрев, как обстоят дела до его появления, когда разработчики iOS и macOS говорили на Objective-C. Это был (и остается) почтенный язык, активно использовавшийся более 20 лет. Но его возраст начал показывать, особенно когда дело дошло до его склонности к небезопасному коду (отсутствие безопасности типов, исключения нулевых указателей, громоздкая обработка ошибок, список можно продолжить).

Сделав первые несколько шагов в Swift, вы скоро поймете, что это был язык, разработанный кем-то, кто устал от проблем Objective-C. Язык разрабатывался с учетом безопасности кода: безопасность типов, безопасная инициализация, типы значений и многое другое, чего очень не хватало его предшественнику.

Наш языковой дизайнер оказался одним из ведущих в мире экспертов по компиляции, с аппетитом к принятию на себя обязанностей программиста — и это хорошо. Если ошибка может быть обнаружена во время компиляции, она должна быть обнаружена во время компиляции. Ошибки времени компиляции всегда лучше ошибок времени выполнения; последнее гораздо чаще влияет на ваших пользователей.

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

Пока полет прошел хорошо. Конечно, иногда неровный, с серьезными обновлениями языка и другими проблемами роста. Но я думаю, что мы летим выше и быстрее, чем раньше. Горизонт выглядит многообещающе: Swift можно использовать не только для создания приложений для iOS, но и для серверной части watchOS, tvOS и сервера.

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