The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компания Apple выпустила язык программирования Swift 4.0

20.09.2017 08:05

После года разработки компания Apple представила релиз языка программирования Swift 4.0, второй значительный выпуск после открытия исходных текстов проекта. Официальные сборки подготовлены для Linux (Ubuntu 16.04, 16.10) и macOS (Xcode). Исходные тексты распространяются под лицензией Apache 2.0.

В отличие от прошлых выпусков в Swift 4.0 сохранена полная обратная совместимость с исходными текстами ветки Swift 3. Изменения в Swift 4.0 сосредоточены на расширении возможностей стандартной библиотеки и реализации таких возможностей, как архивирование/сериализация структур и перечисляемых типов (например, теперь поддерживается сериализация в JSON и plist). В состав включена новая реализация типа String, которая отличается более высокой производительностью, обеспечением корректности Unicode и предоставлением инструментов для создания, использования и манипуляций подстроками (substring, многострочные литералы). Расширены возможности словарей и коллекций (тип Collection).

Представлена новая команда "swift run" для сборки и запуска исполняемых файлов, определённых в текущем пакете. Реализована идея эксклюзивного доступа к памяти, предотвращающая ситуации, когда может быть произведено изменение переменой, которая в данный момент используется или изменяется в другой части программы. Расширены возможности пакетного менеджера, в который добавлена функциональность, упрощающая одновременную разработку нескольких пакетов (несколько пакетов одновременно могут помечаться для релиза), представлен новый Package API, позволяющий управлять настройками сборки.

