URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 116923
[ Назад ]

Исходное сообщение
"Компания Apple представила язык программирования Swift 5"

Отправлено opennews , 26-Мрт-19 12:13 
После года разработки компания Apple опубликовала (https://swift.org/blog/swift-5-released/) релиз языка программирования Swift 5 (https://swift.org). Официальные сборки подготовлены (https://swift.org/download/#releases) для Linux (Ubuntu 14.04, 16.04, 18.04) и macOS (Xcode). Исходные тексты распространяются (https://github.com/apple/swift) под лицензией Apache 2.0.


В новой версии стабилизирован (https://swift.org/blog/abi-stability-and-more/) ABI для платформ  macOS, iOS, tvOS и watchOS. Обеспечена возможность поставки новых версий библиотек без перекомпиляции приложений. В стандартной библиотеке внутреннее представление строк переведено (https://swift.org/blog/utf8-string/) на кодировку UTF-8. Улучшена (https://swift.org/blog/behind-se-0200/) поддержка raw-текста (со спецсимволами и переводами строк) в строковых литералах. Добавлены новый тип для обработчиков ошибок Result (https://github.com/apple/swift-evolution/blob/master/proposa...) и векторный тип SIMD (https://github.com/apple/swift-evolution/blob/master/proposa...).
Расширены возможности по интерполяции строк с типом String (выделение текста из произвольных данных). Увеличена производительность типов  Dictionary и Set.


В runtime добавлены (https://swift.org/blog/swift-5-exclusivity/) средства для организации эксклюзивного доступа к памяти (для проверки, что переменная не доступна через другие имена в момент изменения в функции), которые могут включаться как в отладочном режиме, так и для релизов.
Реализована (https://github.com/apple/swift-evolution/blob/master/proposa...) возможность создания динамически вызываемых типов (предложен атрибут "@dynamicCallable"), нацеленных на улучшение переносимости с языками с динамической типизацией, такими как Python, JavaScript и Ruby. Добавлена (https://github.com/apple/swift-evolution/blob/master/proposa...) поддержка условного оператора "меньше чем" в выражениях управления ходом компиляции (например, "#if swift(‹4.2)").


В пакетном менеджере представлена поддержка зеркалирования зависимостей (https://github.com/apple/swift-evolution/blob/master/proposa...), привязки (https://github.com/apple/swift-evolution/blob/master/proposa...) параметров сборки к целевой платформе, генерации coverage-данных и определения (https://github.com/apple/swift-evolution/blob/master/proposa...) собственных требований к  поддерживаемым целевым платформам. В команду "swift run" добавлена возможность импорта библиотек в  REPL без сборки в формате исполняемых файлов.


Напомним, что язык Swift наследует лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти и контроля переполнения переменных и массивов, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщенное программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования. Версия для Linux не привязана к Objective-C Runtime, что позволяет использовать язык в окружениях, в которых отсутствует поддержка Objective-C.

Pеализация Swift построена с задействованием технологий свободного проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, выполняемый в тестах Apple на 30% быстрее кода на Objective-C. Вместо сборщика мусора  в Swift используются средства подсчёта ссылок на объекты.  В поставку входит пакетный менеджер  Swift Package Manager (https://swift.org/package-manager/), предоставляющий средства для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

URL: https://swift.org/blog/swift-5-released/
Новость: https://www.opennet.ru/opennews/art.shtml?num=50393


Содержание

Сообщения в этом обсуждении
"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 12:29 
Версия 5, а UTF-8 только сейчас прикрутили. Зачем так жить?

"Компания Apple представила язык программирования Swift 5"
Отправлено FullZero , 26-Мрт-19 12:30 
Ждем код со смайликами в качестве названий объектов и переменных

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 12:43 
В Ruby вон под новый год еще завезли )

"Компания Apple представила язык программирования Swift 5"
Отправлено keir , 26-Мрт-19 14:15 
Еще в 2014 году официальный мануал описывал использование смайликов как имена переменных )

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 13:06 
А по ссылке сходить слабо? Изначально было UTF-16.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 13:23 
У вас с чтением всё хорошо? При чём тут эта днище-16 кодировка?

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 13:56 
чего вы д..читесь UTF-8 и UTF-16 это один и тот же набор символов, просто UTF-16 больше заточен под азиатов в плане уменьшения размера при кодировании символов

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 14:40 
ну и чего мунусятники возбудились ? ведь все легко проверить

$ echo -n "词" > utf8.txt
$ file -bi utf8.txt
text/plain; charset=utf-8
$ xxd -bi utf8.txt
00000000: 11101000 10101111 10001101
$ iconv -f UTF-8 -t UTF-16BE -o utf16.txt utf8.txt
$ xxd -bi utf16.txt
00000000: 10001011 11001101


"Компания Apple представила язык программирования Swift 5"
Отправлено commiethebeastie , 26-Мрт-19 21:05 
А ничего, что один имеет статический размер, а второй динамический?

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 21:51 
А ничего, что размер символов в UTF-16 перестал быть фиксированным при добавлении понятия суррогатных пар в середине 1990-х?

"Компания Apple представила язык программирования Swift 5"
Отправлено commiethebeastie , 05-Апр-19 13:47 
> А ничего, что размер символов в UTF-16 перестал быть фиксированным при добавлении
> понятия суррогатных пар в середине 1990-х?

И ACSII поэтому кодируется в 2 байта, а не в 1, как на UTF-8?


"Компания Apple представила язык программирования Swift 5"
Отправлено НяшМяш , 26-Мрт-19 17:26 
А всё просто. В Objective-C все NSString хранились в памяти как UTF-16. Swift в прошлых версиях для облегчения интеропа также унаследовал эту структуру (свифтовый String внутри имел NSString как backing storage). Сейчас они переделали внутреннюю реализацию, т.к. 99% разработчиков работают с UTF-8 строками и в этом случае производительность важнее.

"Компания Apple представила язык программирования Swift 5"
Отправлено Анонимс , 26-Мрт-19 12:52 
> официальные сборки подготовлены для Linux (Ubuntu 14.04, 16.04, 18.04)
> версия для Linux не привязана к Objective-C Runtime, что позволяет использовать язык в окружениях, в которых отсутствует поддержка Objective-C.
> выполняемый в тестах Apple на 30% быстрее кода на Objective-C
> вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты

Swift уничтожит C/C++ и станет основным языком разработки в Linux? Тревожные новости, однако.


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 13:03 
Не станет. Си - это почти асм, простейшая реализация, "без колонок, без усилка и без защиты от дурака, которого ты тут валяешь, Ник". Ядро линукса будут писать только на Си, а что там понаприкручивают поверх него - это уже не забота Торвальдса

"Компания Apple представила язык программирования Swift 5"
Отправлено Анонимс , 26-Мрт-19 13:11 
> Ядро линукса будут писать только на Си

Речь идёт не о системном программировании ядра Linux, а о прикладном программировании, где как раз есть все шансы у Swift потеснить С/С++.



"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 13:46 
Пусть сначала хотя бы objective-c потеснит.

"Компания Apple представила язык программирования Swift 5"
Отправлено НяшМяш , 26-Мрт-19 17:26 
В линуксе?

"Компания Apple представила язык программирования Swift 5"
Отправлено Fnjv , 27-Мрт-19 12:29 
Swift даже на маке никому не сдался, все как кодили на Оbjective-С так и дальше будут. Swift мертворожденное поделие.

"Компания Apple представила язык программирования Swift 5"
Отправлено Попугай Кеша , 26-Мрт-19 14:06 
XCode формочки уже научился собирать под Linux? XCode может быть есть под Linux? Нет? Не соберет. Swift-разрабы на рынке дорогие. Они нужны на Mac/iOS.

А Linux swift чисто по фану.


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 14:44 
> Они нужны

не очень


"Компания Apple представила язык программирования Swift 5"
Отправлено Попугай Кеша , 26-Мрт-19 15:21 
Зависит от рынка труда

"Компания Apple представила язык программирования Swift 5"
Отправлено НяшМяш , 26-Мрт-19 17:30 
Я бы не отказался поменять nodejs на swift (тем более что я его знаю) в бекенд разработке. Из альтернатив заказчики рассматривают разве что Go, но язык (будем честными) весьма упрт и сильно отличается от С-подобной группы языков. На Java тоже нет особого желания писать, там свои приколы (разве что на Kotlin перейти - но опять же заказчики).

"Компания Apple представила язык программирования Swift 5"
Отправлено rex , 21-Май-19 18:25 
Как бы представляете архитектуру бекенда на swift?
У него, вроде, нет GC; prefork?

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 17:03 
>о прикладном программировании, где как раз есть все шансы у Swift потеснить С/С++.

Objective-C не потеснил, и это при том, что Objective-C входит в состав GCC, с чего бы их потеснить Swift-у?


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 13:57 
Посмотрим сколько у Apple займёт времени переписать WebKit Safari с С++ на Swift. А вообще лично я ещё ни разу не видел, чтобы этим Swift кто-то из программистов пользовался.

"Компания Apple представила язык программирования Swift 5"
Отправлено Попугай Кеша , 26-Мрт-19 14:06 
Разработчики на Swift c 99% вероятностью разрабатывают на Mac/iOS. Сюрприз? Нет?

1% - такие чудики как на этом сайте


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 14:41 
Ну вот например Skype для макоси написан на Typescript/javascript, а для iOS многие пишут на  Xamarin или Qt. Никто не заморачивается с native API уже давно.

"Компания Apple представила язык программирования Swift 5"
Отправлено FedeX , 26-Мрт-19 14:55 
>Ну вот например Skype для макоси написан на Typescript/javascript, а для iOS многие пишут на  Xamarin или Qt. Никто не заморачивается с native API уже давно.

Каждое утверждение в этой цитате - чушь.


"Компания Apple представила язык программирования Swift 5"
Отправлено Попугай Кеша , 26-Мрт-19 15:21 
Тут ошибка в слове многие ) Многие среди его окружения видимо из 2.5 студентов-разработчиков
Насчет Skype для MacOS не знаю. Но все возможно

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 16:09 
Если ты не знаешь даже насчёт Skype для macOS, то ты не знаешь ничего, как и комментатор выше.

"Компания Apple представила язык программирования Swift 5"
Отправлено FedeX , 26-Мрт-19 17:32 
Ой помню как Делфисты радовались в свое время, что скайп на делфи написан и везде в пример ставили типа "великие аппы, писанные на Делфи". Ладно, подловили)) Хотя, конечно, все, что там более менее низкоуровневое, работа с камерой, звуком, звонки - там конечно не на тупомскрипте или js-е... Тоесть веб макак посадили только UI сверстать.
Но касательно "Никто не заморачивается с native API уже давно." - это по прежнему чушь. Не заморачиваются только те, кто ничего сложнее калькулятора или там rest-клиента к какому-нибудь онлайн магазину не пишут.

"Компания Apple представила язык программирования Swift 5"
Отправлено Сишник , 26-Мрт-19 18:24 
Приложение для видеозвонков на жс делается очень легко благодаря WebRTC, так что js понятный выбор в этом случае. Правда у меня на i7 тестовый пример с 640*480 так себе по перформансу работал.

"Компания Apple представила язык программирования Swift 5"
Отправлено FedeX , 26-Мрт-19 19:03 
Оно там уже научилось без проблем звонить хотя бы между Firefox/Chrome и другими браузерами? Про поддержку других протоколов, кодеков и любых возможностей не входящих в минимум описанный в спеках WebRTC, конечно, вообще молчу. Но да, для того чтобы сделать еще один глючный клон скайпа этого и не надо. Так уж сложилось, что для бизнеса в большинстве случаев качество не нужно - нужно как можно быстрее состряпать корявый клон. И тут веб подходит как нельзя лучше - натренировались уже на вордпрессах с джумлами клоны лендингов делать, че.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 16:13 
Telegram для макоси на Qt если что. И все эти приложения не то что не выглядят чужеродными, они выглядят лучше какого-нибудь iMovie например.

"Компания Apple представила язык программирования Swift 5"
Отправлено НяшМяш , 26-Мрт-19 17:34 
Версий Telegram для макоси две, если что ) На Qt и нативная на Swift. На хакинтоше юзаю Qt версию просто потому что она такая же как на винде и линуксе. А вот на макбуке лучше оказалась свифтовая версия - у кутяшной есть всплески по CPU, когда открывается картинка или видос в чате, что макбук на взлёт идёт и energy impact от него самый большой получается.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 18:22 
Всплески и energy impact там не от видео, а от блокировок роскомпозора.

