LINUX.ORG.RU

Swift 4.0

 ,


1

3

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

Swift 4.0 является значительным обновлением языка и включает в себя следующие языковые изменения и обновления, которые прошли через процесс Swift Evolution:

  • Строки
    • Swift 4 включает в себя более быструю и удобную реализацию строк, которая сохраняет правильность Unicode и добавляет поддержку для создания, использования и управления подстроками.
  • Коллекции
    • Swift 4 добавляет улучшения для создания, использования и управления типами коллекций.
  • Архивирование и сериализация
    • Swift 4 поддерживает архивирование типов struct и enum и типобезопасную сериализацию внешних форматов, таких как JSON и plist.
  • Новые режимы совместимости
    • С Swift 4 вам может не понадобиться изменять код, чтобы использовать новую версию компилятора. Компилятор поддерживает два режима: Swift 3.2 и Swift 4.0.
    • Режим указывается флагом -swift-version, который автоматически обрабатывается Swift Package Manager и Xcode.
  • Документация

Поддерживаемые платформы

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

Ответ на: комментарий от mandala

Go
Ну почему, например для многопоточной обработки больших массивов данных очень даже подходить

Хуже языка для обработки данных чем Go представить нельзя. Я пример тут уже кучу раз постил http://dlang.ru/imgs/go-vs-d_2.png

Кстати, как тоже самое будет на Swift выглядеть?

Xroft ★★ ()
Ответ на: комментарий от m16a1
[1, 2, 3, 4, 5].reduce(0, {a, b in a + b })

Вот это я блин понимаю язык! Реально красивый синтаксис. Го-пники о таком даже мечтать не могли.

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

А в D везде так хорошо все или только в обработке данных? Просто он как-то ненужен и я думаю не случайно. И дело даже не в Александреску.

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

выглядит как лисп, нет типов и очень много скобок

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

Та ничего плохого. Я даже культурный поддерживаемый код на перле видел (gitolite, собственно). Тот же ruby мне импонирует, а у него много от перла.

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

В развитии gcc сделал для С в 1 000 000 раз больше AT&T

Маргинальный компилятор, с поддержкой по остаточному признаку в >большинстве операционных систем.

Даже если это так, это не отменяет того, что он сделал больше для Си чем ... Да и это не мешает ему быть лучше всех :)

Никто ничего не собирается менять, но ведь swift действительно >намного удобней жабки.

Джабка старый язычок, но Kotlin, Scala, Clojure, Fantom, Ceylon выбирайте, любой не хуже.

«Create iOS Apps in Java». «Меня терзают смутные сомненья». Да и >>в топовости компиляторостроения грызет какой-то червячок.

Какие же вас терзают сомнения? Поделитесь с нами. Если уж эта компания не топовая в компиляторостроении, то аппле ...

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

Из-за угрёбищного дизайна Go почти что угодно будет круче Go

У Go великолепный дизайн. Любой джун может понять код любого другого джуна за 5 минут не напрягаясь. Кто ещё может таким похвастаться?

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

gcc не мешает ему быть лучше всех :)

И генерируемый код - так себе, и по возможностям не очень. Тройка с минусом.

Kotlin, Scala, Clojure, Fantom, Ceylon выбирайте, любой не хуже.

Кто все эти люди? Под андроид?

Какие же вас терзают сомнения?

Подавится жаба яболоком, вот не взлетит - Талебом не надо быть.

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

Конечно. Они же капиталисты. Законно украл, значит заработал. Вот как коммунизм построят, так эта лавочка прикроется.

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

Просто он как-то ненужен

да нужен нужен. Просто не всем.

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

gcc не мешает ему быть лучше всех :)

И генерируемый код - так себе, и по возможностям не очень. Тройка >с минусом.

Назовите кто делает это лучше.

Kotlin, Scala, Clojure, Fantom, Ceylon выбирайте, любой не хуже.

Кто все эти люди? Под андроид?

Kotlin вполне официально уже, Scala, Clojure, Ceylon работают, Fantom не официально.

Какие же вас терзают сомнения?

Подавится жаба яболоком, вот не взлетит - Талебом не надо быть.

Джабка не собирается есть яблоко, джабка с JVM чуствуют себя вполне комфортно, просто люди делают так, что бы не забивать голову ненужными аппле поделиями.

Smetchik ()

Линуксу нужен подобный язык - быстрый, современный, простой и удобный для UI. Не будет никакого года на десктопах, пока приложения пишут на сях с крестами и без.

Киллер-фичей была бы кроссплатформенность, особенно с учетом мобилок, а может и веба.

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

Линуксу нужен подобный язык - быстрый, современный, простой и удобный для UI...
Киллер-фичей была бы кроссплатформенность, особенно с учетом мобилок, а может и веба.

Ты охрененен. Разработчики Qt захлебнулись слюной от зависти.

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

Линуксу нужен подобный язык - быстрый, современный, простой и >>удобный для UI. Не будет никакого года на десктопах, пока >>приложения пишут на сях с крестами и без.

Swift быстрый? Современный да, родили 4 версии за коротки 4 года. Простой хм, ну не Go точно. Удобный для UI, и что сделано в этом направлении в swift для хотя бы linux?

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

Назовите кто делает это лучше.

Любая профессионалка Лучше делают что?

Kotlin вполне официально уже, Scala, Clojure, Ceylon работают, Fantom не официально.

Еше раз: «кто все эти люди»?

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

ненужными аппле поделиями

Вы «не такой как все»?

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

Любая профессионалка Лучше делают что?

И генерируемый код - так себе, и по возможностям не очень. Тройка >с минусом.

Выходите из запоя наконец.

Еше раз: «кто все эти люди»?

Просвещайтесь если не в курсе.

Вы «не такой как все»?

Нет только не такой как вы.

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

Еше раз: «кто все эти люди»?

Ну это слишком жирный троленк. Адвокат языка, который не существует вне Эпл экосистемы, гавкает на Kotlin, Scala, Clojure, лол.

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

Киллер-фичей была бы кроссплатформенность, особенно с учетом мобилок, а может и веба.

QML - двиг куда-то в ту сторону, но это несерьезный и небыстрый язык.

Если у тебя есть еще о чем-то мнение, то ты не стесняйся. Я пока ножичком на рабочем столе твои мысли буду выцарапывать.

Так, чтобы в веру обратиться: про соответствующие библиотеки что-нибудь расскажешь?

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

но это несерьезный и небыстрый язык.

Что значит «небыстрый»? Запускается долго - нет. Работает долго - тоже нет. У меня на первой малине крутится довольно шустро.

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

Ну это слишком жирный троленк. Адвокат языка, который не существует вне Эпл экосистемы, гавкает на Kotlin, Scala, Clojure, лол.

Угу, на андроиде. Они специально проектировались для разработки мобильных приложений. Таки Апокалипсис был прав: пора начинать заново.

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

про соответствующие библиотеки что-нибудь расскажешь?

Конечно, записывай: они тоже нужны.

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

Угу, на андроиде. Они специально проектировались для разработки мобильных приложений. Таки Апокалипсис был прав: пора начинать заново.

А вот оно что Михалыч, swift проектировался значит для мобильной разработки? Так какого он лезет в linux?

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

про соответствующие библиотеки что-нибудь расскажешь?

Конечно, записывай: они тоже нужны.

Да ты буквально матерь молочнотечная, никто не уйдет обиженным.

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

Угу, на андроиде. Они специально проектировались для разработки мобильных приложений. Таки Апокалипсис был прав: пора начинать заново.

Да кстати когда swift уверенно начнет обходить Джабку по скорости? А то периодически сливать языку на VM как-то :))))

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

Swift быстрый?

Не мерял, но статичный и компиляется в натив - значит, как минимум, может быть быстрым.

Простой хм, ну не Go точно

Go слишком простой, не хватает.

Удобный для UI, и что сделано в этом направлении в swift для хотя бы linux?

Сам язык удобный. То что инфраструктуры нет - другой вопрос %) я только про язык говорю, начинается-то с него.

Я вообще не свифт рекламирую, а говорю что не хватает подобного языка.

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

На Tcl аудиоплееры неудобно писать

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

Swift быстрый?

Не мерял, но статичный и компиляется в натив - значит, как минимум, может быть быстрым.

Компилятся в натив необходимое, но не достаточное условие. Пример Go, как бы не очень быстр.

Сам язык удобный. То что инфраструктуры нет - другой вопрос %) я только про язык говорю, начинается-то с него.

Нет нет, именно сейчас все начинается с инфраструктуры, коей на linux например ни разработчики не последователи swift не озаботились, вот разработчики Kotlin поступили ой как мудро, с начало сделали язык для JVM, а теперь пилят Kotlin native, я думаю их ждет успех :)

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

