[11:08:50] <ada_ru> (I_vlxy_I) Мир питона никогда не будет прежним... http://www.opennet.ru/opennews/art.shtml?num=48959
[11:20:38] <ada_ru> (s4msg) "Увеличение пенсионного возраста ни на чём не скажется", ага.. 😏
[11:32:18] <ada_ru> (Vinpuh)  отвечает (I_vlxy_I) на <Мир питона никогда н…>
Наконец-то , конец пыхтону, да здравствует Perl6.
[13:08:25] <ada_ru> (Максим) Сломался gnat в федоре :(
[13:08:27] <ada_ru> (Максим) https://bugzilla.redhat.com/show_bug.cgi?id=1600886
[13:10:04] <ada_ru> (I_vlxy_I) фигасе ошибка!
[13:10:47] <ada_ru> (I_vlxy_I) а если прод скомпилять таким?! а, учитывая что Адой почти никто не пользуется, сколько там еще невыявленных ошибок?
[13:11:57] <ada_ru> (Максим) хотел по быренькому обновить rpm-ы своих поделок и вот...
[13:12:58] <ada_ru> (I_vlxy_I) а в ванильном gcc тоже этот баг имеется?
[13:14:20] <ada_ru> (Максим) вот, собираю gcc 9 snapshot, посмотрим. в gnat gpl всё пашет ок.
[13:17:25] <ada_ru> (I_vlxy_I) а если последний релиз gcc взять?
[13:18:07] <ada_ru> (Максим) а смысл. в федоре последний и есть.
[13:18:20] <ada_ru> (I_vlxy_I) там могли быть красношляпные патчи
[13:18:29] <ada_ru> (I_vlxy_I) (там а секурность или еще что)
[13:42:14] <ada_ru> (Максим) хе хе, в gcc 9 та же фигня :)
[13:47:59] <ada_ru> (I_vlxy_I) чото пофиксили
[13:48:02] <ada_ru> (I_vlxy_I) видать
[13:48:19] <ada_ru> (I_vlxy_I) могу дома на арчике проверить еще
[13:48:25] <ada_ru> (I_vlxy_I) там вроде 8.1 какой-то
[13:48:43] <ada_ru> (I_vlxy_I) можно смело баг репорт в gcc прямо писать!
[13:55:37] <ada_ru> (Максим) да и так понятно, что сломается. написал в gcc
[14:18:42] <ada_ru> (I_vlxy_I) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86514
[14:18:46] <ada_ru> (I_vlxy_I) Ага, вижу.
[14:33:29] <ada_ru> (Максим) Эрик поставил Target Milestone: 8.2
[14:42:01] <ada_ru> (I_vlxy_I) типа багофиксный релиз будет?
[14:42:59] <ada_ru> (Satyri0n) Федора плохая, антинаша. Запрещает её ставить на нашей территории, в частности в Крыму
[14:43:32] <ada_ru> (Максим) И это правильно, IMHO
[14:44:15] <ada_ru> (Satyri0n) Почему, поясните?
[14:44:29] <ada_ru> (Максим) Потому что Крым это Украина
[14:45:19] <ada_ru> (Satyri0n) А ставить-то почему нельзя там?
[14:46:29] <ada_ru> (I_vlxy_I) ну, фактически крым такая же не россия, как Гавайи не США.
[14:47:43] <ada_ru> (I_vlxy_I) Эрик - он в Адакоре работает ведь?
[14:49:09] <ada_ru> (Максим) да
[14:55:02] <ada_ru> (Satyri0n) Не хотелось бы вдаваться в политсрач, но перефразируя вашу гипотезу, Федору нельзя ставить в украинском крыму. Почему?
[14:56:49] <ada_ru> (drblez) Фу... Политота началась...
[14:57:05] <ada_ru> (Oleg) А нельзя - не получается или нельзя на словах? А то прокси/vpn и ты где хочешь
[14:57:10] <ada_ru> (drblez)
[14:57:42] <ada_ru> (Satyri0n) Да никто ничего не начинал, и лучше замять эту тему для ясности
[14:57:59] <ada_ru> (Satyri0n) Зачем так нервничать
[14:58:11] <ada_ru> (Satyri0n)  отвечает (Oleg) на <А нельзя - не получа…>
В лицензии Федоры указано так
[14:59:06] <ada_ru> (Oleg) А
[14:59:17] <ada_ru> (Oleg) Ну тогда хз
[14:59:22] <ada_ru> (Satyri0n) Верните доктора Блеза, админы
[15:04:06] <ada_ru> (Gourytch)  отвечает (Satyri0n) на <В лицензии Федоры ук…>
Нужно лицензионное соглашение просто переделать. Типа: устанавливая этот дистрибутив вы соглашаетесь что Украина це Европа, и кто не скачет - тому Крыма нет.
[15:04:53] <ada_ru> (Satyri0n) )
[15:09:47] <ada_ru> (Satyri0n) Причём, кстати, там так и написано... U.S. sanction regulations ... the Cremea Region of Ukraine...
Так что получается они вели санкции против региона Украины
[15:10:11] <ada_ru> (Gourytch) (причём для помпезности ещё и крыжик под каждым пунктом надо поставить и только при всех включенных пунктах разблокируется кнопка "Продолжить", а результат отправляется на специальную страничку учёта, чтобы потом можно сказать было: вот сколько сторонников!)
[15:11:53] <ada_ru> (Gourytch)  отвечает (Satyri0n) на <Причём, кстати, там …>
а федора разве штатовская? а, я её, наверное, с мандривой спутал.
[15:12:05] <ada_ru> (Gourytch) ох уж эти RPM-based )
[15:12:37] <ada_ru> (Satyri0n) Да, её разработчик - redhat, резидент СГА
[15:13:00] <ada_ru> (Vinpuh) Да посмотрим что там и как после 16 июня. Там решат что чье😂
[15:13:12] <ada_ru> (Vinpuh) 16 июля
[15:13:14] <ada_ru> (Gourytch) а что будет 16-го июня?
[15:13:26] <ada_ru> (Gourytch) * (ну или июля)
[15:13:54] <ada_ru> (Gourytch) переговоры?
[15:14:09] <ada_ru> (Gourytch) http://www.mk.ru/politics/2018/07/12/tramp-rasskazal-chto-obsudit-16-iyulya-s-konkurentom-putinym.html
[15:14:28] <ada_ru> (I_vlxy_I) насколько я помню, США считают и южный сахалин не очень российским 😊
[15:14:43] <ada_ru> (Vinpuh) Там паханы поделят что чье.
[15:15:21] <ada_ru> (I_vlxy_I) ну, они может конечно поделят, но Трамп весьма ограничен в своих возможностях 😊
[15:16:02] <ada_ru> (Gourytch) (коль уж политота пошла, так пусть МихалМихалыч слово скажет)
[15:16:03] <ada_ru> (Gourytch) <прислал видео>
[15:16:12] <ada_ru> (Vinpuh) Да после югославии всем до одного места что кто считает. Как говорилось в одном незабвенном фильме "Плохой, хороший, главное у кого ружье."
[15:16:51] <ada_ru> (Gourytch)  отвечает (Vinpuh) на <Да после югославии в…>
"когда все хорошие соберутся и замочат всех плохих - тогда и настанет мир во всём мире =)"
[15:16:56] <ada_ru> (I_vlxy_I) лучше вот скажите, а в gdb кто-нибудь юзает tui?
[15:17:05] <ada_ru> (Vinpuh)  отвечает (I_vlxy_I) на <ну, они может конечн…>
Конгресмены сюда уже приезжали.
[15:17:39] <ada_ru> (Gourytch)  отвечает (I_vlxy_I) на <лучше вот скажите, а…>
я сугубо строчным интерфейсом или каким-нибудь DDD
[15:17:58] <ada_ru> (Vinpuh)  отвечает (Gourytch) на <"когда все хорошие с…>
То-есть Россию и США будут всем миром мочить? Мне жаль тогда мир.
[15:18:37] <ada_ru> (Gourytch)  отвечает (Vinpuh) на <То-есть Россию и США…>
так кто хороший и кто плохой это уже post factum определят )
[15:22:31] <ada_ru> (Satyri0n)  отвечает (I_vlxy_I) на <лучше вот скажите, а…>
Мы решились отказаться от отладки навсегда. Только статический анализ, только хардкор
[15:24:04] <ada_ru> (Satyri0n) На embedded это вообще ад, в лучшем случае там без СА - вывод printf() в отладочную дырку. И это в 21 веке!
[15:32:16] <ada_ru> (I_vlxy_I) нуу.. все мы отлаживаемся через отладочную дырку..
[15:32:28] <ada_ru> (Oleg) Все через дырку 😊
[15:32:47] <ada_ru> (I_vlxy_I) а вот скажите, hello world на аде (однофайловый) чем кошерно собирать? gnatmake? gprbuild?
[15:35:32] <ada_ru> (I_vlxy_I) гм. а что за дикий ужас gnatmake генерит? из однго hello.adb генерится следующая портянка фалов:
b~hello.adb  b~hello.ads  b~hello.ali  b~hello.o  hello  hello.adb  hello.ali  hello.o
[15:35:43] <ada_ru> (I_vlxy_I) что это за весёлое семейство b~hello.xxx?
[15:38:07] <ada_ru> (Максим) gnatmake может собрать, всё что без проектов.
[15:38:20] <ada_ru> (Satyri0n)  отвечает (I_vlxy_I) на <а вот скажите, hello…>
gnatmake. Можно и через второе, но там файл нужно делать. Что для привет мир кажется избыточным
[15:38:46] <ada_ru> (Максим) это файл с кодом исполнения "элаборации", ну с инициализацией пакетов в правильном порядке
[15:38:58] <ada_ru> (I_vlxy_I) попробовал gprbuild - отлично собирает. точнее — точно также. (и также генерит эту чертову прорву левых файлов).
[15:39:08] <ada_ru> (I_vlxy_I) gprbuild просто для проекта использует дефолтный
[15:39:50] <ada_ru> (Максим) gnatmake в дистрибутивах идет как часть gcc, а gprbuild отдельным пакетом
[15:39:58] <ada_ru> (I_vlxy_I) $ gprbuild hello.adb
using project file /usr/share/gpr/_default.gpr
gprbind hello.bexch
gnatbind hello.ali
gnatgcc -c b__hello.adb
gnatgcc hello.o -o hello
[15:40:40] <ada_ru> (I_vlxy_I) оно, правда, создало еще какой-то auto.cgpr
[15:42:19] <ada_ru> (I_vlxy_I) но gprbuild какой-то мутный. как ему подсунуть опции компилятора - хз. gnatmake тут проще - ему напрямую суёшь и оно работает!
[15:44:38] <ada_ru> (Максим) В конце добавить можно -cargs <опции>
[15:44:51] <ada_ru> (Максим) и у gnatmake так тоже сработает
[15:46:58] <ada_ru> (I_vlxy_I) а есть какое-то точное правило, как имя стандартного пакета преобразуется в имя файла, где он реализован/заспекан?
[15:47:47] <ada_ru> (I_vlxy_I) ну, т.е. пути то ладно, но вот как имена файлов получить... вот есть скажем Ada.Text_IO — какой файл мне открыть, чтобы спеку этого пакета прочитать?
[16:02:55] <ada_ru> (Максим) ну это зависит от того, что тебе надо
[16:03:11] <ada_ru> (Максим) https://gcc.gnu.org/onlinedocs/gcc-4.6.4/gnat_ugn_unw/File-Name-Krunching-Using-gnatkr.html#File-Name-Krunching-Using-gnatkr
[16:03:44] <ada_ru> (Максим) еще можно спросить у утилиты gprls или у GNATCOLL.Project
[16:06:25] <ada_ru> (I_vlxy_I) ну, мне нужно знать как сгенерены имена файлов, что идет в поставкее с gcc. то есть имена файлов стандартной либы
[16:08:16] <ada_ru> (Максим) ну по ссылке описано, как это сжимается. Но есть уже готовые реализации в библиотеке GNATCOLL.Project и в утилите gprls
[16:09:04] <ada_ru> (I_vlxy_I) гляну
[16:14:17] <ada_ru> (I_vlxy_I) ага. a-textio.ads получается.
[16:20:44] <ada_ru> (I_vlxy_I) А в мире Ады как нонче модно держать ads и adb - по раздельности, в разных каталогах, или всё в один свалив?
[16:21:01] <ada_ru> (I_vlxy_I) в плюсах то в основном их разделяют.
[16:22:56] <ada_ru> (Максим) нигже пока в разных не видел. только если есть две реализации .adb разве что
[16:22:58] <ada_ru> (Satyri0n) Я когда буча для ады95 использовал, главное, чтобы собралось)
Все ali и прочие обьектники после сборки в топку
[16:23:44] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <нигже пока в разных …>
а можешь ткнуть пальцем в какой-нибудь образцово-показательно оформленный проект? т.е. чтобы стректуру глянуть, как оно заведено.
[16:23:58] <ada_ru> (Satyri0n) Потом буч стал стандартной библиотекой и не стал так беспокоить
[16:24:33] <ada_ru> (I_vlxy_I)  отвечает (Satyri0n) на <Я когда буча для ады…>
а оно ж генерит их небось не рядом с исходниками, а куда скажешь (ну, там в build каталог)
[16:24:58] <ada_ru> (Satyri0n) Ну куда-то рядом накладывало
[16:26:41] <ada_ru> (Максим) https://github.com/reznikmm/matreshka
[16:27:44] <ada_ru> (I_vlxy_I) вау. прямо катало с именем  source, а не src!
[16:27:49] <ada_ru> (Максим) типа в корне gnat и source, в gnat файлы проектов, а в source всякие *.ad[sb]
[16:28:18] <ada_ru> (Максим) ну это Вадим так пишет :)
[16:28:35] <ada_ru> (I_vlxy_I) gnat - я то испугался, что там компилятора куски 😊
[16:28:52] <ada_ru> (I_vlxy_I) gprs! 😊
[16:29:54] <ada_ru> (Максим) всякие .objs, .libs уже gprbuild создаёт
[16:30:11] <ada_ru> (I_vlxy_I) ну, то, что ads & adb лежат рядом, это упростит настройку переключения между нимит. это хорошо.
[16:30:41] <ada_ru> (I_vlxy_I) спасибо
[16:34:40] <ada_ru> (Максим) делают по разному, но мне так понравилось. можно еще глянуть aws или polyorb на github
[16:36:43] <ada_ru> (I_vlxy_I) ну, каталог с проектами отдельно - в этом что-то есть.
[16:37:02] <ada_ru> (I_vlxy_I) новый проект можно тогда легко создать, надергав туда исходников в любых комбинациях.
[16:59:35] <ada_ru> (I_vlxy_I) о, очередной видос: https://www.youtube.com/watch?v=m8wWEI_ZLMU
[17:12:20] <ada_ru> (Satyri0n)  отвечает (I_vlxy_I) на <о, очередной видос: …>
Зачёт
[19:53:47] <OCTAGRAM> @I_vlxy_I совсем не такая же, Гаваи — другая страна
[19:59:37] <OCTAGRAM> @I_vlxy_I в gprbuild есть параметр Sources, где искать исходники, и Objects, и Executable, а вот отдельно спецификации/тела я что-то не припоминаю
[20:00:33] <OCTAGRAM> @I_vlxy_I https://osdn.net/projects/referencing/scm/hg/Fast_Strings/
[20:07:54] <OCTAGRAM> тут есть абстрактная общая часть, пример наследования с полным копированием, и с добавлениями
[20:10:18] <ada_ru> (I_vlxy_I) Спасибо, гляну.
[20:16:21] <OCTAGRAM> пытался ещё вместо абстрактного проекта расширять проект, но оказалось, что два проекта, расширяющие один и тот же, не могут подключить один другого
[20:20:37] <OCTAGRAM> для Windows ещё некоторое усложнение понадобится, так как Windows-версии, допустим, нужен win32ada, а не-Windows — нет, для этого можно нагородить Windows- и не-Windows-gpr, чтоб оба использовали некий абстрактный проект, в котором всё и лежит, но один подключал win32ada, а другой нет, а затем для однородности свести оба в один агрегатный проект, а в агрегатном проекте можно Project_Files указывать списком строк, в зависимости от case и/или if, без этого к gpr with не подкопаться
[20:22:21] <OCTAGRAM> в GNATCOLL.Terminal и некоторых других местах видел косячное решение, где вместо хождения по тем или иным адским привязкам вроде win32ada, делается C файл с #ifdef
[21:07:20] <ada_ru> (I_vlxy_I) Ну виндов, к счастью, у меня нигде нет.
[21:16:19] <ada_ru> (I_vlxy_I) и еще вопрос: есть что-нибудь аццкое типа libuv/libev/libevent?
[21:33:18] <OCTAGRAM> к libuv привязки кто-то делал, на AdaCore блог был
[21:33:54] <OCTAGRAM> но вроде бы оно отнюдь не производительное, и в H2O от него отказались, и написали, почему так
[21:34:32] <ada_ru> (I_vlxy_I) гляну. а что-то чисто адцкое есть? более производительное например
[21:37:52] <ada_ru> (I_vlxy_I) нашел http://blog.kazuhooku.com/2014/09/the-reasons-why-i-stopped-using-libuv.html
[21:38:11] <ada_ru> (I_vlxy_I) (нашел почему  libuv в H2O больше не юзают)
[21:38:26] <OCTAGRAM> учитывая, что найти недревние привязки к WinAPI, что с Florist что-то не заладилось, я бы не ожидал найти что-то, что требует ещё более глубокого взаимодействия с ОС
[21:46:00] <OCTAGRAM> интересно было бы узнать, как соотносятся mio, GCD и boost::asio, и к ним, может быть, привязки сделать
[21:46:10] <OCTAGRAM> не видел, чтоб такие тесты делали
[21:49:07] <ada_ru> (I_vlxy_I) растовый mio? это либа которая вначале унутре себя юзала libuv, а потом уже переписали все на расте
[21:50:16] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) учитывая,…>
то есть для системного программироваия, в узком смысле (тесного взаимодействия с ОС) Ада as is не пригодна на данный момент? ok
[21:53:06] <OCTAGRAM> у меня был проектик на BitBucket по трансформации делфёвых привязок к WinAPI (JEDI) в адские, но какого-то интереса, поддержки ему нет
[21:55:04] <OCTAGRAM> там довольно объёмный труд по обогащению метаданными проделали, все указатели на out, in out или access спроецировали, только языком ошиблись, вот эту ошибку бы исправить, и будут хорошие привязки для Ады
[21:55:40] <ada_ru> (I_vlxy_I) ну, раст, думаю, все же безопасней Ады. так то.
[21:56:03] <OCTAGRAM> там переполнения интов ловить уже научились?
[21:56:27] <ada_ru> (I_vlxy_I) ну, сделай свой тип инта, который будет переполнения ловить и обрабатывать и всё. делов то
[21:58:41] <OCTAGRAM> в процессоре компилятор ставит инструкции, допустим, JO после операций, а если компилятор так не умеет, то чтобы ловить переполнение, уже придётся поплясать, например, если A > 0, B > 0, A + B < 0, то это переполнение, и так каждый раз, это совсем не то же, что JO
[22:05:04] <ada_ru> (I_vlxy_I) эмм.. переполнение.. а как ада ловит переполнение своих кастомных типов? когда у нас диапазон например от 666 до 1313?
[22:05:55] <OCTAGRAM> там просто по диапазону можно проверить
[22:06:24] <OCTAGRAM> это проще, чем переполнение через машинную границу, когда результат технически получается в допустимом диапазоне
[22:06:51] <OCTAGRAM> мой опыт, допустим с libipset, показывает, что если нет времени на полноценные привязки, то ведь достаточно привязать одну-две используемые функции и для них решить вопрос управления памятью и привязать
[22:07:42] <OCTAGRAM> так что можно epoll привязать, и всё, это же основное API в Linux
[22:08:23] <ada_ru> (I_vlxy_I) да, делать привязку по месту - хорошая идея. если ты конечно не производитель инструментария для разработчика 🙂
[22:14:11] <ada_ru> (I_vlxy_I) а вообще, в расте -C overflow-checks=on
[22:14:23] <ada_ru> (I_vlxy_I) и будет тебе счастье во всем проекте
[22:16:23] <ada_ru> (I_vlxy_I) а, это, до кучи, кажется, включено по умолчанию
[22:17:09] <ada_ru> (I_vlxy_I) https://godbolt.org/g/b6ooWD
[22:17:13] <ada_ru> (I_vlxy_I) вот, пожалуйста
[22:17:53] <ada_ru> (I_vlxy_I) и в свифте тоже проверка есть
[22:18:00] <ada_ru> (I_vlxy_I) https://godbolt.org/g/1exg49
[22:18:12] <ada_ru> (I_vlxy_I) причем прямо через твой любимый JO сделан.
[22:21:06] <OCTAGRAM> хм, молодцы
[22:21:32] <ada_ru> (I_vlxy_I) так что с этими современными языками тут всё в порядке
[22:21:53] <OCTAGRAM> ну что ж, такой прогресс не может не радовать
[22:22:11] <ada_ru> (I_vlxy_I) а если учесть, что у раста, в отличие от ады, работа с памятью безопасная...
[22:22:23] <OCTAGRAM> да у Ады-то тоже
[22:22:34] <ada_ru> (I_vlxy_I) у ады можно обратиться к освобожденной памяти
[22:22:48] <OCTAGRAM> а где её взять, освобождённую память?
[22:22:53] <ada_ru> (I_vlxy_I) в общем, становится ясно, что расту есть чем потресть 🙂
[22:23:04] <ada_ru> (I_vlxy_I) ну, ты же будешь как-то освобождать то, что нааллоцировал?
[22:23:13] <ada_ru> (I_vlxy_I) или ты всё хочешь в умные указатели завернуть?
[22:23:13] <OCTAGRAM> контейнер освободит, например
[22:23:29] <ada_ru> (I_vlxy_I) а контейнер кто напишет, тот налажать не может?
[22:24:29] <OCTAGRAM> может, но что это меняет?
[22:24:34] <ada_ru> (I_vlxy_I) а вот, кстати, такой весь из себя безопасный Гоу не собирается проверять переполнения
[22:25:04] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) может, но…>
это меняет то, что Ада в этом месте менее безопасный ЯП нежели Раст. Ада тут примерно на уровне с++
[22:25:20] <OCTAGRAM> а в Расте налажать нельзя?
[22:25:31] <ada_ru> (I_vlxy_I) неа. компилятор по голове стукнет
[22:25:40] <OCTAGRAM> и как он это сделает?
[22:25:45] <ada_ru> (I_vlxy_I) то есть в расте ты в принципе не можешь мимо памяти сходить
[22:26:17] <ada_ru> (I_vlxy_I) он это делает borrow checker'ом. грубо говоря, ты должен доказать что у тебя все обращения только к валиндой памяти
[22:26:31] <ada_ru> (I_vlxy_I) + там ограничения на число пишущих и читающих
[22:26:37] <ada_ru> (I_vlxy_I) там примерно также как в cyclone
[22:27:11] <OCTAGRAM> а что мешает один раз для Ады воплотить borrow и доверять ему?
[22:27:12] <ada_ru> (coopht)  отвечает (I_vlxy_I) на <то есть в расте ты в…>
даже когда дергаешь библиотечную функцию?
[22:27:40] <ada_ru> (I_vlxy_I) сишную? там вроде тоже для нее нужно указать всякое. что куда и зачем
[22:28:44] <ada_ru> (I_vlxy_I) но я раст знаю примерно на уровне как знаю Аду - то есть ничего крупнее хелловорлдов разной степени развесистости, не писал. Околонулевая экспа. Статейки - читал.
[22:29:02] <ada_ru> (I_vlxy_I) видосы смотрел с конференций всяких
[22:29:50] <OCTAGRAM> из того, что я читал, складывается впечатление, что за ним стоят лоботомированные люди, сводящие понятие целостности программы к целостности памяти программы
[22:30:18] <ada_ru> (coopht)  отвечает на <(OCTAGRAM) из того, …>
😬😬😬😬
[22:30:59] <OCTAGRAM> впрочем, если переполнения обнаруживают, это уже первые шажки за пределы, на уровне Турбо Паскаля 80х
[22:31:04] <ada_ru> (I_vlxy_I) ну, это самая больная мозоль и это пиарят больше всего. но, как видишь, они не только памятью озаботились. там вообще довольно много всего интересного
[22:31:26] <ada_ru> (I_vlxy_I) трайты, макросистема хорошая, все дела. темплейты.
[22:31:46] <ada_ru> (I_vlxy_I) паттернматчинг, АДТ всякие и проч
[22:35:52] <OCTAGRAM> Аду развивают лет 40, и все эти годы думали, как сделать безопасный язык программирования; маловероятно, чтобы необразованные люди (а иначе как случилось, что они не в курсе?) спонтанно повторят всё хорошее, это печально, конечно, что такое разъезжание идёт в языках
[22:36:10] <ada_ru> (I_vlxy_I) безопасность по памяти - это растовая киллерфича, такое есть только в cyclone (который исследовательский и помер) и, быть может, когда-нибудь, будет у SPARK.