"Компания Apple представила язык программирования Swift 5"
Отправлено Fnjv , 27-Мрт-19 12:33 
Какую версию Хакинтоша юзаете?

"Компания Apple представила язык программирования Swift 5"
Отправлено Fnjv , 27-Мрт-19 12:31 
На Мак/iOS кодят на Objective-C и только пара хипстеров-велосипедистов на Swift.

"Компания Apple представила язык программирования Swift 5"
Отправлено prokoudine , 26-Мрт-19 15:56 
> А вообще лично я ещё ни разу не видел, чтобы этим Swift кто-то из программистов пользовался.

Ты не видел программистов, пишущих под iOS. Окей.


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 16:23 
Видел разумеется. Но пишут они на Xamarin и Objective-C.

"Компания Apple представила язык программирования Swift 5"
Отправлено prokoudine , 26-Мрт-19 17:10 
ObjC и есть нативка для iOS.

Последняя студия, которых мы собеседовали на проект, пишут именно натив -- и ObjC, и свифт. Замарин не любят и почти не используют.


"Компания Apple представила язык программирования Swift 5"
Отправлено НяшМяш , 26-Мрт-19 17:37 
Пользуюсь Swift с конца 2015 года. На ObjC один раз за 3 года написал маленький лоадер для программы и то только потому, что бинарник-запускалка на 50 строк получился аж в 6 метров на свифте против 40 кб на обжси. И как раз это и должен починить 5 свифт.

