Сказал, что это язык программирования будущего.
Совсем недавно был открыт исходный код языка программирования Swift, разработанного Apple. Крейг Федериги, вице-президент Apple по разработке ПО, не устает рассказывать о работе над Swift и результатах нововведений. На этот раз он принял участие в записи свежего подкаста The Talk Show популярного блоггера в Apple-сообществе Джона Грубера.
По словам Федериги, язык Swift уже стал самым популярным среди разработчиков на веб-хостинге GitHub. И создатели Swift сейчас активней всех остальных общаются со сторонними разработчиками. Да и внутри самой компании программисты стараются максимально использовать Swift в своей работе. Это и ребята из команды iCloud, и разработчики OS X, которые переводят некоторые аспекты платформы на новый язык (к примеру, управление окнами и Доком). По мнению многих, этот простой язык более практичен в разработке.
Благодаря открытому исходному коду Swift теперь можно внедрять в школы в качестве базы для обучения программированию. Об этом же говорил и Тим Кук, посетив лекцию Hour of Code в нью-йоркском Apple Store. Федериги даже уверен, что в ближайшие 20 лет Swift станет самым используемым языком программирования.
На вопрос о недостатках нововведения вице-президент по разработке ПО даже не нашел ответа. По его словам, Apple лишь придется смириться с тем, что теперь язык Swift будет открыто и широко использоваться многими разработчиками, вне зависимости от их участия в бизнесе Apple.
Крейг Федериги также отметил, что еще в начале года в Apple не знали, когда удастся открыть исходный код Swift. Изменения планировались на 2015-й или 2016 год. Однако во время подготовки к WWDC 2015 было решено не откладывать нововведение еще на год. К слову, на конференции поклонникам Objective-C не понравились слова Федериги о том, что Swift — это тот же Objective-C, но без лишнего багажа. Так что главе Apple по созданию ПО пришлось уточнить, что же он имел в виду.
Мы смогли сохранить саму природу интерфейсов программирования от Objective-C, при этом сделав синтаксическую структуру нового языка более лаконичной.
Крейг Федериги, интервью с Джоном Грубером для The Talk Show
[9TO5Mac]
22 комментариев
Форум →Глобальная популярность сильно зависит от активности и поддержки опенсорса.
Что-то Крейг брешет не моргая. В официальную статистику от августа этого года Свифт даже не вошел: https://github.com/blog/2047-language-trends-on-github
За 3 месяца ничего кардинально измениться не могло
Ну, язык-то неплохой, тут он прав. Им бы ещё с исключениями разобраться — цены бы ему не было.
@migmit, а что там не так с исключениями?
@gibsn, их нет. Если какая-то ObjC-функция, вызываемая из Swift, бросает исключение, то программа падает.
@migmit, для работы с Exceptions можно пользоваться следующей конструкцией:
do {
try functionThatMayThorow()
}
catch let error as NSError {
print(error)
}
@Назар Паллаев, блин, как я это пропустил? Я был уверен, что они это ещё не сделали.
Прошу пардону. Теперь это совсем хороший язык.
@Назар Паллаев, Очень круто, что надо писать try перед throwing function! Сразу видно, откуда может прилететь.
Очередная публичная симуляция восторга.
По синтаксису ничем не лучше Java.
@iGeek, есть возражения против Java?
@Kolj, отнюдь, мой любимый язык.
@Kolj, против Java – самая большая претензия – это распространенные стандарты кодирования в фреймворках и библиотеках: следование паттернам и переусложнение дизайна типа ради гибкости, но часто потому что “так принято”, избыточная инкапсуляция в скрытых объектах. В итоге сложная конфигурация, лишний код, инстанцирование лишних объектов, избыточная прожорливость по памяти.
Из языковых недостатков – нет type inference (2015!), properties, структур, partial classes как в C#. Лямбды только в 8. Да вообще мало чего есть. java тем и хороша, что мало фич! Но уже 2015.
Конечно, есть библиотеки, написанные как надо. Но их меньше.
В любом языке очень важны этакие стандарты кода – обычно это стандартные библиотеки и раскрученные популярные фреймворки. Начинающие программисты следуют этому стилю, как эталону.
Например, руби выделяется стремлением разработчиков писать красивый понятный код (в библиотеках). Это у них возведено в абсолют. В java – нагромождения паттернов. В c++ – шаблоны по поводу и без, велосипеды, оптимизация каждого байта и инструкции (Хотя написание велосипедов быстро дает понимание, что хорошо, а что не очень).
@iGeek, ну, во-первых, все-таки лучше. А, во-вторых, у Java есть один огромный минус – на нем пишут толпы индусов. А индусы в массе своей безграмотные бракоделы-тяпляперы. Так что только из-за этого Java уже очень плоха и ее нужно запретить. :) В ней также всегда было много проблем с безопасностью, из-за которых многие приложения, написанные под старые версии Java, в современных версия jre просто отказываются запускаться. Очень удобно, угу. Да и сам факт того, что Java работает на VM, ограничивает ее производительность. А Swift компиллируется под конкретную платформу. И работает в некоторых случаях быстрее, чем его предтеча ObjC. Ну, на MacOS/iOS во всяком случае.
@peper-, java давно умеет JIT, поэтому проблем со скоростью там давно нет особых.
Ну и про индусов – это как раз огромный плюс. Больше программистов, больше кода, больше опытных людей, способных помочь так или иначе – ответом на стэке или своим проекто на гитхабе. Чего не скажешь о маргиналах на свифте, который только только из пеленок выбирается.
@creker, индусы и опыт? Не смешите мои тапочки. Сколько занимаюсь программированием вообще (VB, C, ObjC) и SAPом в частности (15 лет), индусы как были безграмотными, так и остались. Весь стеке, так и на других ресурсах (scn.sap.com, например) поведение индусов одинаковое – спрашивают “как сделать …. быстро?” и надеются, блин, получить ответ. Каждый день наблюдаю результаты такого подхода. И, что характерно, в западных компаниях (немецких, английских, американских). При этом в общении они (индусы) могут быть вполне милыми людьми, но работают спустя рукава. Я готов признать, что среди них попадаются хорошие специалисты, грамотные и с головой. Но они – капля в море. Увы…
@creker, под Mac & iOS достаточно много людей пишет. Да, свифт выбирается из пеленок, но быстро.
@iGeek, для этих целей уже есть C#, против которого у java так и остается лишь одно – кроссплатформенность. И то, тоже угасает в свете недавних событий. А свифт – свифт будет жить у эпл и не более того. Весь остальной мир его не заметит.
@creker, про джаву и кроссплатформенность есть старая шутка http://joyreactor.cc/post/659839
Про свифт с вами не согласен в том плане, что будучи новым языком он вобрал в себя много хорошего из старых и проверенных. Поэтому, если Apple продолжит его развивать теми темпами, что они пилят его сейчас (по версии в год) и будет поддерживать его open-source версию, то он может занять место как минимум ObjectiveC. А также оттяпать часть рынка у Java и некоторых других. Если…
@peper-, если кто-то напишет хорошие библиотеки и фреймворки вне экосистемы Apple
@yJIeTHblu, если :)
@iGeek, java – это пример минимального ООП-gc языка. Там просто ничего нет, весь язык – это package, class, inner class, generics плюс си-синтаксис. (до Java-8).
Swift – компактные лямбды, расширения классов, tuples, switch без break, иммутабельные коллекции, optionals, lazy …
Отсутствие необходимости ставить скобки в if, while, … как в си-подобных языках.
Крутой уникальный sugar – создание локальных переменных в if, while, …
Если близка java, попробуйте kotlin, а затем scala.
Swift – это Rust для прикладников!
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как на iPhone воспроизводить видео в любом формате?
Как на iPhone временно отключить уведомления от конкретного приложения
Мышь с колесом прокрутки в macOS Sierra стала работать медленно, пропала плавная прокрутка
Как настроить разные стартовые страницы Safari на iPhone и Mac
Как найти Apple Watch при помощи iPhone. Есть два способа
Как добавить клавишу Insert на Mac
Как на iPhone и Mac найти все свои комментарии на YouTube
Как в iOS 18 найти скрытые приложения