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

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

Отправлено opennews , 20-Сен-16 10:08 
Компания Apple объявила (https://swift.org/blog/swift-3-0-released/) о выходе языка программирования Swift 3.0 (https://swift.org), первом значительном выпуске после открытия (https://www.opennet.me/opennews/art.shtml?num=43451) исходных текстов проекта. Официальные сборки подготовлены для Linux (Ubuntu 14.04, 15.10) и macOS (Xcode). Исходные тексты распространяются (https://github.com/apple/swift) под лицензией Apache 2.0.

В новом выпуске отмечается значительное расширение порта для платформы Linux, в состав которого включён ранее недоступный для  Linux набор библиотек Swift Core Libraries (https://swift.org/core-libraries/). Версия для Linux не привязана к Objective-C Runtime, что позволяет использовать язык в окружениях, в которых отсутствует поддержка Objective-C. В основной состав также включён пакетный менеджер  Swift Package Manager (https://swift.org/package-manager/), предоставляющий средства для распространения модулей и пакетов с библиотеками и приложениями на языке Swift. Пакетный менеджер включает средства для управления зависимостями, систему автоматизированной загрузки, сборки и связывания компонентов.


В сам язык также включена большая порция изменений, в том числе нарушающих совместимость с выпусками Swift 2.2 и 2.3. Например, удалена поддержка синтаксиса определения функций "func foo(x: Int)(y: Int)", удалена возможность применения выражения "var" в блоке аргументов функций, прекращена поддержка операторов "++" и "--", прекращена поддержка циклов "for" в стиле языка Си, проведена унификация API (переименовано (https://github.com/apple/swift-evolution/blob/master/proposa...) большинство функций) и полностью изменены средства для импорта Objective-C API в  Swift.


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

URL: https://swift.org/blog/swift-3-0-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=45177


Содержание

Сообщения в этом обсуждении
"Компания Apple представила язык программирования Swift 3.0"
Отправлено омномномнимус , 20-Сен-16 10:08 
>набор библиотек Swift Core Libraries

ура, можно не использовать сторонние костыли.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено anonimous , 20-Сен-16 10:27 
> ура, можно не использовать сторонние костыли.

Такие, например, как язык Swift?


"Компания Apple представила язык программирования Swift 3.0"
Отправлено омномномнимус , 20-Сен-16 10:40 
такие как сторонние базовые библиотеки, петросян.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено НоНейм , 20-Сен-16 19:24 
Воуу.. воу придержите лошадей!
Только objectiveC решился учить :)

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Andrey Mitrofanov , 20-Сен-16 19:28 
> Воуу.. воу придержите лошадей!
> Только objectiveC решился учить :)

Решительнее надо. GNU Guile -- и пнеслась!


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 10:13 
> "func foo(x: Int)(y: Int)", удалена возможность применения выражения "var" в блоке аргументов функций, прекращена поддержка операторов "++" и "--", прекращена поддержка циклов "for"

Попахивает 3,5 миллимитровым портом


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 11:15 
Вот мне интересно, почему и отчего дезигнерам новомодных поделок так свербит от операторов инкремента/декремента ?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено A.Stahl , 20-Сен-16 11:39 
Пытаются, вероятно, избавиться от частных случаев.
Хотя мне становится грустно когда я представлю себе смещение по указателю или итератору без этих операторов. Но, возможно, в Swift нет ни указателей ни итераторов?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено None , 21-Сен-16 09:43 
Я так понимаю, когда компьютеры были большими, а компиляторы не очень оптимизирующими, эти операторы позволяли задействовать автоинкрементный/автодекрементный режимы адресации.
Сейчас-то видимо уже пофиг.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 11:40 
клоун: в основном их использовали в циклах, если цикл записывается по другому, то и особой необходимости в них нет.

Си:
for(int i=1; i<=10; i++) {}

Swift в стиле Си:
for var i=1; i<=10; i++ {}

Swift:
for i in 1...10 {}

Они создают свой синтаксис, который при нормальном написании кода, более удобочитаемый. А оператор "++" к удобочитаемым не относится. Си вообще - вещь в себе. Если привыкнуть, то язык удобный, но к нему ещё нужно привыкнуть.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено freehck , 20-Сен-16 12:27 
> Они создают свой синтаксис

Скорее заимствуют. В лиспах уже 30 лет как (for ((i (in-range 10))) <block>).

> А оператор "++" к удобочитаемым не относится.

Неужели. i++ и inc(i) - такая большая разница?


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 13:46 
клоун: ++а-а++ по-твоему читаемо? И ты точно помнишь приоритет операций в Swift и сможешь сказать результат выполнения выражения, если а=1?

Другой пример:

(а++)+(а++)

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


"Компания Apple представила язык программирования Swift 3.0"
Отправлено iPony , 20-Сен-16 13:48 
http://lh5.ggpht.com/_0W-IrdaBLsY/Sbl7jupRAMI/AAAAAAAACiI/sQ...

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Andrey Mitrofanov , 20-Сен-16 14:36 
>/0_22686_824d2f76_L.jpg

Лошадиным хьюмором -- по клоуну. Богато.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено hhg , 20-Сен-16 15:30 
три тупака!
i расположена в области памяти портов вывода.
нормальная такая цветомузычка на пинах будет :-P
а вообще, это операция передёргивания..

"Компания Apple представила язык программирования Swift 3.0"
Отправлено eganru , 20-Сен-16 16:33 
i расположена в области памяти портов вывода - swift не имеет целью взаимодействовать с оборудованием напрямую.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено hhg , 20-Сен-16 16:42 
при чём тут свифт???
смотри рисунок про трёх тупых укурков.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено ы , 23-Сен-16 16:58 
результат постфиксного оператора не меняет операнд, и он имеет больший приоритет, чем префиксный, придурок. это вообще не скомпилируется.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Crazy Alex , 20-Сен-16 14:00 
Есть вагон всяких нечитаемых конструкций. на то есть review и статический анализ. Потому что критерии "нечитаемости" для всех разные.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 14:49 
клоун: мы о разном говорим.

Взять японский, в котором у каждого (!) слова минимум два варианта произношения: бог = kami, shin; гора = yama, san; ветер = kaze, fu.

Это косяк языка, который не исправить никакой синтаксической конструкцией, и можно только накосячить ещё больше.

Вот такие синтаксические косяки есть и в ЯП.

Другой случай - многословное или содержащее не те слова описание. Напр. в русском часто используется фраза "с какой стати", хотя слово "стать" уже давно вышло из употребления. Фраза для выражения этой мысли нужна, но используемая реализация неправильная.

В ЯП есть ключевые слова и конструкции, которые тоже используются только в одном единственном случае и могут быть удалены или заменены на общеиспользуемые. Напр. циклы do-loop и while-wend в Паскале, которые объединили в Си.

Анализ написанного кода - это следующий этап, решающий задачу как с помощью ЯП (уже не важно хороший он или плохой) написать хороший код.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 16:34 
> Напр. циклы do-loop и while-wend в Паскале, которые объединили в Си.

do-loop и while-wend - это Visual Basic, а не Паскаль. А появился VB гораздо позже Си, так что пример совсем некорректен.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 22-Сен-16 01:27 
Клоун, разные чтения у иероглифов, а слова читаются однозначно.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено freehck , 20-Сен-16 15:01 
> клоун: ++а-а++ по-твоему читаемо?

А за такое руки обыкновенно отрывают. Не потому, что это не читаемо, а потому, что порядок вычисления таких конструкций оставлен на усмотрение компилятора, так что это выражение не портируемо без такой-то матери.

> В Swift реализована классическая схема, когда в процессе вычисления выражения значения переменных не изменяются.

Ага, как же.

<-- prog
var a = 0
func incr () -> Int {a = a+1; return a}
print("first: ", (incr()+a))
print("second: ", (incr()+incr()+a))

--> output
first: 2
second: 8


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 15:06 
клоун: ты привёл конструкцию, в которой программист сам захотел это сделать. Также это можно было сделать, создав функцию с передачей параметра по ссылке или функцию с отложенным вычислением.

ЯП не мешает тебе косяпорить, но оберегает от возможных косяков.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено freehck , 20-Сен-16 15:13 
> клоун: ты привёл конструкцию, в которой...

...в процессе вычисления выражения значение переменной изменяется.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено freehck , 20-Сен-16 15:19 
> ЯП не мешает тебе косяпорить, но оберегает от возможных косяков.

Вы бы посмотрели, что ли, на Haskell. Чтобы там накосяпорить, надо очень, очень хитро извернуться.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено твою м , 23-Сен-16 17:02 
использование хацкеля само по себе тот еще косяк

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 22-Сен-16 01:23 
Клоун, это undefined behavior. Только эксперты с опеннета не знают этого в 2016 году.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 13:00 
Подскажите, как в Swift сделать шаг цикла переменной длины?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 13:02 
Вам это не нужно. Think different, мля.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 13:05 
Наверное так:

for i in 1...10 { j = i * cycle_step; foo(j); }

Через задницу конечно, но это же яблочники у них все так.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Andrey Mitrofanov , 20-Сен-16 14:38 
> for i in 1...10 { j = i * cycle_step; foo(j); }

`cycle = random()` -пропустил! Внутри цикла. Переменной же длины.

> Через за


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 13:50 
for i in stride(from: 0, to: 10, by: x)

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 20:16 
Даааа, ЭТО конечно читабельнее чем C чего уж там.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 21-Сен-16 00:51 
Вернись в свой убогий цирк под колеса..

"Компания Apple представила язык программирования Swift 3.0"
Отправлено абвгдейка , 21-Сен-16 21:08 
так не от операторов, а от x = y++ ++z

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 22-Сен-16 11:24 
Так никто на практике и не пишет.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено абвгдейка , 23-Сен-16 19:53 
> Так никто на практике и не пишет.

ну не совсем так, но x = ++y бывает и не надо за всех :)


"Компания Apple представила язык программирования Swift 3.0"
Отправлено A.Stahl , 20-Сен-16 10:21 
Да никто не будет использовать этот язык вне Apple инфраструктуры.
Objective C не использовали, не будут и Swift использовать.
Это телодвижение бессмысленно и сродни тому, как Microsoft что-то там открывает и портирует.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено АНонимБ , 20-Сен-16 10:28 
У Аппле хватит денег что-бы заинтересовать других разработчиков.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено A.Stahl , 20-Сен-16 10:35 
Сомневаюсь. Единственное применение я вижу лишь в том, что разработчики привыкшие к инструментам Apple, которым вдруг стало нужно написать что-то под Линукс, смогут использовать привычный инструментарий. Это сродни тому, что я не стал изучать Яву, а пишу под Андроид на Си++. Если бы такой возможности не было, то разобрался бы в Яве. А раз она есть, то я доволен. Т.е. это не заявка на успех и расширение своей сферы влияния, это просто помощь своим родным разработчикам.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено fail , 20-Сен-16 12:13 
> Сомневаюсь. Единственное применение я вижу лишь в том, что разработчики привыкшие к
> инструментам Apple, которым вдруг стало нужно написать что-то под Линукс, смогут
> использовать привычный инструментарий. Это сродни тому, что я не стал изучать
> Яву, а пишу под Андроид на Си++. Если бы такой возможности
> не было, то разобрался бы в Яве. А раз она есть,
> то я доволен. Т.е. это не заявка на успех и расширение
> своей сферы влияния, это просто помощь своим родным разработчикам.

Кстати, удивляют лица, оcoбeннo физические,
ваяющие аппликухи (ocoбливо) общего назначения под закрытые плaтфopмы vеndоro`ff.

Где их софт - по настроению левой пятки "любого департамента"  могут "вышвырнуть на мороз или аполитично грохнуть".


"Компания Apple представила язык программирования Swift 3.0"
Отправлено A.Stahl , 20-Сен-16 12:18 
Ты про Андроид? А некуда от него деваться. Ему пока нет альтернативы. Во всяком случае лучшей альтернативы.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено fail , 20-Сен-16 12:33 
> Ты про Андроид? А некуда от него деваться. Ему пока нет альтернативы. Во всяком случае лучшей альтернативы.

И не только..

Cкopее про так называемый механизм "marketa" в глобальном смысле этого слова - AppStore, GoogleMarket, PlayStore и прочая подобная игра слов.

К всему, к чему прикacaются наши нaглocaксонские кaмpaды, к-рые нам совсем не камрады, или подыхает (см. Nokia с N9, Meego, Maemo), или пpeвpaщается в "бaзap".


"Компания Apple представила язык программирования Swift 3.0"
Отправлено A.Stahl , 20-Сен-16 12:49 
Какой такой базар? Что именно ты имеешь в виду? И кто эти "вы", которым англо-саксонцы не друзья?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 13:06 
Наверное разработчики славянского ПО.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено fail , 20-Сен-16 13:12 
> Наверное разработчики славянского ПО.

можно и финского нарда и совта добавить..


"Компания Apple представила язык программирования Swift 3.0"
Отправлено fail , 20-Сен-16 13:11 
>Какой такой базар?

его величство "рынок" в вульгарном смысле

> Что именно ты имеешь в виду? И кто эти "вы", которым англо-саксонцы не друзья?

игра слов - имеется в виду, "Я" как пользователь продукта

P.S.
все, убег арбайтен


"Компания Apple представила язык программирования Swift 3.0"
Отправлено _ , 20-Сен-16 17:08 
>Кстати, удивляют лица, оcoбeннo физические, ваяющие аппликухи (ocoбливо) общего назначения под закрытые плaтфopмы vеndоro`ff.

А чего удивительного в людях желающих сделать копеечку?!
Вот когда с опенсорса бабла попрёт столько же - они все тут будут. МатреализьмЪ рулит.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено fail , 20-Сен-16 22:47 
>А чего удивительного в людях желающих сделать копеечку?!

да не в "копеечках" дело, не была уловлена суть моего поста

самое поверхностное:
просто vendors в любое время, по любой, с потолка, причине, могут:
- у пользователя грохнуть аpp
- а девелоперское лицо/аккаунт с "программной нетленкой" проводят на выход


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Яблочный Ононим , 20-Сен-16 15:52 
Мусье наверное судит по себе? Но в Омериге и прочих "цывiлiзованных" краынах разработка для огрызка очень популярная заба и хорошо оплачиваемая. Поэтому swift будет очень популярен, в своё время. Современные ЯП тот же товар и большинство современных погромистов это хипстеры гонящиеся за стильным, модным, молодёжным.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено anonymous , 22-Сен-16 11:28 
Тыц
http://www.ibm.com/cloud-computing/bluemix/swift/

Тыц
https://swiftlang.ng.bluemix.net/#/repl

Тыц
https://github.com/IBM-Swift

Вобщем ЦЫЦ!


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 10:25 
Вон даже web-фреймворки делают: https://github.com/vapor/vapor

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 10:49 
че у него с работой с бд/ui?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено омномномнимус , 20-Сен-16 10:53 
для макос - нативно, для остального - ничего нет. Как всегда ;-)