"Компания Apple представила язык программирования Swift 5"
Отправлено Свифтон , 26-Мрт-19 18:27 
> чтобы этим Swift кто-то из программистов пользовался.

кодовая база Телеграм реализована на Swift под OS X и iOS. На iOS он называется Telegram X и садит батарею меньше чем C++ с Обж Ц обвязкой.

В 2020 Apple выкатит единый фреймворк разработки приложений под iOS/OS X под названием Марципан
https://www.imore.com/marzipan

Очевидно, что это будет Swift-only фреймворк и число разработчиков под мобилы/десктопы только увеличится, так как обналичивать монеты с двух платформ куда веселее, чем с одной.


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 15:00 
Но ведь гуй, работающий и на десктопе, и на мобиле, обычно работает плохо и там и там? Чувствую, кактус получится.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 18:54 
Kotlin Native по сути улучшенная версия Swift. При этом позволяет совмещать код на Swift с кодом на Kotlin примерно так же как Kotlin JRE c Java.

"Компания Apple представила язык программирования Swift 5"
Отправлено Мишаня_тупой_ватник , 27-Мрт-19 20:35 
Булки расслабь и тревожность отступит. С/С++ ещё сотни лет будут рулить.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 12:56 
Продуманный язык. Жаль, что уже не сможет вытеснить Go

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 13:13 
> Продуманный язык.