остальное у раста просто очень и очень хорошо.
[22:36:38] <ada_ru> (I_vlxy_I) эмм.. не в курсе они чего?
[22:36:43] <OCTAGRAM> у SPARK-то есть, другое дело, что на любителя
[22:37:17] <ada_ru> (I_vlxy_I) угу, у спарка отлично сейчас есть - просто динамической памяти нет вообще. нужно - сделай на аде и скажи что этот кусок надежен, спарк будет использовать
[22:37:31] <ada_ru> (I_vlxy_I) но вообще нет, в спарке хотят сделать нормально. вон, пара папиров пролетала
[22:37:35] <OCTAGRAM> сисадминам, кстати, подходит
[22:38:15] <OCTAGRAM> сисадмин в норме планирует, кому сколько ресурсов, и надо только программу пересобрать с подходящими константами, она будет сисадмину очень удобна
[22:39:26] <OCTAGRAM> займёт сразу максимум, ну а что, всё равно эта память этой программе распланирована сисадмином
[22:41:14] <OCTAGRAM> ну вот когда пишешь на Турбо Паскале с проверками, потом на Делфи с проверками, потом на Аде, и ещё больше проверок, и пишешь, и пишешь, а тут тебе какой-то хрен с горы заявляет, что твоя ниша безопасного низкоуровневого программирования, оказывается, не занята, а чем же ты тогда все эти годы занимался
[22:41:26] <OCTAGRAM> про незанятую нишу было у Cyclone на главном сайте
[22:41:49] <OCTAGRAM> ну и Раст — опять двадцать пять, не с той ноги встали, по той же тропе пошли
[22:42:43] <ada_ru> (I_vlxy_I) ну, ада и всякие паскали вообще не безопасны же. это одна большая дыра в плане памяти
[22:45:58] <OCTAGRAM> настолько дыра, что человеческие жизни доверяют
[22:48:36] <OCTAGRAM> кроме стандартных контейнеров, надёжность которых по принципу действия такая же, как надёжность компилятора, pools, subpools
[22:49:23] <ada_ru> (I_vlxy_I) как мы увидели выше - довольно хреновая надежность у того компилятора 🙂
[22:49:27] <ada_ru> (I_vlxy_I) генерит битый код
[22:49:54] <ada_ru> (I_vlxy_I) а поскольку им пользуются полтора землекопа, такие баги просачиваются в релиз.
[22:50:09] <OCTAGRAM> в этом плане лажа в компиляторе не отличима от лажи в библиотеке
[22:50:20] <ada_ru> (I_vlxy_I) а человеческие жизни доверяют подмножеству что равенскар профилем ограничен
[22:50:47] <OCTAGRAM> соответственно, нормально полагаться на надёжность контейнеров
[22:55:32] <ada_ru> (I_vlxy_I) ладно, кончаю набрасывать 🙂
[22:56:13] <ada_ru> (I_vlxy_I) я просто к тому, что конкуренты и теория и практика построения ЯП и компиляторов, в частности в плане построения надежных штук, не стоит на месте. то, что казалось надежным 40 лет назад, сейчас таковым не является уже.
[22:57:38] <ada_ru> (Максим)  отвечает (I_vlxy_I) на <как мы увидели выше …>
Кстати, баг оказался не в адском фронтенде, а в преобразователе/улучшателе дерева жцц,  Так что не факт, что с++ нормально пашет
[22:58:13] <ada_ru> (I_vlxy_I) оу. а чо? а как? а куда? какое место зааффекчено?
[22:59:34] <OCTAGRAM> я бы сказал по другому, были белые люди, понастроили домов, техники, а теперь на их месте папуасы, вертят в руках магнитофоны, а повторить не могут, а чем дальше, тем уже даже и не вертят, даже и понятие потеряли
[22:59:45] <ada_ru> (Максим) Ну Эрик стер ада, поставил три оптимизейшин или как-то
[23:00:45] <ada_ru> (I_vlxy_I) ага, вижу
[23:01:04] <ada_ru> (Максим) Ну ведь на с++ нельзя упаковать двухкамерный битовый массив же, наверное вас не касается
[23:01:57] <OCTAGRAM> в Китае скандалы со сходящими с рельса поездами заминают, а ведь там как раз про Аду ни слухом, ни духом, и только приехавший с Запада Hao Tsai обращает внимание на разницу между тем, как делается в Китае, и как — на Западе
[23:02:16] <ada_ru> (I_vlxy_I) std::vector имеет специализацию -- std::vector<bool>, оно по факту будет битики хранить
[23:02:46] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) в Китае с…>
в штатах недавно поезд тоже съезжал
[23:02:59] <ada_ru> (Максим) А двумерный?
[23:03:48] <ada_ru> (I_vlxy_I) оммм.. нет. кажется
[23:04:16] <ada_ru> (Максим) Ацтой 😁
[23:04:21] <ada_ru> (I_vlxy_I) единственное где что-то может оптимизироваться - это если битфилды в структуре сделать
[23:05:11] <OCTAGRAM> а двумерный вектор — это как?
[23:05:19] <ada_ru> (I_vlxy_I) остальное - это чисто либы
[23:06:08] <ada_ru> (I_vlxy_I) но вы не заметите разницы между либой и вшитой в язык фичей 🙂
[23:06:13] <ada_ru> (Максим) Двумерный массив, не вектор
[23:06:37] <OCTAGRAM> в Штатах динамика использования Ады тоже, известно, какая, может быть, это как связано, не обязательно напрямую
[23:07:14] <OCTAGRAM> если производители считают для себя нормальным отказаться от Ады, то это одно решение из многих, например, такая связь
[23:07:40] <ada_ru> (I_vlxy_I) ну, надеюсь на раст перейдут 🙂 если уж с ады слезли
[23:07:45] <ada_ru> (Максим) Ага, особенно когда надо всё это хоркнуть в конторский репозиторий и зарелизить
[23:07:46] <ada_ru> (I_vlxy_I) ждем ржавый истрибитель!
[23:08:33] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <Ага, особенно когда …>
ну, либа может быть и стандартной 😉 ну и вообще boost! юзаешь буст и у тебя всё есть!
[23:08:55] <ada_ru> (I_vlxy_I) хотя мы в ядре нашей штуки не юзаем...
[23:09:58] <ada_ru> (Максим) Да, я про буст узнал, когда поинтересовался, что там дженту пересобирает часами...
[23:16:59] <OCTAGRAM> 650 Мб отладочной информации набегает со всякими Спиритами
[23:29:08] <ada_ru> (I_vlxy_I) там хедеронли либы в основном - там нечего собирать практически
[23:29:15] <ada_ru> (I_vlxy_I) вот проги которые юзают эти либы - вот они дааа...
[23:29:43] <ada_ru> (I_vlxy_I) hello world для либы msm (это штука для fsm), компилится 17 секунд!
[23:57:10] <ada_ru> (Oleg) Читаю я про ваш хваленный Rust 😊
[23:57:42] <ada_ru> (Oleg) Короче надо попробовать