[11:15:11] <ada_ru> (I_vlxy_I) У меня с термоядом только позитивные ассоциации.
[15:37:43] <ada_ru> (t91x0) Да и шутка заезженная
[16:01:37] <ada_ru> (Eugene)  отвечает (t91x0) на <Да и шутка заезженна…>
с 80-х гг, с советских газет ))
[18:52:07] <ada_ru> (Oleg) https://www.securitylab.ru/news/500192.php
[21:37:10] <ada_ru> (Oleg) https://youtu.be/Odb7My_7tLw
[22:58:26] <ada_ru> (a) Да писали про него.
[23:02:39] <ada_ru> (Oleg) Дед молодец
[23:02:48] <ada_ru> (Oleg) На пихоне там чтото кропает
[23:10:27] <ada_ru> (I_vlxy_I) как я понимаю, в загнивающем западе это вполне в порядке вещей
[23:11:27] <ada_ru> (Oleg) ХЗ
[23:11:35] <ada_ru> (FROL256) по разному ИМХО
[23:11:41] <ada_ru> (FROL256) от человека зависит
[23:11:50] <ada_ru> (Oleg) Я там был один раз ито 2 дня ито в черногории и то в море 😊
[23:14:12] <ada_ru> (I_vlxy_I) https://www.reuters.com/article/us-usa-banks-cobol/banks-scramble-to-fix-old-systems-as-it-cowboys-ride-into-sunset-idUSKBN17C0D8
[23:14:19] <ada_ru> (I_vlxy_I) http://cobolcowboys.com
[23:34:44] <ada_ru> (I_vlxy_I) А вот поясните за надежность: я сейчас в большом (порядка 3-4 миллионов строк собственного кода не считая thirdparty) проекте занимаюсь рефакторингом. Там есть event-система. Объекты подписываются на всякие события, отписываются, фильтруют сообщения, передают их своим детям на обработку и так далее.

Периодически в ходе рефакторинга вылазят новые баги. Нет, пока ни разу не было багов про порчу памяти, переполнение стека и прочего. Баги связаны с тем, что меняются маршруты хождения сообщений, в итоге вызываются те обработчики которые не должны вызываться и не вызываются те, что должны. Причем отваливается это вовсе не в тех файлах которые правишь. Иногда даже не в этой динамической либе.

Вопрос: какое-нибудь языковое средство/язык/ктулху существует которое могло бы эти ошибки хотя бы ловить раньше? Желательно конечно на этапе компиляции бы... Мечты...
[23:35:46] <ada_ru> (I_vlxy_I) да, тесты есть. юниттестов часто нет - там довольно много GUI и легаси и легаси GUI
[23:38:49] <ada_ru> (FROL256) Х. з., в существующем проекте если об  этом заранее не подумали будет наверное трудно ...
[23:39:50] <ada_ru> (FROL256) вообще есть всякие LTL логики, которые по идее могут на этапе проектирования такие ситуации заранее исключить что там что-то куда-то не туда ушло, но я кроме названия ничего больше не знаю )
[23:41:07] <ada_ru> (FROL256) может конечно это совсем не про то )
[23:46:55] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <А вот поясните за на…>
В чате по формальным методам буквально вчера была ссылка на Хабр, а там статья некоего Васила про верификацию вычислительных графов - как раз про сообщения между микросервисами
[23:47:18] <ada_ru> (I_vlxy_I) самое главное в такой большой системе - не ясно что хотел сказать аффтар и хотел ли вообще.

то есть там страшно что-либо менять, даже просто порядок обработки событий. потому, что это не ясно к чему может привести.

внутри системы произошел некоторый естественный отбор за десятилетия и оно там унутре устаканилось и выполняет как-то свои функции. ворошить это всё - очень страшно.
[23:47:45] <ada_ru> (I_vlxy_I) У нас не микросервисы.  у нас монолит 🙂
[23:47:58] <ada_ru> (I_vlxy_I) и огромная кувалда! РРАБОТАТЬ!
[23:48:07] <ada_ru> (t91x0) Ну граф он и есть граф
[23:48:16] <ada_ru> (t91x0) Минуту
[23:48:22] <ada_ru> (FROL256) ну в любом случае если система большая и страшно менять надо писать тесты )
[23:48:31] <ada_ru> (FROL256) иначе дальше нельзя двигаться
[23:48:40] <ada_ru> (I_vlxy_I) как бы его достать еще, граф этот.. причем он условный весьма этот граф. то есть там не точка-точка.
[23:48:44] <ada_ru> (FROL256) если это конечно возможно
[23:48:55] <ada_ru> (I_vlxy_I) там есть стеки обработчиков всякие
[23:49:33] <ada_ru> (t91x0) Обсуждение тем, связанных с практическим использованием формальных методов верификации ПО.

https://t.me/joinchat/Bf3AJw969zOLpLQEVAmMjQ
[23:49:51] <ada_ru> (I_vlxy_I)  отвечает (FROL256) на <ну в любом случае ес…>
тесты есть, но все равно страшно. часто не юниттесты, а интеграционные или даже end2end автоматические тесты. но один фиг страшно, ибо тесты не могут покрыть всё
[23:50:08] <ada_ru> (t91x0)  цитирует (ligurio)
Добро пожаловать, Васил! Васил - автор той самой статьи на Хабре https://habr.com/ru/company/yandex/blog/457810/
[23:51:07] <ada_ru> (I_vlxy_I) оу. йандекс
[23:52:21] <ada_ru> (I_vlxy_I) ну, там немного другая задача всё же у него решается
[23:52:33] <ada_ru> (I_vlxy_I) он там строит систему которую можно верифицировать
[23:52:59] <ada_ru> (I_vlxy_I) а тут система уже есть 🙂 и граф динамический и чтобы его просто нарисовать - это нужно прямо очень сильно постараться
[23:56:35] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <а тут система уже ес…>
Ну так... у вас получается задача "мы чего-то меняем, а чего - не знаем, и оно иногда ломается").