Уберите клоуна с арены! Свой индивидуальный синтаксис под каждую микрофичу - это "продуманный"? Понатыкали кусков из разных языков и зарелизили что получилось, не более.

Продуманный - это Lisp, C.


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 16:37 
C - более-менее, а вот lisp - да, продуманней некуда. Но это только потому, что проще тоже, наверное, некуда.

"Компания Apple представила язык программирования Swift 5"
Отправлено freehck , 27-Мрт-19 03:08 
> lisp - да, продуманней некуда. Но это только потому, что проще тоже, наверное, некуда.

Проще?! Вы вообще лиспы видели?


"Компания Apple представила язык программирования Swift 5"
Отправлено Анон102010210 , 26-Мрт-19 16:35 
Жаль только медленный ппц и в компиляции и в принципе. Даже на том же godbolt можно сравнить: для аналогичных функций в swift раза в 2,5 - 3 больше ассемблерного кода чем на С++. Я понимаю что объем asm кода это не всегда надежный показатель, но в большинстве случаев все же позволяет делать уверенные выводы.

"Компания Apple представила язык программирования Swift 5"
Отправлено НяшМяш , 26-Мрт-19 17:46 
Ну язык и не позиционировался как убийца плюсов. В первую очередь эппл хочет перетащить на него побольше разрабов с Obj-C и протащить как язык для бекенд разработки (даже сделали отдельный комитет под это https://swift.org/server/). Они хотят своими фичами сразу на два стула сесть. А системным языком его и не называли никогда. В той же макоси драйвера пишутся на ограниченном подмножестве C++ (без исключений и ещё чего-то), даже не на обжективе (ибо медленный).

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 14:24 
Документация/книги на русском есть?

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 16:15 
Литературы масса. В т.ч. на русском. Жалко, мне не пригодилась, ибо пишу на С++/Qt для Linux/macOS/Windows 100% кроссплатформенный код.

"Компания Apple представила язык программирования Swift 5"
Отправлено Анон102010210 , 26-Мрт-19 16:37 
Мне пару раз пригодилось. Довольно лаконичный язык

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 19:17 
А UI там можно писать для Linux платформы? Примеры связко с сишным кодом есть?
Под другие дистрибутивы надо собирать или кто-то добренький есть?

"Компания Apple представила язык программирования Swift 5"
Отправлено Я , 26-Мрт-19 14:28 
остановитесь, зачем еще один язык, тут один то выучить не успеваешь, а еще кучу нагородили нахрена всякие гоу, свифты, вам че с++, си шарпа, джава, php мало?

"Компания Apple представила язык программирования Swift 5"
Отправлено Попугай Кеша , 26-Мрт-19 15:20 
А это для тех, чтобы мучать тех, у кого нет чувства меры и критического мышления

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 16:39 
"разделяй и властвуй"

"Компания Apple представила язык программирования Swift 5"
Отправлено НяшМяш , 26-Мрт-19 17:48 
Мало. Как ни крути, а на тот же иос без обжектива или свифта комфортно не пописать.

"Компания Apple представила язык программирования Swift 5"
Отправлено ffirefox , 26-Мрт-19 18:11 
Прямо слоган для рекламы простамола...

"Компания Apple представила язык программирования Swift 5"
Отправлено grsec , 26-Мрт-19 15:08 
> Официальные сборки подготовлены для Linux (Ubuntu 14.04, 16.04, 18.04) и macOS (Xcode)

Удивило в хорошем смысле.


"Компания Apple представила язык программирования Swift 5"
Отправлено yet another anonymous , 26-Мрт-19 15:44 
Каждому _языку_ --- по своему пакетному менеджеру, VCS, системе сборки!

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 16:19 
Чем C++/Qt не нравится? Работает на каждой платформе с нативным компилятором: clang, gcc, msvc.

"Компания Apple представила язык программирования Swift 5"
Отправлено Марк Шаттлворт , 26-Мрт-19 19:28 
>Чем C++/Qt не нравится?
>C++

Сложна и объективно не нужно в большинстве случаев.


"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 06:58 
Когда ваш продукт рабоатет на всех прошлых и будущих версиях ОС и ставится без плясок с бубном - это полезно.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 10:50 
жалко, что это не про Qt

"Компания Apple представила язык программирования Swift 5"
Отправлено Мишаня_тупой_ватник , 27-Мрт-19 20:42 
Такие вбросы стоит сопровождать фактами. Я вот вижу что на моём ПК с Дебиан и на вин-планшете тот-же smplayer юзающий qt работает одинаково отлично, а вы врёте.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 11:08 
Каждому _производителю_железок_ --- по своей операционке, язык, пакетному менеджеру, VCS, системе сборки и т.д.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 26-Мрт-19 19:32 
В комплекте идет Clang-7. Забавно.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 07:00 
И это хорошо. Clang в силу его как бы повышенной строгости способствует улучшению качества кода, даже если вы создаете основную версию программы не в нем.

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 19:03 
Ты сам то понял что сказал?

"Компания Apple представила язык программирования Swift 5"
Отправлено Аноним , 27-Мрт-19 19:18 
Под WIdnows то есть версия?

"Компания Apple представила язык программирования Swift 5"
Отправлено Мишаня_тупой_ватник , 27-Мрт-19 20:43 
А нафига оно под виндой(как и под линуксом)?