LINUX.ORG.RU

Swift 3.0

 


2

3

Официально представлена новая версия языка программирования Swift 3.0.

Swift 3 является первым крупным релизом со времени открытия исходных текстов, в котором представлены значительные улучшения и усовершенствования языка и стандартной библиотеки, большие дополнения в порт под Linux, и первый официальный релиз пакетного менеджера Swift Package Manager.

Порт для Linux теперь поставляется с Swift Core Libraries и Swift Package Manager.

Являясь крупным релизом, Swift 3 привносит изменения, которые делают язык несовместимым с версиями Swift 2.2 и 2.3 на уровне исходных текстов. Эти изменения затрагивают не только названия API стандартной библиотеки, но и то, как импортируются API из Objective-C (в частности из Cocoa) в Swift. Многие изменения в значительной степени являются механическими, и, чтобы помочь перевести проекты на новую версию языка, в Xcode 8.0 добавлен новый инструмент Swift Migrator. Также доступно руководство по миграции на Swift 3.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: DeadEye (всего исправлений: 2)
Ответ на: комментарий от Fawkes

блджад ну так я ведь с этого и начал - оформлено тогда коряво.

uin ★★★
()

Ебло-чники танцуют.

anonymous
()
Ответ на: комментарий от anonymous

Обязан всё знать и уметь

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

uin ★★★
()
Ответ на: комментарий от dzidzitop

я уверен, что и C и С++ в поставке «язык + стандартная библиотека» опередят этот Swift на любом наборе данных.

С небольшим отрывом.

RazrFalcon ★★★★★
()
Ответ на: комментарий от anonymous

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

к слову, думаю, что плюсы и с array<shared_ptr<T>> на большинстве архитектур будет быстрее. шаблонный инлайнинг поможет.

не думаю что array.sort(comparator) на свифте развернётся во что-то хорошее. хотя если развернётся, то хорошо. кто знает - скажите.

dzidzitop ★★
()
Ответ на: комментарий от RazrFalcon

lto тогда может помочь.

а пока что - наши ёлочные игрушки приносят на 13% больше радости, чем ёлочные игрушки от других производителей.

dzidzitop ★★
()
Ответ на: комментарий от uin

Вывод типов это корректный термин.

anonymous
()

Я сказал swift не нужен!

anonymous
()
Ответ на: комментарий от anonymous

запилить полезную библиотеку

anonymous
()
Ответ на: комментарий от dzidzitop

LTO тут при чём? Он и в gcc есть.

Само устройство языка подразумевает высокую производительность. Не системщина, но уже не скрипты. Самый близкий аналог - Qt.

RazrFalcon ★★★★★
()

Являясь крупным релизом, Swift 3 привносит изменения, которые делают язык несовместимым

Вы серьёзно? Это щас так модно или хипстеры и так проглатывают?

ii8_ ★★★★
()

Щупал его пару лет назад. Пересахаренный он какой-то. Если свой код на си перестаешь понимать через месяц-два, то на swift понимать написанное не представляется никакой возможности уже на этапе написания.

unt1tled ★★★★
()
Ответ на: комментарий от anonymous

benchmarksgame уже давно не авторитетный источник. Да и синтетика - это не то.

RazrFalcon ★★★★★
()
Ответ на: комментарий от Pythagoras

Что за мода тащить пакетные менеджеры в языки программирования и текстовые редакторы? Установкой библиотек, плагинов и обновлений должен заниматься только системный пакетный менеджер. Любой файл в системе, не созданный пользователем явно, должен быть под контролем системного пакетного менеджера.

maven передает пламенный привет

unt1tled ★★★★
()
Ответ на: комментарий от Pythagoras

Установкой библиотек, плагинов и обновлений должен заниматься только системный пакетный менеджер.

Ага, так и представил себе минтейнера обновляющего каждый Hackagе, нескончаемые списки пакетов без описания загружающиеся по пол часа и питоноскрипты упакованные в deb пакеты.
Шел бы ты с такими идеями.

uin ★★★
()
Ответ на: комментарий от Pythagoras

Ты забыл самое главное: ПОЧЕМУ?

