Size: a a a

Обсуждения техдирские

2021 August 22

IS

Igor Shekalev in Обсуждения техдирские
Кончилась память - это та самая паника и есть.
источник

AS

Andrey Shetukhin in Обсуждения техдирские
В го- и ко- рутинах невозможно выбросить исключение потому, что у них свой собственный стек. Это очевидно: раскрутить стек можно только до верха и не выше.
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Соответственно и перехватить его можно только в горутине.
источник

PD

Phil Delgyado in Обсуждения техдирские
А через контекст пробросить?
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Эээ. А кто ловить будет? Тот, кто делал yield? Или главный поток? А если корутина запущена из системного потока?
источник

AP

Andrey P in Обсуждения техдирские
Все то затмение разума, которое я наблюдал в Zecurion, когда крушили отлаженную систему производства на С++ и заменяли её на однопоточный нетипизируемый интерпретируемый язык JS  сопровождалось лишь религиозными заклинаниями пополам со словесным поносом сошедшего с ума директора по разработке.

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

Его глаза светились счастьем. Вот-вот и все увидят как JS уроет этот С++.
источник

AP

Andrey P in Обсуждения техдирские
Результат-то на самом деле печальный. Сообщество разработчиков оказалось  сильно стратфицировано по отношению к применямым технологиям.

Стали возможны решения, при которых для нового проекта вместо проверенных экосистем С++, Java, C#,  в которых уже давно вылечены все детские болезни, и аппарат языка и библиотеки позволяют решать широчайший спектр задач, выбираются хайповые инструменты и технологии, потому что они "якобы дешевле", "якобы быстрее", "якобы проще".

На самом деле на хайповых технологиях все простое - просто, а все сложное либо еще сложнее, чем на отработанных технологиях (уж точно не проще), либо не реализуемо вообще.
источник

АП

Александр Поволоцкий... in Обсуждения техдирские
"Все, что в них хорошо - не ново, а что ново - не хорошо"...
источник

AP

Andrey P in Обсуждения техдирские
Как-то так.
источник

p

pragus in Обсуждения техдирские
И в итоге исключения стараются обходить за километр 😂
источник

АП

Александр Поволоцкий... in Обсуждения техдирские
Цитата из книги 1900 года, немецкий военный врач про Женевские конвенции)))
источник

АП

Александр Поволоцкий... in Обсуждения техдирские
Меня в Go/Rust пугает манера собирать гигантские монолитные файлы, с затягиванием кучи каких-то древних и патченных кем-то когда-то зачем-то библиотек.
источник

p

pragus in Обсуждения техдирские
Optional же
источник

IS

Igor Shekalev in Обсуждения техдирские
Смотря какую задачу мы решаем:
1) если пробросить значение "exception" (да и вообще результат) - можно через канал.
2) если предотвратить падение по необработанной панике, можно все горутины через warpper запускать, который содержит перехват.

Но во втором случае сейчас модно дать процессу упасть, а не геройствовать. Куб увидит, что не хватает экземпляров и запустит еще один.
источник

IS

Igor Shekalev in Обсуждения техдирские
Справедливости ради, истинно "нового" в go - примерно как в iPhone.

Все "натырено" из проверенных решений прошлых лет. Да и средний возраст авторов языка больше любого учаcтника этого чатика 😊
Сопрограммы были изобретены больше 50 лет назад, каналы - из Plan 9 (конце 80-х) и т.д.
источник

IS

Igor Shekalev in Обсуждения техдирские
> Язык без исключений так же ужасен

Ты не не считаешь setjmp + longjmp в Сях exception-ами, да?
Но вот как-то живет язык 50+ лет и вроде даже помирать не торопится особо.
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Нет, не считаю. Но в С ннт деструкторов, поэтому там парадигма иная.
источник

IS

Igor Shekalev in Обсуждения техдирские
Это самый крутой способ борьбы с DLL hell и его аналогами, который я когда-либо видел.
Потерять зависимость или подсунуть не ту версию после сборки просто нельзя.
источник

IS

Igor Shekalev in Обсуждения техдирские
В go их же тоже нет.
Там есть defer, но он вручную вызывается.
источник

АП

Александр Поволоцкий... in Обсуждения техдирские
Зато и заменить всунутую пять лет назад библиотеку с десятком дыр невозможно без активного участия разработчика. А он уже сам не помнит, почему именно эту версию попатчил, и переписывать боится
источник