The OpenNET Project / Index page

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



"Компания Apple выпустила язык программирования Swift 4.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от opennews (??), 20-Сен-17, 08:45 
После года разработки компания Apple представила (https://swift.org/blog/swift-4-0-released/) релиз языка программирования Swift 4.0 (https://swift.org), второй значительный выпуск после открытия (https://www.opennet.ru/opennews/art.shtml?num=43451) исходных текстов проекта. Официальные сборки подготовлены (https://swift.org/download/#releases) для Linux (Ubuntu 16.04, 16.10) и macOS (Xcode). Исходные тексты распространяются (https://github.com/apple/swift) под лицензией Apache 2.0.


В отличие от прошлых выпусков в Swift 4.0 сохранена полная обратная совместимость с исходными текстами ветки Swift 3. Изменения в Swift 4.0 сосредоточены (https://developer.apple.com/videos/play/wwdc2017/402/) на расширении возможностей стандартной библиотеки и реализации таких возможностей, как архивирование/сериализация  структур и перечисляемых типов (например, теперь поддерживается сериализация в JSON и plist). В состав включена новая реализация типа String, которая отличается более высокой производительностью, обеспечением корректности Unicode и предоставлением инструментов для создания, использования и манипуляций  подстроками (substring (https://github.com/apple/swift-evolution/blob/master/proposa...), многострочные литералы). Расширены возможности словарей и коллекций (тип Collection).


Представлена новая команда "swift run (https://github.com/apple/swift-evolution/blob/master/proposa...)" для сборки и запуска исполняемых файлов, определённых в текущем пакете. Реализована идея эксклюзивного доступа (https://github.com/apple/swift-evolution/blob/master/proposa...) к памяти, предотвращающая ситуации, когда может быть произведено изменение переменой, которая в данный момент используется или изменяется в другой части программы. Расширены возможности пакетного менеджера, в который добавлена функциональность, упрощающая одновременную разработку нескольких пакетов (несколько пакетов одновременно могут помечаться для релиза), представлен новый 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 (https://swift.org/package-manager/), предоставляющий средства для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Компания Apple выпустила язык программирования Swift 4.0"  +3 +/
Сообщение от Аноним (-), 20-Сен-17, 08:45 
Конец Objective-C
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Компания Apple выпустила язык программирования Swift 4.0"  +3 +/
Сообщение от Аноним (-), 20-Сен-17, 08:56 
Так Свифт с блестками и быстрее. Кому нужен несвежий Objective-C?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

10. "Компания Apple выпустила язык программирования Swift 4.0"  –12 +/
Сообщение от Payday (?), 20-Сен-17, 10:52 
Нормальным разрабам без смузи на столе
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

11. "Компания Apple выпустила язык программирования Swift 4.0"  +14 +/
Сообщение от Аноним (-), 20-Сен-17, 11:00 
Стол - для хипстеров, чтоб подставлять его под смузи. Наши предки жили в пещерах и обедали на голой земле.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

20. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 12:51 
PR-менеджер ЕР?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

21. "Компания Apple выпустила язык программирования Swift 4.0"  +2 +/
Сообщение от Анонимный Аналитек (?), 20-Сен-17, 13:02 
> Наши предки жили в пещерах и обедали на голой земле.

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


Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

28. "Компания Apple выпустила язык программирования Swift 4.0"  –2 +/
Сообщение от Аноним (-), 20-Сен-17, 14:01 
Сейчас в одном известном новом кампусе лапник и травка одни из самых мягких и самых "зелёных". А вот тот, кто оказался не в состоянии себе такие подстелить, сейчас глотает лапшу и сойлент под звуки разваливающейся грохочущей нечисти из под стола и занимается или думает что занимается догадайтесь каким ПО ;)
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

33. "Компания Apple выпустила язык программирования Swift 4.0"  +2 +/
Сообщение от Анонимный Аналитек (?), 20-Сен-17, 14:50 
> Сейчас в одном известном новом кампусе лапник и травка одни из самых
> мягких и самых "зелёных". А вот тот, кто оказался не в
> состоянии себе такие подстелить, сейчас глотает лапшу и сойлент под звуки

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

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

55. "Компания Apple выпустила язык программирования Swift 4.0"  +4 +/
Сообщение от rshadow (ok), 20-Сен-17, 17:38 
Походу он передает на частоте анального зонда. Там свой язык, понятный только сектантам.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

60. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от Аноним (-), 20-Сен-17, 18:08 
> Походу он передает на частоте анального зонда. Там свой язык, понятный только сектантам.

Я почему-то уверен, что конкретно тут маковод пел дифирамбы своему фетишу (классика про лапшу и "нищебрoдство", см. "кто оказался не в состоянии себе такие подстелить", как и "звуки из под стола"), хотя вроде как не сектант ;)

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

71. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 22:49 
Знакомый писал полтора года на свифте, начиная с 2.сколько-то и заканчивая третьим (objc не знал совсем). Потом ему пришлось перейти на objc. Через пару месяцев сказал, что свифт - это как пластмассовый грузовичок на верёвочке, objc - как МаЗ.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

31. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от deb (?), 20-Сен-17, 14:20 
Неа. Вот есть внешняя статическая библиотека (*.a), в objc можно написать "extern "C" libfunc(int argc, char** argv);" (если нет хедеров) и спокойно ее дергать, как в православной сишечке. В Swiftе - создаются три файла: 1) objc/objc++ с описанным выше вызовом, 2) h-файл для этой "прослойки", 3) *-bridging-header.h. Ну а потом, собственно, веселые вызовы, например для массива строк - создание мапы из UnsafeMutablePointer<Int8>. Весело.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

51. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 17:13 
В Swift точно также можно использовать C, нужен только h-файл, все символы будут импортированы автоматически (в Rust, например, нужно вручную генерировать обертку). Вы сравниваете интеграцию С + "другой язык" с интеграцией Obj-C + "другой язык". Умеет ли Rust собирать в одном проекте Rust + Obj-C? Может быть Go? C#? В них и С то не так просто работать.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

56. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 17:43 
С преобразованиями тоже проблем нет. 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())

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

3. "Компания Apple выпустила язык программирования Swift 4.0"  +8 +/
Сообщение от Аноним (-), 20-Сен-17, 09:04 
>  в Swift 4.0 сохранена полная обратная совместимость с исходными текстами ветки Swift 3

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Компания Apple выпустила язык программирования Swift 4.0"  –2 +/
Сообщение от Аноним (-), 20-Сен-17, 09:17 
подсчет ссылок - медленее gc
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от ДяДя (?), 20-Сен-17, 09:35 
А конкретно в Boost приводит к false sharing и просадками производительности, если указатель шарится между потоками.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Компания Apple выпустила язык программирования Swift 4.0"  +2 +/
Сообщение от Аноним (-), 20-Сен-17, 09:51 
Подсчет ссылок детерминированней, чем ГЦ
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

17. "Компания Apple выпустила язык программирования Swift 4.0"  –4 +/
Сообщение от Аноним (-), 20-Сен-17, 12:37 
Будущее за "недетерминированными" технологиями, например нейросети.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

34. "Компания Apple выпустила язык программирования Swift 4.0"  +8 +/
Сообщение от Аноним (-), 20-Сен-17, 14:53 
у вас смузи убежали
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

45. "Компания Apple выпустила язык программирования Swift 4.0"  +2 +/
Сообщение от Undefined (?), 20-Сен-17, 16:06 
И лапку не пожали!
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

72. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от й (?), 20-Сен-17, 23:49 
ага "недетерминированная" rt os для экзоскелета, например
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

23. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 13:22 
Каким образом?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

63. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от Аноним (-), 20-Сен-17, 19:26 
Странный вопрос. По определению.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

48. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 17:08 
Ваше заявление не является ложным до тех пор пока углубляешься в детали того как работает gc и схема с recount.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Компания Apple выпустила язык программирования Swift 4.0"  +3 +/
Сообщение от Онаним (?), 20-Сен-17, 10:17 
>  теперь поддерживается сериализация в JSON ... новая реализация типа String, которая отличается более высокой производительностью, обеспечением корректности Unicode и предоставлением инструментов для создания, использования и манипуляций подстроками (substring, многострочные литералы).

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Компания Apple выпустила язык программирования Swift 4.0"  +4 +/
Сообщение от Аноним (-), 20-Сен-17, 10:36 
Речь про американцев, которым переключать раскладки не нужно, поэтому очевидность проблемы для них неочевидна.

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

40. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от Kodir (ok), 20-Сен-17, 15:42 
> Речь про американцев, которым переключать раскладки не нужно

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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

50. "Компания Apple выпустила язык программирования Swift 4.0"  +3 +/
Сообщение от Аноним (-), 20-Сен-17, 17:12 
> Узко мыслите. Юникод - это не только арабская вязь, но и эмоджы, псевдографика, пиктограммы, стрелочки и т.п. Если в языке нет юникода, это не язык - это студенческая параша для лабораторки. Собсно, эппля никогда и не отличалась умением делать языки - там всё больше дизигнеры. :)

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

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

64. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 19:32 

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

Скоро и у вас


Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

58. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Fyjybv2 (?), 20-Сен-17, 18:04 
Вас сейчас неправильно поймут и сделают операторы в виде эмоджи. Будете картинками писать программы
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

13. "Компания Apple выпустила язык программирования Swift 4.0"  –4 +/
Сообщение от anonymous (??), 20-Сен-17, 11:33 
Юникод это, конечно, хорошо, но json то зачем? Сдохнет этот ваш js и всё, никому эта лапша будет не нужна.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

15. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от freehckemail (ok), 20-Сен-17, 12:00 
Ну так уж получилось, что распространение веба по миру сделало json универсальным форматом, для которого существуют отлаженные рабочие библиотеки почти во всех языках.

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

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

19. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Аноним (-), 20-Сен-17, 12:48 
Не, пихание JSON куда ни попадя — зло. Его возможность ограничены возможностями JS, так что он даже IEEE 754 не поддерживает. И как прикажете флоаты из нормальных языков сеарилизовать?
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

22. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от angra (ok), 20-Сен-17, 13:08 
JSON ограничен своей спецификацией, а не js. Какие проблемы у тебя с флоатами? Нормальные числа без проблем сериализуются в number, всякие NaN и бесконечности в string, если вообще имеет смысл их сериализовать.


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

25. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 13:47 
> всякие NaN и бесконечности в string

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

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

37. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от freehckemail (ok), 20-Сен-17, 15:19 
> Нормальные числа без проблем сериализуются

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

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

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

42. "Компания Apple выпустила язык программирования Swift 4.0"  –2 +/
Сообщение от Kodir (ok), 20-Сен-17, 15:45 
> Юникод это, конечно, хорошо, но json то зачем? Сдохнет этот ваш js
> и всё, никому эта лапша будет не нужна.

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

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

54. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 17:23 
XML - 98-й год.... Какие-то очень затянувшиеся 70-е....

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

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

92. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Аноним (-), 25-Сен-17, 13:12 
> А вот json, очевидно, надо чем-то заменять. Никакого автоматического контроля целостности. JSON Schema так и не приняли как стандарт.

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

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

65. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Аноним (-), 20-Сен-17, 19:39 
> Yaml - отвратителен.

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

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

76. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от annualslayer (ok), 21-Сен-17, 02:40 
js -- это не perl, php, ruby или python, держащиеся по большому счету лишь на энтузиазме разработчиков их использующих.
это часть современного веба. вон даже флэш, который не является частью никаких стандартов, и тот толком похоронить до сих пор не могут, а js пока еще никто и не собирался то особо
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

14. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от Аноним (-), 20-Сен-17, 11:51 
Смайлики нового айфона в старый String не влазят, надо улучшать же.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

59. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от Аноним (-), 20-Сен-17, 18:06 
> И всего этого не было в языке, который изобрели в 2014-м году
> и позиционируют как что-то свежее и удобное? Капец. По-моему JSON и
> UTF8 должны быть в самое ядро языка встроены в наше время.

Unicode там с первых дней и получше чем где бы то ни было. Над чем ломали голову можете почитать тут https://github.com/apple/swift/blob/master/docs/StringManife.... Вкратце - борьба между производительностью, корректностью и удобством: cтроки теперь хранятся в памяти в UTF-16, объект строки вернули свойство коллекции символов (до этого ввели .characters, а по самому объекту нельзя было просто так итерироваться), ввели тип Substring для производительности и многое другое. Unicode это не просто "есть utf-8 или нет", это большая головная боль в т.ч. с индексами в разных представлениях, нормализацией и т.д.

JSON в языке - спорный вопрос, хотелось бы конечно, но не критично. Он всегда был в Foundation, сейчас же добавили возможность архивировать любой объект с помощью универсального протокола - вот это в языке. А в Foundation добавили реализацию для этого протокола как обертку над существовавшим JSON. Теперь просто вручную не надо его разбирать, достаточно добавить протокол и компилятор сам сгенерирует упаковку/распаковку:

struct User: Codable {
    let name: String
    let age: Int
}

Все. Компилятор сгенерирует (условно) keyedContainer["name"] = name и т.д. осталось только сунуть объект в JSONEncoder.encode(user)

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от Аноним (-), 20-Сен-17, 11:16 
А еще он предлагает создавать алиасы всего и вся и половина встроенных методов содержит десяток псевдонимов.
Это конечно все очень удобно, до того момента когда тебе нужно просмотреть код человека, написанный в другом стиле.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Степаныч (?), 20-Сен-17, 12:15 
Какие 25 слов? Вы о чём?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

41. "Компания Apple выпустила язык программирования Swift 4.0"  +2 +/
Сообщение от leap42 (ok), 20-Сен-17, 15:44 
https://golang.org/ref/spec#Keywords

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

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

43. "Компания Apple выпустила язык программирования Swift 4.0"  –5 +/
Сообщение от Kodir (ok), 20-Сен-17, 15:48 
> в golang 25 зарезервированных слов, в swift, судя по всему, их ~95

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

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

52. "Компания Apple выпустила язык программирования Swift 4.0"  +4 +/
Сообщение от Аноним (-), 20-Сен-17, 17:16 
> public virtual static friend void

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

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

61. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Аноним (-), 20-Сен-17, 18:20 
>> public virtual static friend void
> Боже какая чушь..

public static const Borscht borscht = new Borscht()

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

66. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 19:49 
> Как прогер, я не против 95 слов

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

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

57. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от rshadow (ok), 20-Сен-17, 17:49 
Lua - 22

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

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

68. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от nobody (??), 20-Сен-17, 20:55 
Forth - 0
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

73. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от й (?), 21-Сен-17, 00:00 
ну, и парсите себе json, yaml и делайте http-запросы из forth дальше. хотя нет, это в реальном мире не встречается.

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

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

84. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от пох (?), 21-Сен-17, 15:47 
> ну, и парсите себе json, yaml и делайте http-запросы из forth дальше

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

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

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

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

85. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от й (?), 21-Сен-17, 16:36 
кстати, выше про "0 зарезервированных слов в forth" -- не совсем правда. if/else/then/dup/cr/emit -- разве это всё не ключевые слова языка, оверрайдить которые не надо или невозможно?
Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

24. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 13:47 
Начем писать на Swift, если есть богоподобная Сишечка?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Аноним (-), 20-Сен-17, 13:57 
Зачем писать на сишечке, когда можно перфокартами? Зачем вычислительная техника, если и на бумаге можно делить в столбик?
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

53. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от щи (?), 20-Сен-17, 17:21 
Смотря что делать. Если обговорить правила и протоколы, довольно просто и на ассемблере писать и сейчас, с некоторым количеством стандартных либ (кроме разве что многопоточности, да и то).
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

75. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от й (?), 21-Сен-17, 00:09 
вот есть jabber. стандартов хоть жопой жуй. ни одного сервера на ассемблере. зато есть на erlang и java.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

35. "Компания Apple выпустила язык программирования Swift 4.0"  +3 +/
Сообщение от Мяут (ok), 20-Сен-17, 14:57 
Богоподобным молятся. Мирским пишут.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

74. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от й (?), 21-Сен-17, 00:07 
на божественной сишечке не осилили написать ни одну очередь общего применения. на java написали kafka, на erlang rabbitmq. даже на c++ есть zeromq (который на самом деле лишний в этом списке). а на c нет. зато на c написаны отличные ос linux, bsd, да и вообще тот самый юникс.

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

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

88. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 21-Сен-17, 23:54 
> на божественной сишечке не осилили написать ни одну очередь общего применения.

Redis же.

Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

89. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от й (?), 22-Сен-17, 00:55 
ну, во-первых, redis -- это key-value storage, а не message broker. как message broker его иногда пытаются использовать, но это и неудобно, и тормозит.

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

Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

91. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Аноним (-), 22-Сен-17, 10:33 
Да, давай, доказывай теперь, что очередь на сях вовсе не очередь. Слив засчитан.
Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

90. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от й (?), 22-Сен-17, 00:59 
вы б ещё memcached как пример брокера привели. теоретически драйвер под celery есть. на практике -- ну его нафиг из этой области.
Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

62. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от YetAnotherOnanym (ok), 20-Сен-17, 19:23 
А графовая база данных на этом языке есть?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

67. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от nc (ok), 20-Сен-17, 20:06 
То есть никаких новых языковых фишечек не представлено?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

69. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 20-Сен-17, 21:05 
Самое лучшее в Swift 4 - наконец-то можно посчитать количество символов в строке, без влезания в characters.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

77. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 21-Сен-17, 04:24 
А под какую платформу?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

78. "Компания Apple выпустила язык программирования Swift 4.0"  –1 +/
Сообщение от Аноним (-), 21-Сен-17, 05:08 
Подсчет ссылок прямо скажем, очень спорное решение.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

79. "Компания Apple выпустила язык программирования Swift 4.0"  –2 +/
Сообщение от Вареник (?), 21-Сен-17, 07:40 
Почем никто не сравнивает с Хрустом?

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

83. "Компания Apple выпустила язык программирования Swift 4.0"  +1 +/
Сообщение от Аноним (-), 21-Сен-17, 12:32 
Какой же это убийца С, если он, кроме как для написания софта для девайсов Apple, больше нигде не используется?
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

81. "Компания Apple выпустила язык программирования Swift 4.0"  –3 +/
Сообщение от keir (ok), 21-Сен-17, 09:31 
Правильно ли я понимаю, что swift позволяет писать кросплатформенные приложения mac<->linux ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

86. "Компания Apple выпустила язык программирования Swift 4.0"  +/
Сообщение от Аноним (-), 21-Сен-17, 17:01 
Не в том смысле, в котором ты подумал. Под Linux доступен только компилятор языка и какие-то core-библиотеки. Cocoa, на котором пишут почти все нормальные приложения под macOS, никто не открывал и на Linux не портировал. Так что swift не приносит здесь ничего нового по сравнению с другими языками.
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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