[00:14:54] <geniepro> habr.com/company/jugru/blog/431678/
"Совсем недавно был случай в C++, от которого меня чуть не разорвало от злости. Программа падала в произвольном месте, а я не понимал — почему. Оказалось, в C++ можно не писать return в методе, который согласно сигнатуре должен что-то возвращать. Это не синтаксическая ошибка согласно стандарту, а undefined behavior. Соответсвенно, программа в рантайме падает с произвольной ошибкой. Чудесный язык — в нем есть специальный синтаксис для неработающих методов. С тех пор я очень аккуратно проверяю, что мы обещали вернуть из метода и что отдали на выходе. Эдакая параноидальная привычка."
[01:33:53] <valexey_> geniepro: я ж про это писал уже. это и в Обероне так и в Аде так.
[01:34:00] <valexey_> Во всех старых языках.
[01:35:37] <valexey_> Но правильно настроенный компилятор выдает варнинг. А совсем правильно настроенный - еггог.
[01:35:45] <valexey_> Вот у нас например оно еггог выдает
[04:30:27] <vlad2> Подтверждаю. Лично настраивал компилятор в продакшине, чтобы оно еггог выдавало. Специально для тех, кто на варнмнги не смотрит.
[04:32:37] <vlad2> Валидных юзкейсов для этой хрени нет, исключительно тяжелое наследие...
[07:11:42] <Kemet> в Обе6ронах этого нет потому что нет анализатора потока выполнения. В АО в конце процедуры стоит вызов трапа, который срабатывает, если return не произошло
[07:13:51] <Kemet> » [03:13:24] <geniepro> лол! мамочка гарри поттера ругается с наглийскими боссами на чистейшем русском языке! вот аж куда Путин дотянулся...
И что? Нужно начинать пИсать кипятком от внезапно провысившейся самооценки? ))))
[13:15:17] <TRUE> вдогонку про гражданство
https://youtu.be/Wa49qG97OJc?t=201
[16:56:28] <valexey> ну, трап это не кошерно. Собственно в Аде тоже трапнется. Это фигово.
[16:56:53] <valexey> В адекватных ЯП если не все ветки ретюрнят что надо и кому надо, будет ошибка компиляции.
[17:00:56] <Kemet> valexey: так я и говорю, нужно поток акализировать, а этого пока нет.
[17:01:35] <valexey> Ну. это может быть оправданием для недопиленного АО, но не может бять оправданием для GNAT.
[17:03:22] <Kemet>
» [17:11:09] <TRUE> вдогонку про гражданство
и что там, писец сука блать?
[17:05:25] <TRUE> ну, типа тоже стебутся над рандомными получениями гражданства
[17:26:36] <valexey> внезапно на golang довольно приятно заниматься кроссразработкой
[17:26:47] <valexey> то есть например сидя в линухе писать утилитку для виндов
[17:26:53] <valexey> вообще минимум усилий!
[17:27:18] <valexey> две переменные окружения - это дает кросскомпиляцию. и wine для запуска и тестирования получившегося кота
[18:25:25] <geniepro> не надо на аду пургу гнать!!!
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
procedure Hello is
function foo (a : in Integer) return Integer is
b: Integer;
begin
b := a;
if a = 5 then
return b;
else
b := a - 1;
end if;
end foo;
begin
Put(foo(6));
end Hello;
Error(s):
raised PROGRAM_ERROR : source.adb:7 missing return
[18:26:10] <geniepro> valexey> ну, трап это не кошерно. Собственно в Аде тоже трапнется. Это фигово.
в аде не скомпилируется, как и в сишарпе, например
[19:03:02] <geniepro> valexey: сорян, сорян, всё фигово тут у ады:
$gnatmake -o hello *.adb
gcc -c hello.adb
hello.adb:11:15: warning: "return" statement missing following this statement
hello.adb:11:15: warning: Program_Error may be raised at run time
gnatbind -x hello.ali
gnatlink hello.ali -o hello
$hello
raised PROGRAM_ERROR : hello.adb:7 missing return
[19:03:49] <geniepro> ada_ru> (I_vlxy_I) Древние языки такие древние. На древнем компе компилятор повесился бы это все чекать.
[19:19:04] <geniepro> не тут ли кто-то писал, как он отключил все ворнинги и стало так хорошо ))))
[21:36:51] <geniepro> вот же Путин кровавый заставляет людей брак гнать!
https://medium.com/@ryazanovmaxim/%D0%BA%D0%B0%D0%BA-%D1%8F-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%BB-%D1%80%D0%BE%D1%81%D1%82%D0%B5%D1%80-%D0%B4%D0%BB%D1%8F-%D0%BE%D0%B1%D0%B6%D0%B0%D1%80%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%BA%D0%BE%D1%84%D0%B5-%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8F-379b2c94fde5
[23:25:29] <valexey> http://www.opennet.ru/opennews/art.shtml?num=49718
[23:25:34] <valexey> Гуй-ня!