Objective-C никуда не денется, но и не будет претерпевать больших изменений, благодаря появлению Swift. Скорее всего, некоторые изменения перекочуют в Objective-C, но наследие Objective-C в С означает, что оно лишь будет все поглощать.
Swift дает возможность обществу повлиять на язык, который будет использоваться для написания приложений, встроенных систем (если Apple когда-то даст лицензии для встроенных фреймворков и чипов третьим лицам) и других девайсов, таких как Apple Watch.
Apple направлена на обеспечение наилучшего потребительского опыта и внедряет только те функции, которые считает достойными внимания. В Swift 1.2 и релизе Xcode 6.3, Apple уже устранила тысячи ошибок с помощью популярного Apple Bug Reporter utility. Команда поддержки развития и эволюции Swift очень заинтересована в том, чтобы язык был улучшен.
Swift - более доступный и полностью функциональный язык.
Основная часть изменений, которые позволяют Swift подняться выше Objective-C - это отказ от наследия, на котором был построен Objective-C. Apple не уходит от Cocoa, которое является их API и от библиотек кода для создания чего-то эппловского (Apple-esque). Вместо этого, они представляют полнофункциональную, равноценную замену, и дают возможность легкого взаимодействия с новыми API, которые поддерживают такие функции, как Force Touch или Taptic Feedback.
Многие унаследованные решения были разработаны так, чтобы сделать дизайн компилятора легче. Swift делает упор на упрощение работы разработчика приложений, освобождая его от устаревших практик кодирования. Из-за улучшенной работы современных компиляторов, большое количество информации можно получить из меньшего количества кода.
В Swift, программистам нужна поддержка лишь половины кода, ручная нулевая синхронизация и гораздо меньше пунктуации -- что даст вам больше времени на написание качественных строк кода. Код теперь самодокументируется в Swift, с добавлением дополнительных типов: механизм безопасного сохранения во время компиляции для возможности возвращения к значению или к no value - распространенная проблема с асинхронными операциями, сетевыми сбоями, неправильным вводом пользователя или ошибок подтверждения (validation) данных. ARC объединены в Swift between both procedural C-style code, а также объектно-ориентированного кода, используя фреймворки Cocoa Apple.
Разработчики поймут, что теперь им нужно писать меньше кода, а языковые особенности современного языка сделают их строки кода более читаемыми. Swift будет держать всю экосистему Apple на первых позициях программирования, поскольку она продолжает развиваться благодаря поддержке динамических библиотек на iOS и в Swift. Проекты с открытым исходным кодом, сторонние пакеты SDK, и фреймворки, которые интегрируются с домашней автоматикой, устройствами и социальными услугами, будет проще интегрировать без увеличения потраченного времени. Swift почти такой же быстрый как C ++ в некоторых алгоритмах, и последний релиз Xcode 6.3 и 1.2 и Swift 1.2 показал, что дополнительная необходимая оптимизация уже не за горами.
Добавьте к этому тот факт, что песочницы Swift внедрили новый способ программирования с визуальной обратной связью, что помогает развитию алгоритмов, использующих встроенные визуализации данных. Короче говоря, обратная связь и графические описания делают процесс повторяющегося кодирования еще проще для начинающих.
В конечном счете, Swift наиболее доступный полнофункциональный язык программирования, который позволит разработчикам не только создавать приложения, но и программировать встроенные системы, типа новой низко потребляемой Apple Watch, на многие годы вперед.
3. Перспективы
1. По-настоящему опытных разработчиков на Swift до сих пор нет
Учиться и переучиваться приходится всем без исключения. Если вы займётесь Swift в 2015-м, то спустя сколько угодно лет будете отставать от самых опытных программистов в худшем случае на год. Преимущество опытных кодеров только в том, что Swift заимствует лучшие элементы других языков -- тем, кто их знает, легче его освоить.
2. Это молодой язык программирования
В новых версиях Swift по-прежнему происходят фундаментальные изменения в синтаксисе и типах данных. Язык взрослеет на глазах, и так легче понимать логику перемен -- а при желании можно и помочь в его доработке. Конечно, кто-то может назвать это недостатком, учитывая, что проекты, написанные на более старых версиях Swift, не работают на новых, но миграция занимает не так много времени, а синтаксис становится только проще.
3. Это безопасный язык программирования
В основе Swift -- желание оставить как можно меньше уязвимостей и максимально обезопасить код от ошибок. Программист не обязан всё держать в голове и следить за всем. Это необходимо в C-подобных языках, и если раньше это было обоснованным, потому что они работали быстрее других, то Swift догоняет по производительности даже C++ -- и ведь чем дальше, тем лучше он будет оптимизирован. Программист, который пишет код на Swift, лишён огромного количества головной боли, связанной с менеджментом памяти и другими вещами.
4. Легко читаемый синтаксис, вдохновленный Python и Ruby.
Swift - легко читаемый язык, как и Python. Основное отличие в том, что блоки отделяются не отступами, а фигурными скобками -- так привычнее и удобнее.
5. Apple открывает исходный код Swift
Apple объявила на WWDC 2015, что до конца года Swift станет языком с открытым исходным кодом. Это значит не только то, что в его доработке Apple будет ещё сильнее опираться на сообщество разработчиков, но и то, что в потенциале он станет воистину мультиплатформенным, а не будет ограничиваться экосистемой Apple.
Иначе говоря, если вы разрабатываете приложение на Swift для iOS, то есть перспектива того, что вы сможете перенести его на Android, и вам не нужно будет учить Java, используемый операционной системой Google.
4. Примеры кода
Конечно, чтобы рассмотреть синтаксис языка Swift, потребуется не мало времени. Стоит привести базовые примеры кода:
// Переменные
var implicitInteger = 70
var implicitDouble = 70.0
var explicitDouble: Double = 70
код алгоритм программирование массив
// Константы
let numberOfApples = 3
let numberOfOranges = 5
let appleSummary = "I have \(numberOfApples) apples."
let fruitSummary = "I have \(numberOfApples + numberOfOranges)
pieces of fruit."
// Вывод текста
println("Hello, world")
// Оформление циклов и массивов
let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25]
for (name, age) in people {
println("\(name) is \(age) years old.")
Заключение
Язык программирования Swift является молодым, но не смотря на это с помощью него можно разрабатывать серьёзные приложения под платформы iOS и OS X. По сравнению со своим аналогом - Objective-C Swift имеет существенные преимущества. Он удобен не только для профессиональных программистов, но и для новичков. Так же, будем надеяться, что возможности языка в скором времени расширятся в плане мультиплатформенности.
Литература
1. Swift. Официальное полное руководство от Apple - Apple Inc, 2015. - 521 с.
2. Югай С. В. Русская документация по языку программирования Swift, 2014. - 276 с.
3. СТП ОмГУПС-1.2-2005.