@dlangru

Страница 464 из 719
elias
15.03.2018
11:33:01
а для D компромиссный вариант был бы плох? к примеру, как C++: STL + Boost. Т.е., иметь урезанный std, а "почти стандартные" вещи выносить в Boost-аналог на D. Эдакое Phobos и при3.14здыш Tango2

Stanislav
15.03.2018
11:33:13
сегодня survey закрыли кстати, интересно, изменят ли они планы развития D на 2018 год

а то народ вон жалуется > According to the State of D Survey, 71% of the respondents don't care about betterC. Why is betterC on the priority list?

Evgeny
15.03.2018
11:33:35
да - незнание первоначального замысла
Смотря на код можно догадаться, что тут идет тестирование бита.

Google
Denis
15.03.2018
11:37:17
догадаться это не про компьютеры)

Денис
15.03.2018
11:37:43
а для D компромиссный вариант был бы плох? к примеру, как C++: STL + Boost. Т.е., иметь урезанный std, а "почти стандартные" вещи выносить в Boost-аналог на D. Эдакое Phobos и при3.14здыш Tango2
Ох, как же плохо все это в мире ++ обстоит. Есть std, есть qt, есть boost, где одни и те же вещи копируют почти один в один, но все они несовместимы друг с другом. В итоге это вревращается в ад, где gui требуют qstringи, которые из std::string не создать, а только из с-стайл-стринг или мьютексы бустовые, потоки стдшные - в этой каше просто ад и погибель.

Evgeny
15.03.2018
11:38:30
догадаться это не про компьютеры)
расскажи это компилятору LDC и чемпионам по го и шахматам. :)

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

Evgeny
15.03.2018
11:41:29
но я был не прав, в этой функции есть косяк. Накой они возвращают int? Если вернуть bool, то исчезает xor eax, eax https://godbolt.org/g/jnnue3

Stanislav
15.03.2018
11:41:34
а что, тоже неплохо! на скорость не влияет

Denis
15.03.2018
11:43:02
всё таки правильнее не догадываться а использовать конкретные функции которые на низком уровне всё точно что надо делают...

Денис
15.03.2018
11:46:50
я тоже сторонник умеренной монолитности.
Вообще по мне в питоне дела обстоят идеально. Иметь нормальный менеджер библиотек и центральный оффициальный репозиторий с библиотеками, с минимальным контролем качества (чтобы не как в cpan где тоже пиздец). И пускай все льют. Вообще концепты с минимумом центральнымх репозиториев - это всегда удобно для пользователя (линуксовые репозитории, эпл или гугл маркеты, pip, cpan и т.д.)

Google
Pavel
15.03.2018
11:48:37
а для D компромиссный вариант был бы плох? к примеру, как C++: STL + Boost. Т.е., иметь урезанный std, а "почти стандартные" вещи выносить в Boost-аналог на D. Эдакое Phobos и при3.14здыш Tango2
Еще все усложняется тем что D пытается быть крутым как для низкого уровня так и для высокого. Это прям ваще ад. Там требования зачастую обратны друг другу

На высоком уровне немыслимо писать без GC, а на низком наоборот. Поэтому думаю что нужная какая-то субстандартная библиотека поверх стандартной ?

Dark
15.03.2018
11:50:23
О чем речь?

Pavel
15.03.2018
11:50:40
в стандартной только всякие контейнеры, conv, typecons и все это nogc и макисмально оптимизировано. А в субстандартной уже всякие xml json и прочее популярное

Evgeny
15.03.2018
11:52:34
преимущество помещения либы в std - только одно: эта либа поддерживается разработчиками компилятора - это некая гарантия, что оно не сдохнет из-за того, что автор либы улетел на Марс навсегда.

Денис
15.03.2018
11:53:09
На высоком уровне немыслимо писать без GC, а на низком наоборот. Поэтому думаю что нужная какая-то субстандартная библиотека поверх стандартной ?
Хз, в го похожаю диллема есть. Писать через рантайм-рефлексию - медленно, зато удобно. Или через кодогенерацию - быстро, но минус в удобстве и гибкости. В итоге в стандартной библиотеке - все сделано УДОБНО через рефлексию, для кодогенерации вывели библиотеку, примерчики, коммьюнити само написало аналоги библиотек или тех моментов, которые нужны были.

Pavel
15.03.2018
11:54:03
JSON однозначно нужен но с ним все сложно. Я сам на это натолкнулся пару дней назад. Если кому то нужен очень быстрый парсер то там нельзя сделать опциональный пропуск несуществующих в структуре полей. Если его сделать то десериализация получится медленной что в ряде случаев так же годится. Но одно нельзя основывать на другом.

Oleg
15.03.2018
11:59:53
json в std должен быть как тип данных — удобный и гибкий а средства для парсинга и сериализации уже могут внешними быть

Pavel
15.03.2018
12:01:04
Ну вот сейчас в std достаточно удобный json )

И гибкий

Но десериалзацию не умеет

Evgeny
15.03.2018
12:11:15
сериализация/десериализация и JSON - это перпендикулярные сущности

Dark
15.03.2018
12:12:31
(Я все прочитал)

(Знаю, что всем пофиг)

Evgeny
15.03.2018
12:12:58
(Знаю, что всем пофиг)
Ну почему же? Я оценил твои труды :)