"Компания Apple представила язык программирования Swift 3.0"
Отправлено НяшМяш , 20-Сен-16 13:46 
Ну на гитхабе есть ребята, которые не ноют, а пилят биндинги.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено nazarpc , 20-Сен-16 11:03 
Ubuntu 15.10 ж уже не поддерживается, почему не 16.04?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 13:45 
iPacket?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 19:08 
Это так и должно быть, что весь софт нужно переписывать каждый релиз свифта из-за несовместимостей на уровне синтаксиса?

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Andrey Mitrofanov , 20-Сен-16 19:23 
> Это так и должно быть, что весь софт нужно переписывать каждый релиз
> свифта из-за несовместимостей на уровне синтаксиса?

Ну весь PHP ж переписывают?  И ничего!


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 21-Сен-16 17:22 
В PHP оставляется обратная совместимость. Если не бежать впереди паравоза и не использовать фичи сразу, как только они появились, то код будет работать долго. php4-style конструкторы удалили только в php7.

Код же на свифте надо переписывать КАЖДЫЙ код.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 22-Сен-16 07:10 
Пока да. У Swift еще не поддерживается сохранность API и ABI между версиями.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 20-Сен-16 19:09 
че только не придумают лишь бы не писать на джаве

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Я. Р. Ош , 20-Сен-16 19:21 
толсто

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 23-Сен-16 10:42 
> толсто

Толсто и тормозит.


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Отражение луны , 21-Сен-16 03:05 
Зачем нам ЭТО, если идеальный язык давно уже есть? Да, как вы уже догадались, я про яваскрипт.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 21-Сен-16 08:02 
не смешно

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Анонимаус , 21-Сен-16 06:41 
>Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты.

И че, посчитали, а удалять кто будет? В JVM тоже считают, вроде. Так почему один GC а другой не GC?


"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 22-Сен-16 01:36 
Уважаемый эксперт, в жвм не считают ссылки. Там вариации на тему mark&sweep сборщика, который обходит всю кучу и ищет недостижимые объекты.
А подсчет ссылок - это не сборка мусора, потому что, как написали выше, циклы не удаляет.

"Компания Apple представила язык программирования Swift 3.0"
Отправлено Аноним , 21-Сен-16 13:19 
> В JVM тоже считают, вроде

Наверное swift не справится с циклическими ссылками, поэтому не GC.