[03:42:31] <ada_ru> (Putra Rahmadana - Trakx.io Supporter) Тема :
https://bigbro.biz/threads/sistema-shop-твой-диллер-price-sistema-bz-или-sis-sx-Автопродажи-24-7-ХАРЬКОВ-КИЕВ-ДНЕПР.2566/
Заказы :
https://t.me/SistemaBrooBot
https://t.me/tkayf https://www.ada-ru.org/files/bot/2019-10-28-x5.jpg
[12:51:17] <ada_ru> (I_vlxy_I) отвечает (Vinpuh) на <Для массового геймде…>
Кстати: https://www.reddit.com/r/ada/comments/dntr3b/creating_video_games_with_ada/
[13:04:46] <ada_ru> (I_vlxy_I) В комментах полезные ссылки
[13:05:17] <ada_ru> (I_vlxy_I) А у проекта globe3d на страничке ещё пачка интересных ссылок.
[14:08:34] <ada_ru> (Vinpuh) отвечает (I_vlxy_I) на <А у проекта globe3d …>
Спасибо посмотрю.
[14:45:02] <ada_ru> (Eugene) цитирует (mbakhterev)
Есть ещё одна причина: не развязывать руки юным падаванам, чтобы они не городили многотысячные строки иерархии классов для задачи, решаемой в 20 строчек простым циклом.
Это большая проблема, если в команде, вдруг, заводится сумрачный гений шаблонов и великий мастер виртуального наследования. Вычищать за такими персонажами потом нужно месяцами.
Rust не практиковал. Надеюсь, там нет такой проблемы. Радует, что хотя бы наследование у пользователей отобрали. На типах, конечно, можно не меньший адок соорудить, но это требует большей культуры, и вероятность возникновения "гения" меньше.
[14:53:40] <ada_ru> (I_vlxy_I) Не бОльшей культуры, а просто другой. В х-е бывает лютый трешак на типах и без наследования
[14:59:30] <OCTAGRAM> был один чувак, ради эксперимента переписывал свою программу на разные языки, вот в Rust как раз вместо ООП какой-то ад развёлся, пришлось всех потомков запихать в запись с дискриминантами
[15:00:41] <OCTAGRAM> впрочем, на мой взгляд было бы оптимальнее ООП на растовые интерфейсы переделывать, которые суть ссылки на типажи
[15:08:00] <ada_ru> (I_vlxy_I) отвечает на <(OCTAGRAM) был один …>
А разве АТД это ад? Если задача на это ложится, то это много лучше чем ООП с наследованием
[15:09:01] <OCTAGRAM> и в каждом методе проверять кучу вариантов дискриминанта?
[15:09:28] <OCTAGRAM> кажется, там игровой движок был, и разное поведение у спрайтов
[15:29:21] <ada_ru> (I_vlxy_I) отвечает на <(OCTAGRAM) и в каждо…>
Паттерн матчингом - легко
[15:32:57] <ada_ru> (Eugene) в хаскелле можно имитировать ООП с помощью классов типов и экзистенциальных типов, хз есть ли такое в расте
[15:34:22] <ada_ru> (Eugene) вроде есть:
"Наконец-то у нас появился impl Trait! Эта функциональность уже долгое время была очень востребована, ибо она обеспечивает возможность, известную как "экзистенциальные типы"." https://habr.com/ru/post/358514/
[15:43:55] <ada_ru> (I_vlxy_I) Существовательные типы!
[15:44:16] <ada_ru> (I_vlxy_I) Но это не замена ооп конечно же. Как мне один хаскелятор объяснил
[16:39:16] <ada_ru> (I_vlxy_I) Хм. А тема Ады и игор весьма живое обсуждение вызвало на реддите
[16:39:46] <ada_ru> (I_vlxy_I) Народу нужна игрушечная Ада!
[17:14:19] <ada_ru> (Eugene) отвечает (I_vlxy_I) на <Но это не замена ооп…>
ну, некая эмуляция.
хотя, как говорится: объекты — замыкания для бедных )))
[17:15:43] <ada_ru> (I_vlxy_I) отвечает (Eugene) на <ну, некая эмуляция.
…>
Короткое замыкание? :-)
[17:49:17] <ada_ru> (iserged) отвечает (Eugene) на <в хаскелле можно ими…>
Зачем это всё? Возьмии ооп язык и пиши без всякой имитации
[17:51:23] <ada_ru> (Eugene) отвечает (iserged) на <Зачем это всё? Возьм…>
ну у ООП же есть вот это вот всё — хрупкие классы, неуправляемое состояние и всякие такие ужасы
[17:52:56] <ada_ru> (iserged) отвечает (Eugene) на <ну у ООП же есть вот…>
Ужасы начинаются в голове программиста, язык здесь, да и парадигмы всякие, вообще лесом идут
[18:04:34] <ada_ru> (I_vlxy_I) растРастРАСТ!
[21:17:29] <OCTAGRAM> крупкие классы в плохо реализованном ООП, а с управляемостью состояния это перпендикулярно
[21:20:07] <OCTAGRAM> Re: Паттерн матчингом - легко
Смешались в кучу люди, кони? Все 50 разновидностей NPC, главного игрока, мобов в каждом методе перебирать?
[21:25:43] <ada_ru> (I_vlxy_I) Методе чего? :-)
[21:29:19] <OCTAGRAM> методе спрайта
[21:43:20] <ada_ru> (I_vlxy_I) Откуда в языке без ООП методы?
[21:46:10] <ada_ru> (I_vlxy_I) А если по факту - разница чисто эстетически-синтаксическая в этом месте. Объём писанины одинаков.
[21:49:28] <OCTAGRAM> не
[21:49:40] <OCTAGRAM> группировка отличается
[21:50:01] <OCTAGRAM> одно дело, когда всё, что связано с конкретным NPC, в одном месте
[21:50:23] <OCTAGRAM> и когда всё, что связано с NPC как таковыми, в одном месте
[21:51:16] <OCTAGRAM> другое дело, когда, применяя гравитацию, начинаем перебирать поимённо, кто умеет летать
[21:52:31] <ada_ru> (I_vlxy_I) отвечает на <(OCTAGRAM) другое де…>
И это имеет смысл. Очень удобно иногда
[21:57:59] <nordwind> Дум 3 на Ада?
[21:58:16] <nordwind> Труъ
[22:00:49] <ada_ru> (I_vlxy_I) отвечает на <(nordwind) Дум 3 на …>
Даъ
[22:07:53] <ada_ru> (Eugene) отвечает на <(OCTAGRAM) другое де…>
вот для решения таких проблем в ФП придумали классы типов (трейты в расте), правда, потом столкнулись с необходимостью "существовательных типов" )) для хранения таких "объектов" разных типов в однотипном (гомогенном) контейнере
[22:25:36] <ada_ru> (I_vlxy_I) отвечает (Eugene) на <вот для решения таки…>
да, существовательные они нужны для такой вот динамической типизации, коей и является ООП по своей натуре.
[22:26:03] <ada_ru> (I_vlxy_I) но везде где можно обойтись без этого - лучше этим не пользоваться. ООП то есть
[22:26:11] <OCTAGRAM> будучи не столько сумрачно гениально при том
[22:26:21] <OCTAGRAM> да, где можно обойтись
[22:29:54] <OCTAGRAM> и не ADT, наверное, а алгебраические типы имеются в виду
[22:56:38] <ada_ru> (I_vlxy_I) Algebraic Data Type = ADT
[23:00:50] <OCTAGRAM> Abstract Data Type обычно расшифровывается
[23:01:12] <OCTAGRAM> особенно в противопоставлении с ООП
[23:01:13] <ada_ru> (I_vlxy_I) и так и эдак. сокращение у них одинаковое. я выше имел в виду именно алгебраические
[23:01:36] <OCTAGRAM> мы же все читали статью про сравнение АДТ с ООП?
[23:01:40] <ada_ru> (I_vlxy_I) а чем абстрактные типы противостоят ООП? вроде это вообще одна фигня. плюс-минус
[23:08:13] <ada_ru> (Лекс) /newpoll@PollBot
[23:09:01] <ada_ru> (Лекс) о господи иисусе, как эта херня работает
[23:09:23] <ada_ru> (I_vlxy_I) ?
[23:16:19] <OCTAGRAM> https://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf