
Evgeny
06.01.2018
08:03:48
Но что дальше-то делать?

Dmitry
06.01.2018
08:03:58
понять и простить :)

Evgeny
06.01.2018
08:04:01
Я считаю надо впилить в фобос нормальный RC

Dmitry
06.01.2018
08:04:07
использовать там, где это не мешает

Google

Evgeny
06.01.2018
08:05:18

Dmitry
06.01.2018
08:05:37
а чего именно не хватает?

Evgeny
06.01.2018
08:06:14
RC-контейнеров
И обещаной поддержки RC на уровне компилятора для классов
александреска даже DIP сделал
а потом видим на форуме по сто страниц обсуждения какого-нибудь сранного элвис-оператора

Dmitry
06.01.2018
08:08:37
А замыкания тоже RC делать?

Evgeny
06.01.2018
08:09:02
Замыкания отдельная попоболь, но ее можно пережить

Dmitry
06.01.2018
08:09:10
Как?
Если замыкания GC ловит, то все, весь твой RC перестает нормально работать

Evgeny
06.01.2018
08:09:35
Отдельным типом-структурой
А почему RC перестает работать?
В конце концов я могу вместо традиционных делегатов использовать самописный функтор, а-ля лямбды в C++11

Google

Dmitry
06.01.2018
08:11:24
Ну то есть половину фобоса к свиньям, вместо удобных замыканий говно из С++

Evgeny
06.01.2018
08:11:26
кроме того не все замыкания требуют GC
Пусть остается для любителей правильных инструментов.

Dmitry
06.01.2018
08:12:49
Если оставить, начнут смешивать GC и RC.
Будет жопа
Короче, чтоб RC нормально работал, надо весь язык с нуля переделывать
И получишь очердной С++

Evgeny
06.01.2018
08:13:31
Кому надо пусть смешивает, кому не надо пусть сидять на GC

Dmitry
06.01.2018
08:14:51
Если конструктивно, можно запилить действительно библиотеку RC контейнеров в нынешнем языке. И в сочетании с @nogc ее использовать, кому надо.

Evgeny
06.01.2018
08:15:02
Я об этом и говорю

Dmitry
06.01.2018
08:15:10
А на уровне языка и классов RC вставлять - херня выйдет

Evgeny
06.01.2018
08:15:44
На уровне языка была обещана поддержка RC для классов
там хороший DIP, который и нашим и вашим

Dmitry
06.01.2018
08:16:04
Мне кажется, они ее не продумали до конца. Потому и не сделали
Начнут делать - скажут, опа.

Evgeny
06.01.2018
08:16:21
Я думаю это просто сложная задача

Dmitry
06.01.2018
08:16:41
Уолтер еще за безопасность топит все время

Evgeny
06.01.2018
08:16:49
Без поддержки компилятора безопасный RC не сделаешь

Google

Dmitry
06.01.2018
08:17:00
А чтобы ее хорошо обеспечить, это надо Раст делать из языка
Ибо у нас же свободно указатели передаются

Evgeny
06.01.2018
08:18:15

Dmitry
06.01.2018
08:18:29
А для не-классов?
слайсы те же
сейчас слайс это два слова. с RC надо это менять, делать их толще и тормознее

Evgeny
06.01.2018
08:19:24
Ну тут ничего уже не сделаешь

Dmitry
06.01.2018
08:20:15
ну сейчас передача слайса почти бесплатна
а будет чуть более платна

Evgeny
06.01.2018
08:20:24
Аж целая операция инкремента и только при копировании. Офигеть тормоза для современных процов.

Dmitry
06.01.2018
08:20:38
а если еще про многопоточность вспомнить

Dmitry
06.01.2018
08:21:08
тебе RC нужен однопоточный или безопасный?
И на каком уровне это должно решаться / управляться?
Для тех же классов

Evgeny
06.01.2018
08:21:36
Передача голых нестатических указателей между потоками - зло
аллокация в одном потоке, деаллокация в другом - это говнокод, которого нужно избегать всеми силами

Dmitry
06.01.2018
08:25:57
да. Но с GC таких вопросов даже не возникает. А с RC сразу большой простор для раздумий и ошибок.

Google

Evgeny
06.01.2018
08:26:31
Как ты выразилса "правда жизни" показывает, что еще как возникает.

Dmitry
06.01.2018
08:27:16
во всяком случае безопасность легко обеспечивается

Evgeny
06.01.2018
08:27:42

Dmitry
06.01.2018
08:27:56
тут Уолтер не согласится

Evgeny
06.01.2018
08:28:10
он в отличие от тебя не считает это нормальным
А так D годится только для домашних поделок.
вечный хобби-язык

Dmitry
06.01.2018
08:28:53
да просто не все в мире уеб-программисты
не всем нужны долгоиграющие сервисы

Admin
ERROR: S client not available

Dmitry
06.01.2018
08:29:13
а для многих задач Ди и сейчас ок
Его понимание безопасности - это SafeD. Лишь бы проездов по памяти и обращений к освобожденной не было

Evgeny
06.01.2018
08:38:56
А по-твоему теперь и для сервера онлайн игры D - "неправильный инструмент"

Dmitry
06.01.2018
08:40:36
Если на вайбе - то да, скорее всего неправильный

Evgeny
06.01.2018
08:41:47
веб-сервис общается с бэкендом через RPC

Dmitry
06.01.2018
08:42:38
Нет, вайб плохой как раз в том числе из-за плохого GC

Google

Igor
06.01.2018
08:43:15
а есть же RC в std.typecons - они плохие?

Dmitry
06.01.2018
08:43:16
Если б не GC, то и вайб может и сгодился бы

Evgeny
06.01.2018
08:43:17

Dmitry
06.01.2018
08:43:41
Не D

Evgeny
06.01.2018
08:43:45
При чем тут вайбд? Вот буду писать на голых сокетах

Dmitry
06.01.2018
08:43:51
А фреймворки, использующие GC
Пиши на сокетах, следи за памятью, будет щастье

Evgeny
06.01.2018
08:45:15
Следи за памятью - это уже даже не по плюсовому, где активно используются умные указатели.

Igor
06.01.2018
08:45:36

Dmitry
06.01.2018
08:45:46
Те же самые умные указатели у нас есть же
Соединить их с аллокаторами, и ок

Evgeny
06.01.2018
08:46:16
?
Он не работает только с PODами, то бишь структурами и простыми типами
И что мне теперь отказаться от встроенных массивов?

Dmitry
06.01.2018
08:47:03
да
аллоцировать их аллокаторами
слайсы можно использовать

Evgeny
06.01.2018
08:47:28
Да накой мне эти аллокаторы

Dmitry
06.01.2018
08:47:44
чтоб не в общей GC куче жили

Evgeny
06.01.2018
08:47:44
слайсы можно, но осторожно
безопасность к чертям собачьим

Dmitry
06.01.2018
08:48:38
ну уж не хуже С++ и итераторов

Evgeny
06.01.2018
08:48:58
причем здесь итераторы?