Deleted
()
Ответ на: комментарий от anonymous

в pony тоже. Только там вывод типов есть, а самого ЯП пока не очень.

AVL2 ★★★★★
()
Ответ на: комментарий от uin

Батенька, вы далеко в опе и еще дальше от программирования.

let a = «string» - компилятор сам определить тип и установит его.

Ну а ежели вы больны слабоумием, то для вас есть такая кострукция

let a: String = «string», ну так

Между прочим такая практика уже в куче новых языков.

anonymous
()
Ответ на: комментарий от ii8_

Видать тот быдлокод, который на нем пишут, становится не нужен сразу после написания. Живут по принципу «поддержка не нужна, а завтра новую версию выпустим»

gns ★★★★★
()
Ответ на: комментарий от gns

хочется «чтоб оно как-то устаканилось сначала»

Напрасно драматизируешь. Во-первых, есть Swift Migrator. Во-вторых, оставшиеся после мигратора несовместимости добить не сильно более трудоемко, чем потратить это же время на нытье на новостной ленте ЛОР-а. Даже для кодовой базы в десятки мегабайт.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от uin

Выйди из своих 89х. Погугли, хотя... у вас там Интернета то нет =))

anonymous
()
Ответ на: комментарий от gns

Если бы это было какое-то говно вроде жс, которое нереально рефакторить, я бы ещё понял. Но это же отличный статически типизированный язык! Мигрировать - раз плюнуть. Не ной. Тем более, что ты на нем и так не пишешь.

cdshines ★★★★★
()

Вроде как и не нужно, но так как это не говноRust, то пусть будет.

anonymous
()
Ответ на: комментарий от cdshines

Отлично =) Переходят на Kotlin ;)

anonymous
()
Ответ на: комментарий от cdshines

за джаву не скажу, а вот с++-ный проект пятнадцатилетней давности длиной под миллион строк править приходилось...

И да, долгое время править существующее мне приходилось больше, чем писать новое. Увы, такова судьба «корпоративных» программистов.

gns ★★★★★
()
Ответ на: комментарий от cdshines

Ну вот собераюсь :) Долги отдам, дособеру недостающие 50 штук на макбук про... И вот тогда заживем!! :)))

gns ★★★★★
()
Ответ на: комментарий от Manhunt

Мигратор запустить недолго. Осознать изменения гораздо дольше :) Удивляет скорость, с которой появляются изменения. Может, за два-три года становления языка оно так и надо, но зачем называть это «production-ready»?

gns ★★★★★
()
Ответ на: комментарий от Deleted

Эта суета с релизами мне напоминает анекдот про ежегодный съезд байкеров на смотровую площадку. -- Так что с вами общаться? Вы каждый год новые :)

gns ★★★★★
()
Ответ на: комментарий от gns

Может, за два-три года становления языка оно так и надо, но зачем называть это «production-ready»?

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

ptarh ★★★★★
()
Ответ на: комментарий от madjestic

под Android уже можно конпейлять?

Да, можно, но GUI либо с помощью opengl (в теории), либо гуглите How we put an app in the Android Play Store using Swift (за июль этого года). Там три статьи. Гемморно пока.

anonymous
()
Ответ на: комментарий от gns

Долги отдам, дособеру недостающие 50 штук на макбук про...

Как то мало платят этим вашим «корпоративным» программистам, которые правят «с++-ный проект пятнадцатилетней давности». Вот если бы говнокодил на свифте, то на макбук хватило бы.

pftBest ★★★★
()

NIH-синдром, честное слово. Тусят все там друг рядом с другом в Калифорнии, но каждому нужно обязательно изобрести свой язычок. Одним - Objective-C и Swift, другим - Rust, третим - Go. А собраться вместе, поделиться опытом и выбрать что-то одно - ну никак))

asaw ★★★★★
()
Ответ на: комментарий от pftBest

Да нормально платят :) Еще и жилье съемное оплачивают. Других трат полно...

gns ★★★★★
()
Ответ на: комментарий от ptarh

а так завываешь, нам на потеху.

Да, я гоню, а ты ведёшься...

gns ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.