нет

Если верить их же доке - в разы медленее питона, а это точно не быстро.

хипстота не одобряэ?

Нет, но tcl, как и perl и подобные, - уже в прошлом и не вернутся. Просто констатация факта.

нет

Проверено временем. А на словах кому-то и лисп удобный.

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

Если верить их же доке - в разы медленее питона, а это точно не быстро.

К слову, а Tcl/TK с js/electron кто-нибудь сравнивал?

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

Но ведь Tcl уже существует

Из склепа смрадным воздухом пахнуло.
И вслед за тем тяжелые шаги
из тьмы раздались.

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

Хорошо, как называется использование чужого интеллектуального труда для получения прибыли путём продажи ПО или подписки на него, если результаты этого труда приобретены абсолютно задаром? Да, это законно, взять BSD программу, закрыть её, наваять что-то сверху и продавать за много денег. Или делать бинарные сборки Линукса и Мускула и продавать подписку на них. Но в некоторых государствах и людей есть тоже законно было совсем недавно. Или убивать досмерти за то, что они не поклонились надлежащим образом.

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

Ещё бы Grand Central Dispatch портировали бы на Linux.

Наверно уже сделали?...

Linux and Solaris support are provided within the upstream trunk.

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

вот Kotlin native зарелизят то у swift вообще шансы станут <0

Ну да, конечно. А то, что Apple переписывает кучу своих системных фреймворков на Swift, на GitHub'е публикуется уже целая куча всяких проектов общего назначения (не только под инфраструктуру Apple) на этом языке, IBM недавно заинтересовался Switf и сделал проект...

А тут никому нафиг неизвестная JetBrains выпустила какой-то там Kotlin, так сказать читай ещё один язычок под бедную JVM из тысячи их, и в будущем планирует прилепить к нему пришлёпку вида Native, чтобы хоть как-то не сливать в производительности абсолютно всем.

то вообще будущее swift печально.

Печально здесь только существовать в вашем манямирке и отрицать реальность.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от Smetchik

Пример Go, как бы не очень быстр.

? Вроде вполне хорош. Уступает сям - и ладно, не ОСь пишем.

Нет нет, именно сейчас все начинается с инфраструктуры

Ну вот есть какая-никакая инфраструктура в виде Qt/gtk, а результата мало. Много и качественно писать на C/C++ сообщество не может. QML - скриптота, не для серьезного проекта. Vala - хорошая попытка, но имхо ее своими силами не допилят, слишком сложный проект для сообщества.

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

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

О, мамкин обрабатыватель данных подтянулся.

Мальчик, в реальности обработка данных представляет собою конвейер:

Обработка данных из источников → Кладём куда нужно

И только потом уже считаем что нужно используя то, куда положили.

И основное время занимает организация доступа к данным источников и к их первичной обработке, а вовсе не подсчёт конечных метрик. Который, к тому же, гораздо проще делать с использованием какого-нибудь SQL, если оный поддерживается там, куда мы сливали обработанные данные (Clickhouse, Vertica, какой-нибудь Spark или Hive для любителей вёдер с болтам).

Go как раз очень хорошо подходит для первичной обработки.

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

Vala провалилась.

Товарищи пытались сделать что-то с шапровой семантикой, в итоге оно действительно такое. Только вместо шустренького выделения памяти под объекты (как в .NET) у них там malloc на каждый чих.

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

вот Kotlin native зарелизят то у swift вообще шансы станут <0

Ну да, конечно. А то, что Apple переписывает кучу своих системных фреймворков на Swift, на GitHub'е публикуется уже целая куча всяких проектов общего назначения (не только под инфраструктуру Apple) на этом языке, IBM недавно заинтересовался Switf и сделал проект...

Какие фреймворки(где я их на распрастраненных виндах и linux могу использовать)? Какие проекты значимые? Огласите весь список пожалуйста?

А тут никому нафиг неизвестная JetBrains выпустила какой-то там Kotlin, так сказать читай ещё один язычок под бедную JVM из тысячи их, и в будущем планирует прилепить к нему пришлёпку вида Native, чтобы хоть как-то не сливать в производительности абсолютно всем.

Вот заявочки, я не люблю этот сайт, но для наброса сойдет, когда ваш великий swift сделает убогую JVM только не так на тоненького, а вдребезги http://benchmarksgame.alioth.debian.org/u64q/swift.html С, С++, Ada, Rust делают это :)))

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