Теперь компания из Купертино считает его языком программирования будущего.
На созданный в Apple Swift у компании большие планы. Вице-президент по разработке ПО Крейг Федериги активно продвигает продукт и акцентирует внимание на том, что теперь Swift — язык программирования с открытым исходным кодом. А это должно способствовать его распространению и популяризации среди разработчиков.
По мнению руководства Apple, Swift просто обязан стать главным языком программирования, и у него на это есть все шансы. Простота и универсальность обеспечат продукту востребованность и популярность в ближайшие десятилетия. К тому же, ему очень легко обучиться, так что работать со Swift смогут как опытные разработчики, так и новички.
При этом Федериги не отрицает важности и языка Objective-C, уточняя, что Apple продолжит поддерживать его в дальнейшем. Все-таки она вложила немалые средства в развитие этого языка программирования и отказываться от него не планирует. Но открытый исходный код в Swift должен сделать его более популярным и доступным. При этом те, кто предпочитают Objective-C, ничего не потеряют. Переходить на Swift в принудительном порядке от них Apple не требует.
Открытие исходного кода Swift преследует одну большую цель — распространение и популяризацию этого инструмента, ведь в Apple уверены, что за ним — будущее. Работе со Swift станут обучать в университетах, да и разработчики-любители вполне смогут разобраться с ним самостоятельно.
Мы сотрудничаем с преподавателями, и многие профессоры действительно хотят преподавать Swift. Это очень точный и удобный язык, с помощью которого легко демонстрировать студентам разные концепции программирования. Открыв исходный код, Apple упростила введение Swift в образовательную программу.
Крейг Федериги для Ars Technica
По словам главы Apple по разработке ПО, открытый исходный код Swift еще и укрепит отношения компании с разработчиками. В Swift 2.0 многие нововведения и изменения были внесены именно с подачи тестировавших язык программирования разработчиков. И в новых условиях сотрудничество это только углубится.
Многие из особенностей Swift 2.0 — это результат исправленных ошибок в предыдущей версии языка. Изменения являются следствием постоянного диалога с создателями программ, которые использовали Swift в своих реальных разработках. Открытый исходный код Swift поможет углубить это взаимодействие.
Крейг Федериги для Ars Technica
Разработчики уже успели оценить преимущества работы со Swift. У энтузиастов даже есть план по превращению его в серверный язык программирования, и именно открытый исходный код Swift должен был стать первым шагом к адаптации его к использованию в новых условиях и в новом формате. [9To5Mac]
22 комментариев
Форум →Кроссплатформенность???
@Kiri11, ах, смотрю на Ubuntu можно побилдить, значит успех! https://github.com/apple/swift
@Kiri11, ему бы сначала дожить до какого-то рабочего состояния. Достаточно в репозиторий зайти и посмотреть, в каком там состоянии библиотека. Уж не знаю что там с компиляторами и дебаггерами
@creker, Потому это язык “будущего” ) хехе
@yJIeTHblu, в буквальном смысле слова!!!)
@Kiri11, Официально только Ubuntu , где то был PR на FreBSD поддержку, но с комментарием, что могут и откатить. Но стабильность даже под Ubuntu так себе.
Покодите на нем, и вспомните кука по его ориентации :D
Так где ссылка на открытые исходные коды?
P.S. ссылка https://swift.org/source-code/
Кто то на нем программирует? Может дать объективную оценку?
@Майор, язык приятный, но, во-первых, ещё не устаканился. За последний год нужно было 3 раза по работе пересобрать проект, в котором есть два класса на свифте. Всего два. И каждый раз проект не собирался, потому что появились какие-то несовместимые изменения. При этом встроенные средства автоматической миграции не спасали, и приходилось тратить по часу времени минимум на ручное исправление всех ошибок. Это в двух файлах.
Плюс, рантайм у свифта так же ещё не устаканился, а поэтому не является частью системы. Рантайм свифта включается отдельно в каждое приложение, что увеличивает размер на неизвестное мне пока что количество мегабайт. Создайте пустой проект на Objective-C и на Swift, сделайте Archive, сравните, удивитесь :) В релизной версии разница будет не столь значительна, но всё же.
В общем, на мой взгляд пока рано для использования в реальных проектах.
@Rezon, не знаю что там у вас за классы такие, что целый час мигрировать два класса. В пару тысяч строк что толи… Пишу на свифте с прошлого декабря и да были изменения, но не все там так страшно. Вот если хочется чтото отрефакторить в соответствии с новыми возможностями тогда да нужно сидеть и думать как это по лучше сделать. А просто миграция, ну не знаю странно это.
@Silmaril, Виноват, файлов 6. Хотя это не очень сильно что-то меняет. Проблема в том, что при каждом изменении нужно вручную пройти по каждому изменению, разобраться, что там в коде происходит, разобраться, какие есть способы сделать это в новой версии Swift и какой из них выбрать в данном конкретном случае, чтобы код не просто работал, а оставался идеологически правильным. Код не мой.
Посмотрел сейчас – в последнем коммите в одном файле 25 изменений. В основном работа с optionals (где-то расставить “!”, где-то “?”, где-то преобразование типов). В предыдущем замена NSSet на Set, преобразование типов и optionals. Выйдет Swift 3, и я опять буду сидеть и расставлять по всему коду вопросительные и восклицательные знаки, потому что совместимость опять никто не обещает.
Это, в общем-то, в стиле Apple, и мне это нравится. Что они готовы пожертвовать совместимостью ради прогресса. Но я лучше подожду снижения темпов развития, чтобы не тратить на гонку за прогрессом столько времени. К тому же, аргумент про размер приложения никто не отменял. У меня есть приложение, которое весит 2.9 мб. Использование Swift увеличит его в несколько раз.
“Это, в общем-то, в стиле Apple, и мне это нравится. Что они готовы пожертвовать совместимостью ради прогресса”
Стиля эпл тут не видно. Они deprecated API тащат до победного как любой другой на их позиции. Просто swift даже с позиции Apple не дошел до стабильного состояния. Как дойдет, так перестанут ломать совместимость. Они это обязаны сделать, если хотят, чтобы у Swift было хорошее будущее. В какой-то момент должна быть поставлена точка – код, который был написан для одной версии, должен компилироваться, в идеале, для всех будущих. Это то, как живет любой зрелый продукт. Если ты что-то включил в спецификации, а потом узнал, что это было ошибкой или вообще там баг есть, то этот баг или архитектурная ошибка становится фичей. Ты можешь городить вокруг костыли, давать новый API, а старый метить deprecated, но ты не можешь просто взять и переделать то, чем пользуются тысячи клиентов.
Собственно, этим моментом будет включение рантайма в iOS.
@creker, deprecated Apple действительно “тащит” до победного :) Как раз обсуждали это на днях. Но я не об этом. Apple не поддерживает старые системы. Программа, написанная для iOS 7 может внезапно перестать работать на iOS 9. Сравните это с подходом Linux. А когда Вы захотите её отладить, Вы внезапно обнаружите, что симулятор iOS 7 не работает на El Capitan. Ну и плюс Apple гонит пользователей плёткой на новые версии. В результате как раз-таки у разработчиков нет необходимости поддержкивать “фичи” всего зоопарка систем. Достаточно 1-2-3 последних. Ну и Apple в принципе не боятся вносить breaking changes. Как правило, предоставляя в этом случае какой-то механизм миграции, чтобы тысячи клиентов могли адаптироваться под новые реалии. GC, кстати, в итоге ведь выпилили полностью.
Ну и включение рантайма в iOS будет означать лишь стабилизацию рантайма, но не самого языка.
Хотя в целом я согласен, и именно эту мысль я и хотел донести в своём сообщении: пока язык не дозрел. Когда-нибудь дозреет. Когда дозреет – можно пользоваться.
@Майор, отличнейших язык! Не видел чего-либо более удобного и красивого. И это я серьезно! Извращения Obj-C в прошлом.
Как можно вообще “обзавестись открытым исходным кодом” ?
Если расскажете, дайте мне 2!
P.S.
Код уже был написан когда-то,и судя по несоответствию дат первых коммитов и pull request’ов(request’ы появились только месяц назад,коммиты-2 года назад) , просто его склонировали на github из внутреннего репозитория apple.
красивый синтаксис , достаточно низкий уровень вхождения, но что мешает делать сборки под windows?
Кодировал и буду кодить под objC… Стриж пугает кучей ошибок в проекте при выходе новой версии и…мать его, кучей “as”…параноидальный подход к типизации. К тому же “!” и “?” прибавляют веселья :-)
Блин почему я нихера не понимаю в этих языках.
Вроде бы не тупой, но не понимаю что такое open source
@Varian, Открытый исходный код, т.е. в свободном доступе. Как бесплатные фотографии в общественных стоках.
@Yuri Sidorov, открытый исходный код не обязательно означает, что программа бесплатна. Free speech != free beer.
Вы сначала Caps lock хотя бы поправьте , а потом рассказывайте о том, что еще далеко не готовый Swift язык будущего.
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как сразу отключить все будильники на iPhone
Как не дублировать данные приложений в iCloud?
Как удалить дублирующиеся контакты на Mac
Как выбрать загрузочный диск Mac без стандартной клавиатуры Apple
Как раздать интернет с iPhone на Mac по кабелю
4 способа подключить микрофон к Mac mini
Как на iPhone или iPad включить запрос пароля при скачивании игр и приложений из App Store
Почему не получается создать бекап iPhone на компьютере