|
2.2, Аноним (-), 08:56, 20/09/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Так Свифт с блестками и быстрее. Кому нужен несвежий Objective-C?
| |
|
|
4.11, Аноним (-), 11:00, 20/09/2017 [^] [^^] [^^^] [ответить]
| +14 +/– |
Стол - для хипстеров, чтоб подставлять его под смузи. Наши предки жили в пещерах и обедали на голой земле.
| |
|
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++: несовместимости если и были, то тривиальные
| |
|
2.6, ДяДя (?), 09:35, 20/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
А конкретно в Boost приводит к false sharing и просадками производительности, если указатель шарится между потоками.
| |
|
3.17, Аноним (-), 12:37, 20/09/2017 [^] [^^] [^^^] [ответить]
| –4 +/– |
Будущее за "недетерминированными" технологиями, например нейросети.
| |
|
4.72, й (?), 23:49, 20/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
ага "недетерминированная" rt os для экзоскелета, например
| |
|
|
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 века - это язык поддерживающий исключительно эмоджи, псевдографику, пиктограмму и стрелочки. Все остальное - мусор и студенческая параша для лабораторки.
| |
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 ключевыми словами куда более правильный.
Хотя последнее обновление ввело чертовы алиасы, которые Гугл просто продавил — сообществу они ненужны.
| |
|
|
|
4.43, Kodir (ok), 15:48, 20/09/2017 [^] [^^] [^^^] [ответить]
| –5 +/– |
> в golang 25 зарезервированных слов, в swift, судя по всему, их ~95
Как прогер, я не против 95 слов, т.к. всё равно 70% из них вы не увидите в обычном коде. Одно ключевое слово куда удобнее заклинаний 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()
| |
|
|
|
|
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... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
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.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.69, Аноним (-), 21:05, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Самое лучшее в Swift 4 - наконец-то можно посчитать количество символов в строке, без влезания в characters.
| |
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 не приносит здесь ничего нового по сравнению с другими языками.
| |
|
|