
Evgeny
06.01.2018
06:29:45
GC - это мягко говоря не самое главное в D. Особенно если учесть, что он иммитируется ARC.

Dmitry
06.01.2018
07:12:24
Плюсовики и так обычно говорят, что у них все есть, что D им может предложить. Потому крайне редко переходят.

Evgeny
06.01.2018
07:13:55
Большинство плюсовиков отпугивает GC

Google

Evgeny
06.01.2018
07:15:23
Слабая инфраструктура тоже отпугивает
Мне нравится GC, но в том виде в котором он есть сейчас, все плохо

Dmitry
06.01.2018
07:16:05
GC может и не главное, но это то, что делает язык удобным и продуктивным. Об этом еще Спольски писал в 13 веке: главный скачок в продуктивности при переходе со старинных языков на более современные вызван как раз наличием автоматического управления памятью, свободой не думать об этом.

Evgeny
06.01.2018
07:16:29
в 13 веке? :)

Dmitry
06.01.2018
07:16:40
утрирую :) давно, в общем

Evgeny
06.01.2018
07:16:46
Кто такой Спольски, и почему я должен считать его авторитетом?

Dmitry
06.01.2018
07:16:56
это известный авторитет :)

Evgeny
06.01.2018
07:17:22
Для кого известный? И ты готов принимать на веру слова какого-то хрена, потому что он просто авторитет?
Ну-ну

Dmitry
06.01.2018
07:18:24
Нет, конечно. Просто я давно в интернете.
https://www.joelonsoftware.com

Evgeny
06.01.2018
07:18:41
Опять же GC удобная штука. Но я от него страдаю. Я устал бороться с течами в своем приложении.
там втыкай ручное управление, сям втыкай, в итоге только строки и остаются. Накой нужен такой GC?

Google

Dmitry
06.01.2018
07:20:54
Ну вот у меня есть GUI приложение, работающее с гигабитами видео. Память под видео и картинки легко вручную выделить, а все что касается работы GUI (dlangui) - отлично управляется GC. Щастье, простота и никаких проблем.

Evgeny
06.01.2018
07:21:00
Вот переписываю свой сервис на elixir/erlang и с удовольствием не думаю об управлении памятью.

Dmitry
06.01.2018
07:21:38
Аналогично есть прога для работы с фотками.
Картинки вручную, все остальное - GC.

Evgeny
06.01.2018
07:21:58

Dmitry
06.01.2018
07:21:59
Но проблемо

Evgeny
06.01.2018
07:22:30
попробуй написать нагруженный вебсервис, да чтобы еще аптайм был хотя бы месяц

Dmitry
06.01.2018
07:22:38
Ну так не надо для долгоживущих нагруженных сервисов брать рантайм с плохим текущим GC. Не надо.
Сервисы с аптаймом по полгода у меня на vibe.d есть.

Evgeny
06.01.2018
07:23:02
нагруженные?

Dmitry
06.01.2018
07:23:05
нет
см выше
нагруженные на вайбе я б не стал делать

Evgeny
06.01.2018
07:24:57

Dmitry
06.01.2018
07:25:16
правда жизни
надо понимать свойства инструментов

Evgeny
06.01.2018
07:25:30
Это не правда жизни, это ошибка жизни

Dmitry
06.01.2018
07:26:15
да
по крайней мере с текущим GC

Google

Dmitry
06.01.2018
07:26:37
текущим в обоих смыслах :)

Evgeny
06.01.2018
07:26:46
да
Где это написано? Ты бы и сам не знал об этом, если бы кто-то не попробовал? lol

Dmitry
06.01.2018
07:27:14
я с D уже 5 лет, его GC изнутри представляю

Evgeny
06.01.2018
07:28:04
И когда же ты вдруг понял, что для долгоживущих сервисов он не годится?
Глупости все это, скажу я тебе. D позиционировался как замена плюсам

Dmitry
06.01.2018
07:29:09
это понятно любому, кто видел исходники рантайма и вайба
Я в свое время делал такие хуки для ГЦ https://bitbucket.org/infognition/dstuff/

Evgeny
06.01.2018
07:29:36
Я видел исходники вайбда. Даже не просто видел, а пулл-реквесты для него делаю периодически.

Dmitry
06.01.2018
07:29:59
и писал такие посты http://www.infognition.com/blog/2014/the_real_problem_with_gc_in_d.html

Evgeny
06.01.2018
07:30:03
исходники ГЦ тоже делал
но таки начал писать нагруженный сервис

Dmitry
06.01.2018
07:30:51
все ошибаются :)

Dmitry
06.01.2018
07:32:07
"мы работаем со строками, строками срем в кучу, наш ГЦ течет и тормозит, что может пойти не так?" "давайте писать нагруженный сервис"

Evgeny
06.01.2018
07:32:17
Отличие между мной и тобой в том. Что ты решил что корявый GC - это такое нормальное свойство. Ну типа инструмент такой. А я вот считаю это багом.

Dmitry
06.01.2018
07:32:52
без коренного изменения языка это реальность, данная нам в ощущениях
и прогресс в развитии дишного гц такой быстрый, что за 15 лет ничего не изменится
вон в свифте запилили ARC. результат? дикие тормоза

Evgeny
06.01.2018
07:34:14

Dmitry
06.01.2018
07:35:46
вот только в команде Ди некому даже как в свифте сделать

Google

Dmitry
06.01.2018
07:35:58
можно конечно сидеть и ждать чуда

Evgeny
06.01.2018
07:36:05
Типа купить автомобиль и выяснить, что он ездит только по прямой. И тут чувак начинает втирать, что это свойство данной марки автомобиля, а для поворотов надо было брать другой автомобиль.

Igor
06.01.2018
07:37:21
не писал на vibe вебсервис, но писал довольно нагруженную мониторилку, которая принимала из сети поток данных и обрабатывала его. поток был довольно плотный (наверное под сотню тыс метрик в секунду). работало

Dmitry
06.01.2018
07:37:27
ну вот, взял другой автомобиль :)

Igor
06.01.2018
07:37:33
собственно может проблема конкретно в вайбе?

Dmitry
06.01.2018
07:39:22
Все сводится к тому, насколько проект загружает нынешний сборщик. Можно писать и нагруженные проекты, если на сборщик сильно не надеяться и аккуратно с памятью обращаться.

Evgeny
06.01.2018
07:39:26
Доподлинно известно, что встроенные ассоциативные массивы тоже текут

Admin
ERROR: S client not available

Evgeny
06.01.2018
07:42:31
Тут в чате есть человек, который заменил встроенный ассоциативный массив на RedBlackTree из фобосо и оно перестало течь. Вау! Ты ниправильный инструмент выбрал! Надо было в исходники ГЦ сматреть!
Это, брат не я не выбрал неправильный инструмент, а ты сделал неправильный иснструмент.

Dmitry
06.01.2018
07:44:07
Я когда-то делал себе хэштаблицы, не опирающиеся на GC. https://bitbucket.org/infognition/robinhood

Evgeny
06.01.2018
07:46:01
Да и я сделал, только не хеш-таблицы, а AVL-дерево, полностью nogc, чисто на RC.
Но я не хочу подобным говном заниматься

Dmitry
06.01.2018
07:46:45
Делай короткоживущие программы, там все ок.
Просто, удобно, безпроблемно
Хочется делать сервисы на нативном коде и нормальном GC - Nim, Pony, Haskell ждут вас. Каждый со своим набором особенностей/сложностей.
Что интересно, Уолтер с Андреем вроде начинали думать в сторону ARC год-два назад, но я не видел, чтоб из этого что-то в итоге получилось.

Google

Evgeny
06.01.2018
07:54:44
Ну то есть ты считаешь, что надо на главной странице dlang.org написать, что язык не годится для долгоживущих сервисов и на этом успокоится?

Dmitry
06.01.2018
07:56:13
Я бы написал "в таких сервисах не надейтесь на GC. Пишите, но за памятью следите сами".
Там уже это и написано по сути - что сборщик частично консервативный
имеющий уши да услышит

Evgeny
06.01.2018
07:57:04

Dmitry
06.01.2018
07:57:54
ну вот experimental.allocators выкатили, надо осваивать
EMSI на них контейнеры понаделали
я правда пока сам не пробовал

Evgeny
06.01.2018
07:58:58
EMSI я пробовал. RC там нет

Dmitry
06.01.2018
07:59:15
Pony - это как Erlang скрестили с Rust по хардкору

Evgeny
06.01.2018
07:59:32
контейнеры все с отключенным this(this)

Dmitry
06.01.2018
07:59:40
Там можно тыщи акторов, и никакого stop the world

Evgeny
06.01.2018
08:00:06

Dmitry
06.01.2018
08:00:28
elixir на ВМ, а пони нативный
но он еще сырее нима

Evgeny
06.01.2018
08:00:57
Не, мне тут на D тоже обещали тысячи файберов
а потом - неправильный инструмент, а-ха-ха
мне нативность особо не нужна
мне сам язык нравится
был бы D на ВМ какой-нибудь жавы, а бы пересел без проблем

Dmitry
06.01.2018
08:03:07

Evgeny
06.01.2018
08:03:11
vibe.d сливает phoenix не смотря на нативность первого