Google
Evgeny
15.03.2018
12:13:23
я, например, не осилил такое кол-во букв, читал по-диагонали

Всмысле?
в прямом. сериализация/десериализация - это преобразование неких данных в бинарный поток. Не вижу тут слова JSON.

Но можно сериализовать данные в строку содержащую JSON.

Dark
15.03.2018
12:16:21
А как тогда преобразование структур в json называется?

Evgeny
15.03.2018
12:17:01
А как тогда преобразование структур в json называется?
это один из вариантов сериализации. частный случай, так сказать.

библиотека JSON должна давать инструменты для генерации и парсинга строк в формате JSON. Все.

Pavel
15.03.2018
12:17:42
Думаю оно может так изначально и было, но потом было спокойной расширено на случай текстового потока.

Stanislav
15.03.2018
12:18:04
Так и разговор вёлся в ключе сериализация/десериализация json. А не какая-то абстрактная

Pavel
15.03.2018
12:18:15
Ну ок, строка это и есть поток байт.

И структуру можно преобразовать в строку по формату JSON. Это и будет сериализация по определению.

Evgeny
15.03.2018
12:18:41
я к тому, что сериализации не место в std.json

И структуру можно преобразовать в строку по формату JSON. Это и будет сериализация по определению.
ага, сериализация это общее понятие. сериализация в json - частный случай

а вот какой-нибудт std.serialization - может быть и не помешал

Pavel
15.03.2018
12:19:43
Если удастся эти абстракции разнести то будет супер

Evgeny
15.03.2018
12:19:51
кстати в vibe.d так и сделано

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

Stanislav
15.03.2018
12:20:26
Это вообще возможно например для таких разных форматов как json и xml?

Pavel
15.03.2018
12:21:41
Ну как бы у сериализатора будет один абстрактый метод string serialize(object) Вот и все возможности ;)

Google
Oleg
15.03.2018
12:23:25
ребят, напомните как под win без вижака обойтись

Oleg
15.03.2018
12:24:02
ребят, напомните как под win без вижака обойтись
типа можно только набор инструментов поставить

Pavel
15.03.2018
12:24:04
А как же design by introinspection?
Ну так имплементация и сделана обычно через интроспекцию

Oleg
15.03.2018
12:24:49
типа можно только набор инструментов поставить
в теории знаю, но на практике ставил вижак С++ полностью (10Гб) а сейчас на виртуалке как-то жалко 10Гб под это

Stanislav
15.03.2018
12:27:33
А какая цель то? Express не пойдёт? (Или их уже не делают?)

Oleg
15.03.2018
12:27:58
А какая цель то? Express не пойдёт? (Или их уже не делают?)
цель получить виртуалку для сборки под вин

Stanislav
15.03.2018
12:28:23
На плюсах?

Admin
ERROR: S client not available

Oleg
15.03.2018
12:28:40
нет, почему, на D

вот только линковщик 64битный в вижаке для плюсов

Oleg
15.03.2018
12:29:58
Windows Development Kit
спс, сейчас погуглю

Stanislav
15.03.2018
12:31:07
Я под винду давно не писал) а dub + dmd не хватает? Или линковщик отдельно ставится?

Oleg
15.03.2018
12:31:09


пиздец печаль

Денис
15.03.2018
12:31:45
Лол, но на самом деле этот sdk есть отдельно. Под 7 точно.

https://www.microsoft.com/en-us/download/details.aspx?id=3138

Oleg
15.03.2018
12:34:19
Я под винду давно не писал) а dub + dmd не хватает? Или линковщик отдельно ставится?
там проблема с линковкой 64битных бинарников по какой-то странной идеологии Уолтер не стал делать внутри dmd это, а положился на msvs

32битные норм собираются

Google
Oleg
15.03.2018
12:34:55
https://www.microsoft.com/en-us/download/details.aspx?id=3138
под 10кой заведётся? ты не проверял?

Pavel
15.03.2018
12:36:55
Dark
15.03.2018
12:37:45
Да, именно
Мм, возврат к истокам

С изначально делали для того, что бы все на всех платформах работало

А ты предлагаешь сделать все наоборот

И самое плохое в этом то

Денис
15.03.2018
12:40:48
под 10кой заведётся? ты не проверял?
Не, под 10кой не пробовал

Dark
15.03.2018
12:41:12
Что если сейчас хоть как то std заводится на других платформах, то после твоего решения перестанет

Денис
15.03.2018
12:42:43
Да, именно
Ох, будет как в бустах, где поддержка самых бесноватых компиляторов/платформ вкрячена так, что черт ногу сломит, код просто нечитабельный.

Dark
15.03.2018
12:44:48
Вот-вот

std не для хайлоад

Максимально низкоуровнево ускорять его бессмысленно

Pavel
15.03.2018
12:45:26
У меня гениальная и новая идея - а что если сделать некую виртуальную машину которая будет исполнять код на всех платформах одинаково? =)

Dark
15.03.2018
12:45:38
V8, JVM

Pavel
15.03.2018
12:45:48
DVM

Dark
15.03.2018
12:45:59
У меня была такая же идея

Но в чем суть?

D изначально не продумывали для работы на некой платформе

И поэтому DVM будет не самая лучшая

А смысла в ней просто нет

Страница 464 из 719