Напомним, что язык 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, предоставляющий средства для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

  1. Главная ссылка к новости (https://swift.org/blog/swift-4...)
  2. OpenNews: Создатель LLVM и Swift уходит из компании Apple
  3. OpenNews: Компания Apple представила язык программирования Swift 3.0
  4. OpenNews: В язык Swift добавлена начальная поддержка платформы Android
  5. OpenNews: Компания Apple представила Swift 2.2, первый выпуск с поддержкой Linux
  6. OpenNews: Компания Apple открыла реализацию языка Swift и реализовала поддержку Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47235-swift
Ключевые слова: swift
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (76) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 08:45, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Конец Objective-C
     
     
  • 2.2, Аноним (-), 08:56, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так Свифт с блестками и быстрее. Кому нужен несвежий Objective-C?
     
     
  • 3.10, Payday (?), 10:52, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –12 +/
    Нормальным разрабам без смузи на столе
     
     
  • 4.11, Аноним (-), 11:00, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Стол - для хипстеров, чтоб подставлять его под смузи. Наши предки жили в пещерах и обедали на голой земле.
     
     
  • 5.20, Аноним (-), 12:51, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    PR-менеджер ЕР?
     
  • 5.21, Анонимный Аналитек (?), 13:02, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Наши предки жили в пещерах и обедали на голой земле.

    А почему это сразу те, кто не догадался подстелить листья, лапник или травку - общие предки? Говорите за себя!


     
     
  • 6.28, Аноним (-), 14:01, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Сейчас в одном известном новом кампусе лапник и травка одни из самых мягких и самых "зелёных". А вот тот, кто оказался не в состоянии себе такие подстелить, сейчас глотает лапшу и сойлент под звуки разваливающейся грохочущей нечисти из под стола и занимается или думает что занимается догадайтесь каким ПО ;)
     
     
  • 7.33, Анонимный Аналитек (?), 14:50, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Сейчас в одном известном новом кампусе лапник и травка одни из самых
    > мягких и самых "зелёных". А вот тот, кто оказался не в
    > состоянии себе такие подстелить, сейчас глотает лапшу и сойлент под звуки

    Я правильно понимаю, что акцент тут на "травке" и прочих галлюциногенах? Или в вашей секте еще и гипнозом обрабатывают?

     
     
  • 8.55, rshadow (ok), 17:38, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Походу он передает на частоте анального зонда Там свой язык, понятный только се... текст свёрнут, показать
     
     
  • 9.60, Аноним (-), 18:08, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я почему-то уверен, что конкретно тут маковод пел дифирамбы своему фетишу класс... текст свёрнут, показать
     
  • 3.71, Аноним (-), 22:49, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Знакомый писал полтора года на свифте, начиная с 2.сколько-то и заканчивая третьим (objc не знал совсем). Потом ему пришлось перейти на objc. Через пару месяцев сказал, что свифт - это как пластмассовый грузовичок на верёвочке, objc - как МаЗ.
     
  • 2.31, deb (?), 14:20, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Неа. Вот есть внешняя статическая библиотека (*.a), в objc можно написать "extern "C" libfunc(int argc, char** argv);" (если нет хедеров) и спокойно ее дергать, как в православной сишечке. В Swiftе - создаются три файла: 1) objc/objc++ с описанным выше вызовом, 2) h-файл для этой "прослойки", 3) *-bridging-header.h. Ну а потом, собственно, веселые вызовы, например для массива строк - создание мапы из UnsafeMutablePointer<Int8>. Весело.
     
     
  • 3.51, Аноним (-), 17:13, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В Swift точно также можно использовать C, нужен только h-файл, все символы будут импортированы автоматически (в Rust, например, нужно вручную генерировать обертку). Вы сравниваете интеграцию С + "другой язык" с интеграцией Obj-C + "другой язык". Умеет ли Rust собирать в одном проекте Rust + Obj-C? Может быть Go? C#? В них и С то не так просто работать.
     
  • 3.56, Аноним (-), 17:43, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    С преобразованиями тоже проблем нет. 1 раз написать 10 строк:

    // корректность не проверял
    extension Array where Element == String {
        init(cStringArray: UnsafePointer<UnsafePointer<Int8>?>) {
            var strings = [String]()
            var next = cStringArray
            while let pointer = next.pointee {
                strings.append(String(cString: pointer))
                next += 1
            }
            self = strings
        }
    }

    и можете дергать:
    let strings = [String](cStringArray: getCStrings())

     

  • 1.3, Аноним (-), 09:04, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    >  в Swift 4.0 сохранена полная обратная совместимость с исходными текстами ветки Swift 3

    вот это залог успеха. Бесшовный переход на новый компилятор в существующем проекте рулит. В некотором смысле, это один из столпов успеха C++: несовместимости если и были, то тривиальные

     
  • 1.4, Аноним (-), 09:17, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    подсчет ссылок - медленее gc
     
     
  • 2.6, ДяДя (?), 09:35, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А конкретно в Boost приводит к false sharing и просадками производительности, если указатель шарится между потоками.
     
  • 2.7, Аноним (-), 09:51, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Подсчет ссылок детерминированней, чем ГЦ
     
     
  • 3.17, Аноним (-), 12:37, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Будущее за "недетерминированными" технологиями, например нейросети.
     
     
  • 4.34, Аноним (-), 14:53, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +8 +/
    у вас смузи убежали
     
     
  • 5.45, Undefined (?), 16:06, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И лапку не пожали!
     
  • 4.72, й (?), 23:49, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ага "недетерминированная" rt os для экзоскелета, например
     
  • 3.23, Аноним (-), 13:22, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Каким образом?
     
     
  • 4.63, Аноним (-), 19:26, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Странный вопрос. По определению.
     
  • 2.48, Аноним (-), 17:08, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ваше заявление не является ложным до тех пор пока углубляешься в детали того как работает gc и схема с recount.
     

  • 1.8, Онаним (?), 10:17, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >  теперь поддерживается сериализация в JSON ... новая реализация типа String, которая отличается более высокой производительностью, обеспечением корректности Unicode и предоставлением инструментов для создания, использования и манипуляций подстроками (substring, многострочные литералы).

    И всего этого не было в языке, который изобрели в 2014-м году и позиционируют как что-то свежее и удобное? Капец. По-моему JSON и UTF8 должны быть в самое ядро языка встроены в наше время.

     
     
  • 2.9, Аноним (-), 10:36, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Речь про американцев, которым переключать раскладки не нужно, поэтому очевидность проблемы для них неочевидна.

    А для россиян неочевидны проблемы LTR/RTL или нестандартной цветовой гаммы (перенастрой так чтобы был белый текст на чёрном фоне и посмотри как "поплывут" цвета в приложениях вплоть до нечитаемости меню чёрное-на-чёрном) или крупного шрифта по умолчанию в меню и диалогах (иероглифы размером 8 пкс нечитаемы).

     
     
  • 3.40, Kodir (ok), 15:42, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Речь про американцев, которым переключать раскладки не нужно

    Узко мыслите. Юникод - это не только арабская вязь, но и эмоджы, псевдографика, пиктограммы, стрелочки и т.п. Если в языке нет юникода, это не язык - это студенческая параша для лабораторки. Собсно, эппля никогда и не отличалась умением делать языки - там всё больше дизигнеры. :)

     
     
  • 4.50, Аноним (-), 17:12, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Узко мыслите. Юникод - это не только арабская вязь, но и эмоджы, псевдографика, пиктограммы, стрелочки и т.п. Если в языке нет юникода, это не язык - это студенческая параша для лабораторки. Собсно, эппля никогда и не отличалась умением делать языки - там всё больше дизигнеры. :)

    Да что уж там. Супер языка XXI века - это язык поддерживающий исключительно эмоджи, псевдографику, пиктограмму и стрелочки. Все остальное - мусор и студенческая параша для лабораторки.

     
     
  • 5.64, Аноним (-), 19:32, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/

    Уже есть http://ekd.me/2017/09/marsianskij-yazyk-kak-kitajcy-obxodyat-cenzuru-v-intern

    Скоро и у вас


     
  • 5.80, Andrey Mitrofanov (?), 09:17, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Да что уж там. Супер языка XXI века - это язык поддерживающий
    > исключительно эмоджи, псевдографику, пиктограмму и стрелочки. Все остальное - мусор и
    > студенческая параша для лабораторки.

    https://ru.wikipedia.org/wiki/%D0%95%D0%B3%D0%B8

     
  • 4.58, Fyjybv2 (?), 18:04, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вас сейчас неправильно поймут и сделают операторы в виде эмоджи. Будете картинками писать программы
     
  • 2.13, anonymous (??), 11:33, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Юникод это, конечно, хорошо, но json то зачем? Сдохнет этот ваш js и всё, никому эта лапша будет не нужна.
     
     
  • 3.15, freehck (ok), 12:00, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так уж получилось, что распространение веба по миру сделало json универсальным форматом, для которого существуют отлаженные рабочие библиотеки почти во всех языках.

    Вот в нашей конторе долгое время использовались sexp-ы вместо json. В принципе та же ерунда, они один в другой перегоняются запросто. Но вот когда наши питонисты с явистами и вебниками полезли с sexp-ами работать, они нехило так огребли из-за отсутствия библиотек. Понаписали своих кривых реализаций, которыми как-то с матюками и справлялись со своими проблемами. В то же время, я смекаю, что если бы вместо sexp-ов для API и сериализации данных использовался бы json, проблем было бы на порядок меньше.

     
     
  • 4.19, Аноним (-), 12:48, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не, пихание JSON куда ни попадя — зло. Его возможность ограничены возможностями JS, так что он даже IEEE 754 не поддерживает. И как прикажете флоаты из нормальных языков сеарилизовать?
     
     
  • 5.22, angra (ok), 13:08, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    JSON ограничен своей спецификацией, а не js. Какие проблемы у тебя с флоатами? Нормальные числа без проблем сериализуются в number, всякие NaN и бесконечности в string, если вообще имеет смысл их сериализовать.


     
     
  • 6.25, Аноним (-), 13:47, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > всякие NaN и бесконечности в string

    Да? И в каком же стандарте это прописано? Покажи мне хотя бы пару реализаций, делающих это совместимым между собой образом.

     
  • 6.37, freehck (ok), 15:19, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нормальные числа без проблем сериализуются

    Нормальные числа *с плавающей точкой* без проблем сериализуются

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

     
  • 3.42, Kodir (ok), 15:45, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Юникод это, конечно, хорошо, но json то зачем? Сдохнет этот ваш js
    > и всё, никому эта лапша будет не нужна.

    JS - сдохнет, но не JSON! У нас .NET проекты - ВСЁ в них висит на JSON'ах, хотя выбор был широкий. XML себя не оправдал - тухлятина из 70-ых. Yaml - отвратителен. JSON полюбился сразу.

     
     
  • 4.54, Аноним (-), 17:23, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    XML - 98-й год.... Какие-то очень затянувшиеся 70-е....

    А вот json, очевидно, надо чем-то заменять. Никакого автоматического контроля целостности. JSON Schema так и не приняли как стандарт.

     
     
  • 5.92, Аноним (-), 13:12, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А вот json, очевидно, надо чем-то заменять. Никакого автоматического контроля целостности. JSON Schema так и не приняли как стандарт.

    а что её мешает использовать? у нас в проекте реализована, правда с кое-какой свистелкой, чтоб схема компактнее местами была, но всё же

     
  • 4.65, Аноним (-), 19:39, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Yaml - отвратителен.

    Ну не надо, YAML очень даже приятен, но с двумя оговорками: во-первых, версии 1.1, а во-вторых, там, где надо хотя бы изредка читать глазами и писать руками. По сравнению с JSON у него большой оверхед на сериализацию/десериализацию, так что в тех местах, где важна производительность, и не нужны NaN'ы и бесконечности, JSON лучше.

     
  • 3.76, annualslayer (ok), 02:40, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    js -- это не perl, php, ruby или python, держащиеся по большому счету лишь на энтузиазме разработчиков их использующих.
    это часть современного веба. вон даже флэш, который не является частью никаких стандартов, и тот толком похоронить до сих пор не могут, а js пока еще никто и не собирался то особо
     
  • 2.14, Аноним (-), 11:51, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смайлики нового айфона в старый String не влазят, надо улучшать же.
     
  • 2.59, Аноним (-), 18:06, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Unicode там с первых дней и получше чем где бы то ни было Над чем ломали голову... большой текст свёрнут, показать
     

  • 1.12, Аноним (-), 11:16, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А еще он предлагает создавать алиасы всего и вся и половина встроенных методов содержит десяток псевдонимов.
    Это конечно все очень удобно, до того момента когда тебе нужно просмотреть код человека, написанный в другом стиле.

    Путь Go, с его 25 ключевыми словами куда более правильный.
    Хотя последнее обновление ввело чертовы алиасы, которые Гугл просто продавил — сообществу они ненужны.

     
     
  • 2.16, Степаныч (?), 12:15, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Какие 25 слов? Вы о чём?
     
     
  • 3.41, leap42 (ok), 15:44, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://golang.org/ref/spec#Keywords

    в golang 25 зарезервированных слов, в swift, судя по всему, их ~95

     
     
  • 4.43, Kodir (ok), 15:48, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > в golang 25 зарезервированных слов, в swift, судя по всему, их ~95

    Как прогер, я не против 95 слов, т.к. всё равно 70% из них вы не увидите в обычном коде. Одно ключевое слово куда удобнее заклинаний public virtual static friend void. :)

     
     
  • 5.52, Аноним (-), 17:16, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > public virtual static friend void

    Боже какая чушь..

     
     
  • 6.61, Аноним (-), 18:20, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> public virtual static friend void
    > Боже какая чушь..

    public static const Borscht borscht = new Borscht()

     
  • 5.66, Аноним (-), 19:49, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Как прогер, я не против 95 слов

    Хорошо, что ты не "прогер".

     
  • 4.57, rshadow (ok), 17:49, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Lua - 22

    https://www.lua.org/manual/5.3/manual.html

     
     
  • 5.68, nobody (??), 20:55, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Forth - 0
     
     
  • 6.73, й (?), 00:00, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну, и парсите себе json, yaml и делайте http-запросы из forth дальше. хотя нет, это в реальном мире не встречается.

    а покажете в swift зарезервированное ключевое слово для создания нового легковесного треда? в erlang оно spawn, в go оно go. а в swift? да, я в курсе про разные operationqueue, всё равно это не аналог.

     
     
  • 7.84, пох (?), 15:47, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > ну, и парсите себе json, yaml и делайте http-запросы из forth дальше

    а в чем проблема-то, кстати? Первое - прекрасно ложится, второе неудобно, но вполне можно, третье - если кто-то не поленится написать low level socket api - в принципе, для простых вещей тоже можно (простых - потому что для сложных нужна асинхронность, а с этим у форта никак)

    > хотя нет, это в реальном мире не встречается.

    скорее всего потому, что те кто еще могут что-то написать на форте, полагают что json, что yaml неописуемо уродливыми форматами, придуманными ниасиляторами "зато есть готовая библиотечка".

     
     
  • 8.85, й (?), 16:36, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    кстати, выше про 0 зарезервированных слов в forth -- не совсем правда if else... текст свёрнут, показать
     

  • 1.24, Аноним (-), 13:47, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Начем писать на Swift, если есть богоподобная Сишечка?
     
     
  • 2.26, Аноним (-), 13:57, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем писать на сишечке, когда можно перфокартами? Зачем вычислительная техника, если и на бумаге можно делить в столбик?
     
     
  • 3.53, щи (?), 17:21, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Смотря что делать. Если обговорить правила и протоколы, довольно просто и на ассемблере писать и сейчас, с некоторым количеством стандартных либ (кроме разве что многопоточности, да и то).
     
     
  • 4.75, й (?), 00:09, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    вот есть jabber. стандартов хоть жопой жуй. ни одного сервера на ассемблере. зато есть на erlang и java.
     
  • 2.35, Мяут (ok), 14:57, 20/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Богоподобным молятся. Мирским пишут.
     
  • 2.74, й (?), 00:07, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    на божественной сишечке не осилили написать ни одну очередь общего применения. на java написали kafka, на erlang rabbitmq. даже на c++ есть zeromq (который на самом деле лишний в этом списке). а на c нет. зато на c написаны отличные ос linux, bsd, да и вообще тот самый юникс.

    не впадайте в юношеский максимализм. есть яп для ос и есть для приложений под айфон.

     
     
  • 3.88, Аноним (-), 23:54, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > на божественной сишечке не осилили написать ни одну очередь общего применения.

    Redis же.

     
     
  • 4.89, й (?), 00:55, 22/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну, во-первых, redis -- это key-value storage, а не message broker. как message broker его иногда пытаются использовать, но это и неудобно, и тормозит.

    не теряющиеся при падении воркера задачи? не, не слышали. приоритеты? тоже не предусмотрели. локи на одновременное чтение одной задачи несколькими воркерами? делайте сами. из redis такой себе message broker, он предназначен под другие юзкейсы.

     
     
  • 5.91, Аноним (-), 10:33, 22/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, давай, доказывай теперь, что очередь на сях вовсе не очередь. Слив засчитан.
     
  • 4.90, й (?), 00:59, 22/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вы б ещё memcached как пример брокера привели. теоретически драйвер под celery есть. на практике -- ну его нафиг из этой области.
     

  • 1.62, YetAnotherOnanym (ok), 19:23, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А графовая база данных на этом языке есть?
     
  • 1.67, nc (ok), 20:06, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То есть никаких новых языковых фишечек не представлено?
     
  • 1.69, Аноним (-), 21:05, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Самое лучшее в Swift 4 - наконец-то можно посчитать количество символов в строке, без влезания в characters.
     
  • 1.77, Аноним (-), 04:24, 21/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А под какую платформу?
     
  • 1.78, Аноним (-), 05:08, 21/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Подсчет ссылок прямо скажем, очень спорное решение.
     
  • 1.79, Вареник (?), 07:40, 21/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Почем никто не сравнивает с Хрустом?

    Казалось бы прямой конкурент. Оба типа убийцы С.

     
     
  • 2.83, Аноним (-), 12:32, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какой же это убийца С, если он, кроме как для написания софта для девайсов Apple, больше нигде не используется?
     

  • 1.81, keir (ok), 09:31, 21/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Правильно ли я понимаю, что swift позволяет писать кросплатформенные приложения mac<->linux ?
     
     
  • 2.86, Аноним (-), 17:01, 21/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не в том смысле, в котором ты подумал. Под Linux доступен только компилятор языка и какие-то core-библиотеки. Cocoa, на котором пишут почти все нормальные приложения под macOS, никто не открывал и на Linux не портировал. Так что swift не приносит здесь ничего нового по сравнению с другими языками.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру