Swift как будущее языков программирования

28.02.2015 |
Дмитрий Бадигин
0

Swift как будущее языков программирования

Одной из примечательных новинок Apple представленных в прошлом году, безусловно был язык программирования Swift. Конечно же, простых пользователей особого интереса он не вызвал. Однако у этого творения есть все шансы изменить будущее программирования как такового.

Отметим особо, что появления Swift не ожидал вообще никто, он стал настоящим сюрпризом. Мало кто даже в самой компании предполагал, что работы в данном направлении вообще ведутся. А начались они ещё в 2010 году. Более того, Swift был даже назван «самым секретным проектом Apple».

Для кого и зачем

Целью разработки Swift было создание языка программирования, который отличался бы максимальной простотой обучения. Так, чтобы даже начинающий разработчик мог менее чем за час создать простое приложение, приложив для этого минимум усилий.

Появление Swift позволит Apple привлечь новых разработчиков, которых до этого отпугивал «официальный язык компании» Objective-C, который считается достаточно сложным для изучения. То есть если раньше создание даже элементарного «фонарика» требовало от начинающего программиста достаточно глубокого погружения в процесс, то теперь он может сделать это уже после прочтения первых страниц официального руководства. Кстати, оно доступно совершенно бесплатно для iBooks, единственное что требуется, так это знание английского языка. А тем временем в Сети появляются различные обучающие видео.

Swift как будущее языков программирования

Мало кто знает, но впервые сама идея простого в изучении языка, способного создавать серьёзные приложения, появилась у Джобса ещё во времена, когда он руководил компанией NeXT. Однако возможности тех лет просто не позволяли сделать это, так что проект пришлось отложить на долгое время.

Главным создателем языка Swift является Крис Латтнер (Chris Lattner), руководитель отдела Developer Tools. Более того, некоторое время он трудился вообще в гордом одиночестве. Да и впоследствии штат разработчиков был расширен незначительно. Всё это и позволило сохранить проект как совершенно секретный. Для того, чтобы довести язык до ума, сделать его пригодным к использованию, потребовалось четыре года. При этом компания решила не представлять никаких промежуточных бета-версий. 

Главные особенности Swift

Самой главной особенностью Swift является его полная совместимость с Objective-C. Обойтись без этого было просто невозможно. Ведь за годы существования Objective-C на нём было написано огромное количество приложений, как для OS X, так и iOS. Благодаря совместимости одно приложение может свободно содержать куски кода на обоих языках.

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

Далее. При создании Swift много внимания было уделено повышению скорости работы приложений. Недаром ведь название языка переводится с английского как «стремительный» (а также как «стриж» — именно эта птица изображена на иконке) Так, разработчики утверждают, что если сравнивать по скорости работы идентичные приложения, написанные на Swift и Objective-C, то первое будет работать почти в полтора раза быстрее.

Swift как будущее языков программирования

А ещё утверждается, что сама структура Swift такова, что позволяет избежать множества типичных ошибок, которые нередко допускают начинающие разработчики. Конечно же, это не означает, что ошибки допустить теперь вообще невозможно. Однако число их будет всё же меньше.

Также много внимания уделялось безопасности. Разработчики просто не может использовать некоторые небезопасные куски кода. А управление памятью занимается сам язык. Также у разработчика есть возможность просматривать как работают отдельные куски кода, пользуясь т. н. «интерактивными игровыми площадками». 

Примеры кода на Swift

Глядя на примеры кода Swift даже неопытный программист понимает, насколько много усилий приложил Крис Латтнер, трудясь над своим детищем. Вот как выглядит традиционное для всех новичков приложение «Hello, World»:

println("Hello, world")

Всего одна строчка. Для сравнения на Objective-C подобное приложение выглядит совершенно иначе:

#import <Cocoa/Cocoa.h>
void main()
{
NSLog(@”Hello world!”);
}

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

А вот другой пример кода на Swift, взятый из официального руководства:

let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."

Не нужно даже быть программистом, чтобы понять что именно должна делать данная программа.

Будущее языка Swift

Станет ли Swift полноценной заменой Objective-C? Пока что судить об этом очень рано. Будущее нового и очень интересного языка всё ещё очень туманно. Мнения о нём высказываются самые противоречивые. В то время, как одни разработчики уверены, что за подходами, применёнными при создании Swift будущее, другие восприняли новое творение Apple крайне скептически. По мнению последних компании куда правильнее было бы взять один из уже имеющихся языков и попытаться довести его до совершенства, вместо того, чтобы заниматься созданием ещё одного.

Скорее всего Swift так и станется внутренним языком Apple. Разработчики, пишущие под другие платформы не заинтересуются им просто по определению. А это значит, что язык станет достаточно известным, но не слишком распространённым. Однако при этом идеи, положенные в основу Swift вполне могут заинтересовать создателей языков программирования будущего. Которые постараются сделать всё, чтобы их творения стали более простыми для изучения, но не перестали при этом быть мощными инструментами.

И Swift вполне может стать полноценной заменой Objective-C. Но только произойдёт такое явно не ближайшее время. Для этого Apple предстоит сделать ещё очень многое, доведя своё творение до совершенства.

Комментариев пока нет, будь первым!

Ваш аватар