[00:19:49] <nordwind> Покойнику припарка?
[00:21:37] <ada_ru> (I_vlxy_I) которому из?
[00:22:37] <nordwind> Хайку
[00:23:22] <nordwind> Ада на хайку как припарка для покойника.
[00:27:32] <ada_ru> (I_vlxy_I) чойто? вполне себе развивается штука
[00:27:39] <ada_ru> (I_vlxy_I) народ пишет в свое удовольствие
[00:27:46] <ada_ru> (I_vlxy_I) и от воли одной компании не зависит
[00:28:57] <ada_ru> (I_vlxy_I) сообщество успешно пережило смерть компании. не факт, что сообщество вокруг Ады сможет подобное пережить.
[00:29:22] <ada_ru> (insert_reference_here)  отвечает (nitrocerber) на <Но с аксесом геморро…>
На расте таких проблем нет
[00:29:43] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <Через указатели со с…>
В смысле? А как же std::string_view?
[00:30:18] <ada_ru> (insert_reference_here) <прислал наклейку> 🤔
[00:30:42] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <В смысле? А как же s…>
А на это ещё не успели пересесть :-)
[01:06:04] <ada_ru> (geniepro) почему просто не открыли исходники BeOS? тогда не пришлось бы их реверс-инжинирить
[01:58:27] <ada_ru> (I_vlxy_I)  отвечает (geniepro) на <почему просто не отк…>
Открыли сколько смогли
[01:58:42] <ada_ru> (I_vlxy_I) Остальное было сопряжено с трудностями
[01:58:51] <ada_ru> (I_vlxy_I) Чужие лицензии
[01:59:47] <ada_ru> (I_vlxy_I) И вообще, с чего бы HP открывать исходники?
[02:06:49] <ada_ru> (geniepro)  отвечает (I_vlxy_I) на <И вообще, с чего бы …>
а кому они нафик нужны7
[02:13:21] <ada_ru> (I_vlxy_I)  отвечает (geniepro) на <а кому они нафик нуж…>
зачем HP ради открытия никому нафиг не нужных исходников, тратить деньги?
[02:14:11] <ada_ru> (geniepro)  отвечает (I_vlxy_I) на <зачем HP ради открыт…>
ну так всё равно они на этих исходниках не заработают, а так бы сэкономили кучу денег тем дуракам, которые реверсят исходники BeOS
[02:14:46] <ada_ru> (I_vlxy_I) да там давно всё что нужно отреверсили. тем более, что например ядро там заново пилил создатель BeOS'ного ядра
[02:15:06] <ada_ru> (I_vlxy_I) пользовательская оболочка (ака Tracker) вообще заопенсорсена была
[02:15:18] <ada_ru> (geniepro) тут примерно та же фигня, что и с исходниками XDS — открыли их щас, когда они никому нафик нинужны. нет бы открыть их лет 15 назад, и глядишь обероны стали бы куда известнее
[02:16:14] <ada_ru> (I_vlxy_I) та не, народ Гайку пилит for fun. Великих планов сделать мир правильней там нет.
[02:16:21] <ada_ru> (I_vlxy_I) в отличие от
[10:01:22] <ada_ru> (Victor)  отвечает (geniepro) на <тут примерно та же ф…>
Там тоже открыто вовсе не вся кодовая база.

Из-за необходимости отделить "то что нельзя публиковать" опубликована только RTM версия - 2.51

( 2.61 beta (?) - в планах )
[10:04:42] <ada_ru> (Victor)  отвечает (geniepro) на <тут примерно та же ф…>
И так уж и ненужны? -)

На forum.oberoncore.ru пробежало - поменяли костанту и смогли выделить в heap 3.8Gb

( раньше надо было в .ini к .exe )
[11:23:06] <ada_ru> (Gourytch) гайка вполне себе развивается, кстати.
я вот надеюсь что они 3d-акселерацию всё же ввинтят.
[11:24:37] <ada_ru> (Gourytch) и реверс там вроде давным давно уже не нужон - там давно x64 модно и новый (относительно) gcc =)
[11:26:00] <ada_ru> (Gourytch) (если кому хочется - у них чатиков есть. https://t.me/HaikuOS_RU_chat например)
[11:46:06] <ada_ru> (Vinpuh) Да гайка мне понравилась, я даже донатил им одно время
[12:08:14] <ada_ru> (I_vlxy_I) Я BeOS в качестве основной оси 6 лет юзал 🙂 Ну и помню как Haiku началась и развивалась
[12:11:10] <ada_ru> (Gourytch)  отвечает (I_vlxy_I) на <Я BeOS в качестве ос…>
крут. меня хватило на месяцок поиграться. но думаю это простительно - у меня был линух =)
[12:22:05] <ada_ru> (I_vlxy_I) линух в 2000 году был дюже страшен. и без юникота
[12:24:21] <ada_ru> (I_vlxy_I) https://habr.com/en/news/t/497150/
[12:26:17] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <https://habr.com/en/…>
JS, Python и С++ больше не нужны?
[12:26:33] <ada_ru> (Gourytch)  отвечает (reznikmm) на <JS, Python и С++ бол…>
они ж не для той боли =)
[12:29:18] <ada_ru> (I_vlxy_I)  отвечает (reznikmm) на <JS, Python и С++ бол…>
🙁
[12:30:53] <ada_ru> (reznikmm) Возвращаясь к обсуждению распространения gnat webasm toolchain-а, проведя опыт на Вадим пришел к выводу, что абстрактный динозавр не способен запустить докер и наровит собрать с нуля llvm. Поэтому хочу вернуться к идее паковать .tar.gz Что если поставить rpm в пустой каталог, скопировать туда glibc .so, похимичить с chrpath и запаковать в архив? Получится переносимый тулчейн?
[12:32:39] <ada_ru> (I_vlxy_I) Dicker это ж просто!
[12:33:29] <ada_ru> (I_vlxy_I)  отвечает (reznikmm) на <Возвращаясь к обсужд…>
пошаманить с chroot и cgroups? 😉
[12:34:25] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <Docker это ж просто!>
Да, с этим я не спорю, но результат на лицо
[12:34:55] <ada_ru> (reznikmm) Но .tar.gz ещё проще
[12:35:59] <ada_ru> (reznikmm) Адакора использует doinstall смысл которого от меня ускользает ☹️
[12:37:20] <ada_ru> (nitrocerber) а шо, жмакнул, вбил путь - само почистило, само поставилось
[12:37:53] <ada_ru> (nitrocerber) поди ещё пермишены выставляет правильно, чтобы сдуру рантайм там не перетереть чи що
[12:39:10] <ada_ru> (avkvlru) Народ подскажите пожалуйста, если есть тип, например
type tRowList is record
 R:Natural:=0;
end record;
package BRow_IO is new Direct_IO(tbRow); use BROW_IO;
R:tRowList
...
Конструкция
Create(F,OutFile,"spectr.dat");
Write(F,R, 1000);

заполнит файл нулями? Или как повезёт?
На практике смотрю заполняет нулями, но гарантированно ли это независимо от реализации?
[12:40:13] <ada_ru> (nitrocerber) а ежли вместо нулей поставить что-то зело специфическое в R, то чем заполнит?
[12:40:23] <ada_ru> (avkvlru) специфическим
[12:40:28] <ada_ru> (nitrocerber) ежли зело спецефическим, значит чики-пуки всё
[12:40:36] <ada_ru> (avkvlru) а это фича гната или требование реализации?
[12:41:00] <ada_ru> (nitrocerber) то мне увы неведомо(
[12:41:18] <ada_ru> (I_vlxy_I) ибо нет реализации иной кроме гната нашего!
[12:41:20] <ada_ru> (Gourytch)  отвечает (I_vlxy_I) на <пошаманить с chroot …>
cgroups  для сборок нинужын. хватит и chroot-а.
я так LFS собирал
[12:42:13] <ada_ru> (avkvlru)  отвечает (I_vlxy_I) на <ибо нет реализации и…>
А потом создатели гната опять решат код поправить и фича отключится)
[12:42:30] <ada_ru> (I_vlxy_I) да, гнат он периодически разный
[12:45:00] <ada_ru> (reznikmm)  отвечает (nitrocerber) на <поди ещё пермишены в…>
Он там ещё фиксит какие-то инклуды, я не понимаю что/зачем.
[12:54:48] <ada_ru> (reznikmm)  отвечает (avkvlru) на <а это фича гната или…>
Я не вижу в стандарте такого требования. Лично я бы не стал на это полагаться, ну или смотрел бы исходники библиотеки, если очень хочется
[12:55:54] <ada_ru> (avkvlru) Ну в общем пришел к такому же мнению. Хотя, то что заполняет значению по умолчанию- логично, но лучше перестраховаться и написать лишний цикл...
[12:55:55] <ada_ru> (I_vlxy_I) можно еще Posix курнуть
[12:56:05] <ada_ru> (avkvlru) Быстрее цикл написать)
[12:56:20] <ada_ru> (avkvlru) на него ушло меньше строчек чем на переписку...
[12:56:21] <ada_ru> (I_vlxy_I) это если производительность не важна 🙂
[12:57:28] <ada_ru> (avkvlru) Ну это же не интерпретируемый язык. Не думаю, что затраты на вызов Write настолько велики, чтобы напрячь (в нашем случае).
[12:57:59] <ada_ru> (I_vlxy_I) ну, это смотря сколько гигабайт у тебя файл. вопрос не в процессоре, а в диске
[12:58:01] <ada_ru> (I_vlxy_I) IMHO
[12:59:04] <ada_ru> (avkvlru) С точки зрения обращений к диску, думаю вообще разницы нет, если кэширование адекватно сделано. Слава богу в Аде тех времён код не индусы писали)
[12:59:45] <ada_ru> (nitrocerber) да вот как раз опыт юзернеймов показывает, что ввод-вывод сделан в рантайме через дупу
[12:59:54] <ada_ru> (avkvlru) Но в любом случае- рисковать корректностью работы ради скорости- неприемлемо.
[13:00:59] <ada_ru> (I_vlxy_I)  отвечает (avkvlru) на <С точки зрения обращ…>
эмм.. сложно закешировать файл который в ОЗУ не влезает.
[13:01:02] <ada_ru> (reznikmm)  отвечает (avkvlru) на <Ну в общем пришел к …>
Ну кому логично, а кому нет. Потом прийдёт @I_vlxy_I и скажет – "ваша Ада тормозное гамно, я пропускаю 1000 элементов, а оно их зачем-то в файл пишет". И понеслась Слава по чатам
[13:01:27] <ada_ru> (I_vlxy_I)  отвечает (reznikmm) на <Ну кому логично, а к…>
он может! 🙂
[13:01:33] <ada_ru> (avkvlru) Тоже верно. Поэтому лучше не рисковать, и ручками)))
[13:02:06] <ada_ru> (avkvlru) Хотя на сегодня - по крайней мере в старом гнате  - действительно пишет)
[13:02:28] <ada_ru> (avkvlru) Эх, завтра самоизоляция заканчивается, а стока ещё не доделано...
[13:03:18] <ada_ru> (I_vlxy_I) это где это она заканчивается?
[13:04:06] <ada_ru> (reznikmm) Будут на работу пускать???
[13:05:59] <ada_ru> (avkvlru) Нет, это мне лично "повезло". Вышел с женой подежурить, т.к. у неё рентгенолог заболел, и в этот день припёрся пациент с верифицированным впоследствии cv-19, как назло ещё и помер. Ну и пришлось сидеть 14 дней, т.к. формально был в контакте...
[13:07:31] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <ибо нет реализации и…>
Нет иного бога, кроме господа нашего Иисуса Христа?
[13:10:55] <ada_ru> (I_vlxy_I)  отвечает (avkvlru) на <Нет, это мне лично "…>
гм. а разве по домам не отправили всех и без таких приключений?
[13:11:41] <ada_ru> (avkvlru)  отвечает (I_vlxy_I) на <гм. а разве по домам…>
Я же не в столице живу- а на самой окраине, да ещё и граничащей с китаем. Где на это вначале *** положили сверху, потом снизу, потом ещё раз сверху...
[13:12:41] <ada_ru> (I_vlxy_I) дык вроде как весь апрель по указу Путина не рабочий. не?
[13:13:34] <ada_ru> (avkvlru) Местные алигархи не готовы нести убытки из-за энцефалопатов)))
[13:14:55] <ada_ru> (I_vlxy_I) O_O
[13:15:20] <ada_ru> (I_vlxy_I) но на удаленку то хоть перевели кого-нибудь?
[13:15:23] <ada_ru> (avkvlru) Местная вспышка была ещё зимой. Когда все пульмы были забиты. Я хз сколько сейчас имунных, но никто из медиков контактировавших с первым умершим, а так же те, кто лежал с ним в одной палате на обсервации не заболел.
[13:17:08] <ada_ru> (avkvlru) В феврале у жены в больнице все возрастные и вся нетренированная молодёжь  типа ординаторов и студентов-медбратьев слегла с "неустановленной пневмонией". Я тоже неделю дома отвалялся с хрипами в обеих лёгких снизу. Разумеется не геройствовал, сразу как захрипел лёг на животик...
[13:18:02] <ada_ru> (avkvlru)  отвечает (I_vlxy_I) на <но на удаленку то хо…>
Конечно перевели. У нас на работе всех возрастных, кто пережил зиму отправили без содержания)))
[13:18:13] <ada_ru> (I_vlxy_I) погодь, но в 5 процентах случаев требуется таки ИВЛ, или смерть. просто похрипеть и переболеть у этих 5 процентов не выйдет.

если болело много, то ИВЛы бы кончились, или было бы конкретно много смертей
[13:18:25] <ada_ru> (I_vlxy_I)  отвечает (avkvlru) на <Конечно перевели. У …>
э? это ж не удаленка!
[13:19:06] <ada_ru> (avkvlru)  отвечает (I_vlxy_I) на <погодь, но в 5 проце…>
А они и кончились... А экмо в пульмах у нас вообще отродясь не было. Кого это волновало-то, это же не москва!
[13:19:56] <ada_ru> (avkvlru) У нас при дистресс-синдроме и от гриппа умирают. 2 ЭКМО на город, и никто их в пульмы не отдаст.
[13:21:34] <ada_ru> (geniepro)  отвечает (I_vlxy_I) на <погодь, но в 5 проце…>
Китайцы выяснили, что с этим короновирусом на ИВЛ быстрее помирают, чем без него
[13:21:38] <ada_ru> (avkvlru) И что собственно значит- "много смертей"? Маленький город, с регулярными сезонными вспышками ТОРЗ и внебольничных пневмоний. Все эндемичное к дистресс-синдрому население давным давно вымерло.
[13:22:29] <ada_ru> (avkvlru)  отвечает (geniepro) на <Китайцы выяснили, чт…>
Не совсем. При грамотной поддержке ИВЛ неплохо помогают, но для спасения от ОРДС- нужны ИВЛ с ЭКМО. Там где они были- смертность минимальна.
[13:22:36] <ada_ru> (I_vlxy_I)  отвечает (geniepro) на <Китайцы выяснили, чт…>
нет
[13:22:46] <ada_ru> (I_vlxy_I) то был препринт у которому вопросы
[13:25:04] <ada_ru> (avkvlru) Тут смешение понятий. Есть ИВЛ. Есть ИВЛ с ЭКМО. Второе- единственные (и довольно неплохой) способ  спасти пациента с развившимся ОРДС, при правильной тактике лечения. Первая- при применении у возрастных пациентов- всегда очень опасно, и требует грамотного реаниматолога с индивидуальным контролем. Но опять же это проблемы москвы, у нас возрастных на них вообще не садят до последнего, ибо сидеть и мониторить их одному реаниматологу  на всю реанимацию- некогда.
[13:26:10] <ada_ru> (I_vlxy_I) экмо - это когда оксигинация вне тела происходит?
[13:26:37] <ada_ru> (avkvlru) Да. При развитии ордс - позволяет разгрузить лёгкие и избежать фиброза, если простым языком говорить.
[13:27:10] <ada_ru> (avkvlru) Без него- почти в 95% развивается фиброз, и даже если удаётся убрать отёк лёгких - на сл. день пациент погибнет.
[13:29:50] <ada_ru> (avkvlru) В москве экмо много где напихано,  а в провинциальных городках они если где и есть- то только в  кардиохирургии.  И никто их оттуда не заберёт, ибо если кто из многодостойных начнёт помирать от инфаркта/инсульта- терапевтическое окно всего несколько часов, и мыть будет некогда. А ОРДС - развивается почти сутки, поэтому если че - с кардиологии их для ценного гражданина- перекинут без проблем.
[13:29:53] <ada_ru> (I_vlxy_I) но тут вроде отек легких не развивается, а сами альвиолы разрушаются, что печальней
[13:30:10] <ada_ru> (avkvlru) ;)
[13:30:25] <ada_ru> (I_vlxy_I) а отек легких вроде фиксится забавным образом - вентиляция воздухом с примесью спирта 🙂
[13:31:10] <ada_ru> (avkvlru) А толку... Начнётся фиброз, потом альвеолит и ...
[13:31:25] <ada_ru> (avkvlru) Вы описываете разные стадии финала, начавшегося с ОРДС...
[13:31:36] <ada_ru> (I_vlxy_I) иногда, если организм молодой и здоровый по жизни, может прокатить
[13:32:05] <ada_ru> (avkvlru) Ну да... только у молодых и здоровых отёк легких как бы и не начинается просто так.
[13:32:26] <ada_ru> (I_vlxy_I) ну, то есть есть случаи когда вытагивали человеков с отеком легких
[13:32:41] <ada_ru> (avkvlru) Разумеется есть. 5% ю
[13:33:59] <ada_ru> (avkvlru) Там и спонтанных ремисий хватает.
[13:40:49] <ada_ru> (avkvlru) Сорри за флуд. Короче - эпопея с короновирусом, это к сожалению удел высокоразвитых обществ и регионов. В таких регионах как наш, большинство эндемичных  уже вымерло, и никакая ТОРЗ существенно картины не изменит, и это точно не повод для местных царьков нести убытки. Своих  они и в кардиохирургию положат если потребуется.
[13:41:40] <ada_ru> (I_vlxy_I) ну, то есть Африка не заметит?
[13:41:47] <ada_ru> (avkvlru) Да.
[13:43:50] <ada_ru> (avkvlru) Ещё не заметят (в статистическом плане. не в эмоциональном) страны наподобие германии, где полным много аппаратов экмо на душу человека - как показывает практика при их грамотном применении- смертность минимальна.
[13:58:45] <ada_ru> (I_vlxy_I) а вот в штатах - заметят 🙁
[14:24:10] <ada_ru> (avkvlru) Да из за массового применения хороших прививок и тамифлю в штатах подзабыли про смерть от пневмоний... Сейчас доберут единовременно
[14:25:16] <ada_ru> (I_vlxy_I) короче, лучшая профилактика - естественный отбор!
[14:28:46] <ada_ru> (nitrocerber) и будет ласковый дождь, ога
[14:37:49] <ada_ru> (I_vlxy_I) гигиена огненная!
[16:02:10] <ada_ru> (I_vlxy_I) Москва
[16:02:16] <ada_ru> (I_vlxy_I) На Золоторожском Валу забетонировали кафе, которое не хотело закрываться на период самоизоляции.

По некоторым данным, это было сделано по указанию управы Таганского район https://www.ada-ru.org/files/bot/2020-04-14-x37.jpg
[16:17:45] <ada_ru> (I_vlxy_I) Как растёт С++ https://www.ada-ru.org/files/bot/2020-04-14-x38.jpg
[16:23:36] <ada_ru> (Victor) Про Си: а вирус гриппа тоже ведь каждые 3 года мутирует? ( вернее даже 2 года)
[16:24:46] <ada_ru> (I_vlxy_I) чаще
[16:24:50] <ada_ru> (I_vlxy_I) каждый год
[16:24:52] <ada_ru> (Victor) И кстати: компиляторы соответствующие стандарту насколько запаздывают?
[16:24:56] <ada_ru> (I_vlxy_I) 1-2 раза мажорная мутация
[16:25:08] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <И кстати: компилятор…>
на половину цикла примерно
[16:25:22] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <каждый год>
Значит Си есть куда стремиться -)
[16:25:35] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <Значит Си есть куда …>
ну, кстати, Си релизится реже чем С++
[16:26:04] <ada_ru> (Oleg) Да все забили уже на Си, скоро как с коболом будет
[16:26:28] <ada_ru> (Oleg) Я вот променял си на го на ПК
[16:26:45] <ada_ru> (Oleg) На микроконтроллерах еще нет но многие на C++ ушли
[16:26:49] <ada_ru> (I_vlxy_I)  отвечает (Oleg) на <Да все забили уже на…>
ну, в Си в 11 году появилась многопоточка, а теперь еще и макросы типизированные 🙂 там тоже какая-то движня идет. другое дело, что он не может особо развиваться не растеряв преимуществ своих
[16:26:55] <ada_ru> (I_vlxy_I) там некоторые фичи С99 выпилили
[16:27:20] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <ну, кстати, Си релиз…>
Какой смысл их различать, если у них общие ( 1 шт. на 2 ЯП ) компиляторы?
[16:27:58] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <Какой смысл их разли…>
компиляторы разные это раз. два - языки разные. не любой Си-код является валидным С++ кодом. И, тем более, наоборот.
[16:28:12] <ada_ru> (I_vlxy_I) и стандарты у них разные. это РАЗНЫЕ языки
[16:29:38] <ada_ru> (I_vlxy_I) и нет, компиляторы там тоже разные. g++ vs gcc, clang++ vs clang
[16:29:40] <ada_ru> (Oleg)  отвечает (I_vlxy_I) на <компиляторы разные э…>
Яб даже сказал почти любой Си кон не совместим с С++
[16:29:48] <ada_ru> (I_vlxy_I)  отвечает (Oleg) на <Яб даже сказал почти…>
угу
[16:29:57] <ada_ru> (I_vlxy_I) на С++ сишный код приходится частенько портировать
[16:31:51] <ada_ru> (Victor)  отвечает (Oleg) на <Яб даже сказал почти…>
Там что-то надо в .h или .cpp добавлять

(

Что-то такое в новых пополнениях Modula-3 экосистемы помогло ( частично)

)
[16:32:33] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <и нет, компиляторы т…>
Но хоть  cl.exe  общий?
[16:34:51] <ada_ru> (I_vlxy_I) в этих языках есть принципиальные различия. Простой пример:
void foo();

В Си это означает, что foo принимает сколько угодно аргументов, в С++ это означает, что foo не принимает аргументов вовсе.

Чтобы в Си написать, что функция не принимает аргументов, нужно написать вот так: void foo(void);

Далее, в Си ты пишешь вот такой main:
void main(){} - в С++ это будет ошибка.
[16:35:11] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <Но хоть  cl.exe  общ…>
понятия не имею. это что-то мелкомягкое?
[16:35:31] <ada_ru> (I_vlxy_I) у мелкомягких Си вообще очень хреново поддерживается. даже С99 не умеет
[16:35:46] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <понятия не имею. это…>
Да, это из MS VS
[16:37:01] <ada_ru> (I_vlxy_I) То есть MS может в C++17 и частично в C++20, но не может даже в C99, не говоря уже о C11 и C18
[16:40:16] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <у мелкомягких Си воо…>
"На сегодня" у меня к Си ( нет набирать Си/C++ на мобильном рисковано опечатками) весьма утилитарный интерес: испортит Modula-3 x64 Win или нет -)


--

 Версия: в Ada нет GC, так как язык сложный.

( а realtime - предлог не делать)

GC - в "небогемском" варианте

( эдакий мотиватор -) )
[16:49:00] <ada_ru> (I_vlxy_I) Нет GC - нет проблем. Это мой взгляд на это.
[16:56:39] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <Нет GC - нет проблем…>
Я в курсе -)

--

Проблемы _отключить_ GC, когда он есть - нет.

Можно пойти и проверенным путём: UNTRACED POINTER плюс GC.

 Но, например, Н.Вирт ради GC убрал записи с вариантами.

И вопрос в том, нет ли в Ada похожих опций несовместимых с GC.
[16:57:59] <ada_ru> (I_vlxy_I) Варианты - есть. Но эта фича не является не совместимой с GC. См ocaml, Haskell, любой другой ЯП
[17:00:49] <ada_ru> (I_vlxy_I) И нет, отключить GC когда он есть - очень не просто. Когда у тебя КАЖДАЯ либа, в том числе стандартная, написана с рассчетом на наличие GC.

В языке D совершили ошибку и изначлаьно там есть GC. Теперь они долго и болезненно пытаются сделать его опциональным. Пока не очень то и выходит.

Нет, просто отключить его можно. Только память быстро кончится.
[17:00:54] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <Варианты - есть. Но …>
Я излагаю версию Вирта.

Вернее, он писал, что "реализовать GC и одновременно записи с вариантами" "было сложно", а "они никому не нужны".

 Но это неважно: это был пример, когда одна опция языка серьёзно "мешает" другой.
[17:01:41] <ada_ru> (I_vlxy_I) да не мешает она серьезно. просто у вирта были свои требования. выпилив одну фичу, он тут дважды выиграл - ему не нужно ее реализовывать в языке, не нужно описывать в языке и не нужно поддерживать в рантайме и GC её.
[17:01:56] <ada_ru> (I_vlxy_I) он в Обероне еще и цикл FOR выпилил
[17:02:13] <ada_ru> (I_vlxy_I) и перечисления (ака enum). И алиасы для типов.
[17:02:18] <ada_ru> (I_vlxy_I) И диапазоны
[17:02:25] <ada_ru> (I_vlxy_I) вообще выпилил всё, до чего мог дотянуться
[17:02:41] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <да не мешает она сер…>
Да, "есть такая буква"
[17:03:08] <ada_ru> (I_vlxy_I) а Ада с GC вполне существует - например на .net или jvm
[17:03:22] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <он в Обероне еще и ц…>
FOR заставили вернуть.

Уже в Oberon-2
[17:03:31] <ada_ru> (I_vlxy_I) А Оберон-2 это уже не детище Вирта
[17:04:59] <ada_ru> (I_vlxy_I) там и виртомерзкие методы появились
[17:05:35] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <а Ада с GC вполне су…>
Мне, пожалуйста, в "чистом компиляторе"

(

 Если серьёзно, то в Оберонах сумели, в Modula-3 сумели.

Т.е. техрические проблемы разрешимы.

)
[17:05:55] <ada_ru> (I_vlxy_I) да нет там технических проблем
[17:06:10] <ada_ru> (I_vlxy_I) но GC - это медленно и не вариант для серьезных применений
[17:07:03] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <И нет, отключить GC …>
Мне не очень понятны попытки откручивания GC из D.

 Есть же Azul , Go.

 Там GC - "без пауз"
[17:07:20] <ada_ru> (I_vlxy_I) у Go то без пауз? 😄
[17:08:00] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <но GC - это медленно…>
Но операционная система на C# есть.

(   и даже не одна)
[17:08:43] <ada_ru> (I_vlxy_I) ну да. на C# с ручным управлением памятью там, где это нужно 🙂
[17:09:02] <ada_ru> (I_vlxy_I) только в этом месте C# становится внезапно менее безопасным чем С++, где-то на уровне Си становится
[17:09:08] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <у Go то без пауз? 😄>
Я очень доверчивый -) : в рекламе написали, что без

 А в Azul тоже ?
[17:09:27] <ada_ru> (I_vlxy_I) я не знаю что такое Azul 🙂
[17:10:01] <ada_ru> (I_vlxy_I) но я не верю в чудеса - GC либо дает ощутимый лаг периодически, либо постоянную нагрузку на CPU, в итоге у нас снижается производительность раза в два. Либо и то и другое
[17:10:07] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <я не знаю что такое …>
Платный ( весьма ощутимо) GC для JVM
[17:10:54] <ada_ru> (I_vlxy_I) современный JVM он ни разу не про реалтайм и даже не про производительность. Лаг в 1 ms там за лаг особо не считается
[17:11:04] <ada_ru> (I_vlxy_I) java - это про гибкость в первую очередь
[17:11:34] <ada_ru> (I_vlxy_I) и скорость разработки
[17:11:44] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <но я не верю в чудес…>
Ядер в CPU у нас "завались".

Одно можно пустить "на благое дело"

(

 В Propeller их 11 × 11.

Даже IRQ не нужны

)
[17:12:17] <ada_ru> (I_vlxy_I) одно, которое ради благого дела будет шерстить ОЗУ, будет регулярно инвалидировать кеш процессора, занимать шину памяти и мешать работать всем остальным
[17:12:36] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <современный JVM он н…>
А какой нужен для драйвера звуковой карты?
[17:13:28] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <А какой нужен для др…>
эмм.. есть/были варианты жабы под реалтайм. весьма специфические с весьма специфическими ограничениями
[17:15:12] <ada_ru> (I_vlxy_I) у тебя не будет никогда реалтайма до тех пор, пока в jvm у тебя есть GC и jit
[17:15:58] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <одно, которое ради б…>
Насколько я знаю RAMBUS не дали внедрить Intel фабриканты ОЗУ?

Насколько должно было приблизится к SRAM?

(


 Читал, что CRAY складывал 2 числа за 11 тактов.

 Считывание из RAM - 2 такта.

  Нет ли шансов вернуться в парадиз?

)
[17:16:45] <ada_ru> (I_vlxy_I) а в тех реализациях, если не путаю, жертвовали производительнстью ради реалтайма.

но когда тебе нужна И производительность И реалтайм, то вариантов нет - только нативный язык с оптимизирующим компилятором и без GC. То есть C, C++, Ada, Rust.
[17:16:50] <ada_ru> (I_vlxy_I) rustRustRUST!
[17:17:20] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <у тебя не будет нико…>
Если често, лично я согласен на две Ada ( c и без GC)

Но, похоже, небогемский GC в Ada
[17:18:37] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <а в тех реализациях,…>
А конвертер Си to  safe Rust существует? Реализуем?
[17:18:57] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <Если често, лично я …>
очевидно возможен - ведь есть компилятор Ады в jvm или .net. И там все работает. Следовательно можно и свой наговнякать. Нативный в том числе.
[17:19:07] <ada_ru> (I_vlxy_I) Просто нужно код чуть более инструментировать.
[17:19:57] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <А конвертер Си to  s…>
не существует. если человек способен из Си в safe Rust конвертировать, значит и машина в теории способна.
[17:20:11] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <очевидно возможен - …>
Неужели я один такой ( любитель GC) ?
[17:20:44] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <не существует. если …>
ИИ тоже возможен ...
[17:21:04] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <Неужели я один такой…>
текущая ниша Ады такова, что то, что есть вообще хоть что-то для программирования для десктопов и серверов - чудо
[17:22:07] <ada_ru> (I_vlxy_I) чудо и побочный эффект GPL лицензии
[17:23:54] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <текущая ниша Ады так…>
Так надо стараться...

(

 Я читал Перминова в 90е.
Но думал, что П-гон из своих цепких  лапок не выпустит.

В 2009 увидел в составе GCC семейства. Обрадовался...

)
[17:24:41] <ada_ru> (I_vlxy_I) дык, по инициативе военщины он там оказался 🙂
[17:24:47] <ada_ru> (I_vlxy_I) еще вначале 2000х
[17:27:30] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <дык, по инициативе в…>
Военщина так обрадовалась "победе в холодной войне", что после 1995 года Ада "перестала собирать полные залы казино в Лас-Вегасе"

 См. доклад про Ада на Дне Оберона. ( На одном из. Они ежегодные)
[17:27:46] <ada_ru> (I_vlxy_I) Я был на первом 🙂
[17:27:51] <ada_ru> (I_vlxy_I) лично
[17:27:54] <ada_ru> (I_vlxy_I) и выступал
[17:28:20] <ada_ru> (I_vlxy_I) короче, не важно. вот вам страшилка лучше: https://habr.com/en/news/t/497224/
[17:29:22] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <Военщина так обрадов…>
и да, я видел этот доклад 🙂 Рыбин рулит!
[17:29:26] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <и выступал>
Поищу при случае -)


---

Кстати, у Вирта драйвер мыши "вшит в аппаратуру". М.б. из-за этого сбои?
[17:29:42] <ada_ru> (I_vlxy_I) не, с железкой там всё ок
[17:29:51] <ada_ru> (I_vlxy_I) софтопроблема
[17:30:17] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <и да, я видел этот д…>
Да. Жаль, что в один час помещается, скорее, обзор.
[17:32:07] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <софтопроблема>
Жаль...

--

Как-то надо из языков наследников   Pascal делать комбо-язык
[17:33:27] <ada_ru> (I_vlxy_I) нужно чтобы язык плюс его инфраструктура решал какую-то конкретную насущную проблему. причем решал ее в 10 раз эффективней чем все остальные
[17:34:39] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <нужно чтобы язык плю…>
Я, скорее, про единый фронт борьбы.

А-ля Национальный фронт во Франции ( примерно, 1935)
[17:34:52] <ada_ru> (I_vlxy_I) борьбы за что?
[17:35:23] <ada_ru> (a) Свободу попугаям?
[17:38:07] <ada_ru> (sergey_dukov)  отвечает (I_vlxy_I) на <Нет GC - нет проблем…>
АДА с самого начала ориентировалась на системы реального времени, поэтому GC в ней не реализована. И сделать это весьма трудно. Но по большому счёту сборщик мусора не нужен в АДЕ.
В АДЕ тип указателя не является контролируемым типом и, в общем случае, когда программа покидает область действия указателя, он зависает. Иван Левашев считает такие указатели слабыми и настоятельно рекомендует использовать только сильные указатели (ссылки). Сильная ссылка — это указатель обёрнутый контролируемой структурой со счётчиком обращений. В таком случае, если программа покидает область действия указателя, то объект, на который указывает указатель, очищается. И никакого сборщика мусора не нужно.
Стандартно в АДЕ сильные ссылки реализованы для семейства ...Unbouded_String, для стандартных контейнеров и для некоторых других типов.
[17:38:13] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <борьбы за что?>
С "за что" - проблемка -)

Против чего.
[17:39:45] <ada_ru> (Victor)  отвечает (a) на <Свободу попугаям?>
Могу про Си и Modula-3 дисскуссию с переходом к проблемами F-35 сюда скопировать...
[17:40:30] <ada_ru> (I_vlxy_I) только для начала надо понимать, что F-35 по сравнению с F-22 это примерно как современный комп по сравнению со счетами
[17:42:08] <ada_ru> (Victor)  отвечает (sergey_dukov) на <АДА с самого начала …>
Perl схема? Счётчик ссылок?

( ASSP , антиспам на Perl , с какой-то версии неприятно удивил утечкой RAM )
[17:43:28] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <только для начала на…>
Там сравниваю с СОИ, как все боялись сложности компиляторов
[17:43:43] <ada_ru> (I_vlxy_I)  отвечает (sergey_dukov) на <АДА с самого начала …>
ну, то есть умные указатели, которые в стандарте С++ испокон веков, особенно начиная с 2011 года. std::unique_ptr, std::shared_ptr, но у последнего есть нюансы (и в Аде они будут) - там внутри атомик, а это медленно.
[17:43:59] <ada_ru> (I_vlxy_I) и вообще, щелкать ссылками - не всегда эффективно.
[17:44:03] <ada_ru> (I_vlxy_I) поэтому...
[17:44:09] <ada_ru> (I_vlxy_I) rustRustRUST!
[17:45:27] <ada_ru> (Victor) Если в F-35 ещё и его добавят...
[17:45:44] <ada_ru> (I_vlxy_I) то будет стабильней всё
[17:51:44] <ada_ru> (nitrocerber) Берешь zfp
Отменяешь в нём динамическую память
Фигачишь на нём код
Без GC за..сь
[17:51:52] <ada_ru> (nitrocerber) никакой раст нинужин
[17:52:13] <ada_ru> (nitrocerber) new для слабаков
[17:52:17] <ada_ru> (I_vlxy_I) злой ты...
[17:52:32] <ada_ru> (I_vlxy_I) Evil Ada programmer...
[17:52:45] <ada_ru> (nitrocerber) ну так оно в реальности именно так и юзается же в 80+%
[17:52:51] <ada_ru> (I_vlxy_I) Embedded evil...
[17:52:58] <ada_ru> (nitrocerber) потому и рантайм местами кривой, что его не юзает никто
[17:53:11] <ada_ru> (nitrocerber) там две трети нафиг выкинуты для restricted runtimes
[17:53:34] <ada_ru> (sergey_dukov) В C++ указатель можно определить как класс со своим деструктором. В АДЕ этого нет. Поэтому сильные ссылки нужно реализовывать по другому.
Кстати, тип Unbounded_String очень похож на тип CString в ATL-MFC. Наверное Microsoft стянула его у АДЫ.
[17:53:46] <ada_ru> (Victor)  отвечает (nitrocerber) на <Берешь zfp
Отменяешь…>
Э нет: Ada без проигрывает Modula-3

(

Минимум, в глазах одного hobbyist-а

)
[17:54:20] <ada_ru> (I_vlxy_I) на мой взгляд - серьезно выигрывает 🙂
[17:55:58] <ada_ru> (nitrocerber) Для домашних поделок GC это наверно удобно. Хотя для моего понимания домашних поделок - и на текущую память плевать)
[17:56:17] <ada_ru> (I_vlxy_I) ну, в принципе да
[17:56:30] <ada_ru> (I_vlxy_I) интересно, у меня вообще будет хоть один new в адской проге?
[17:56:41] <ada_ru> (I_vlxy_I) пока, кажется, НИНУЖИН
[17:56:59] <ada_ru> (nitrocerber) come to the zfp side, young cppwalker
[17:57:26] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <come to the zfp side…>
да не, new где-то там унутре контейнеров фурчит. он где-то есть. но мне это пофиг 🙂
[17:57:35] <ada_ru> (Victor)  отвечает (nitrocerber) на <Для домашних поделок…>
Для клона Clarion

(
 
Хотя бы потенциально возможного

)
[17:58:24] <ada_ru> (nitrocerber) а эт хто?
[17:58:35] <ada_ru> (nitrocerber) гуглится девелопер машинных аудиосистем
[17:59:07] <ada_ru> (sergey_dukov) GC всегда был крайне мало-эффективен. Используйте сильные ссылки и GC не нужен.
[17:59:38] <ada_ru> (Victor)  отвечает (nitrocerber) на <а эт хто?>
А это такой Delphi.

Но с 1986 года.

Т.е. это Delphi "не выучил уроки"
[17:59:41] <ada_ru> (I_vlxy_I) не, ИНОГДА GC быстрее. тем более, что счетчик ссылок - это тоже разновидность GC, так то.
[18:00:01] <ada_ru> (I_vlxy_I)  отвечает (Victor) на <А это такой Delphi.
…>
не выучил и будет НАКАЗАН? 🙂
[18:00:05] <ada_ru> (Victor)  отвечает (nitrocerber) на <гуглится девелопер м…>
Есть такое -)

Можно TopSpeed поискать
[18:01:01] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <не выучил и будет НА…>
Ну, глядеть на "невизуальные элементы" посреди экранной формы...
[18:02:59] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <не, ИНОГДА GC быстре…>
GC - просто надёжней.

В Clarion долго не было POINTERs.
Был QUEUE.

Т.е. GC - ближе к традициям.
[18:03:46] <ada_ru> (nitrocerber) смотря шо подразумевать под надёжностью))
[18:03:50] <ada_ru> (I_vlxy_I) дык сделай GC для клариона своего. какие проблемы вообще?
[18:04:04] <ada_ru> (I_vlxy_I) jvm с GC реализована на C++ без GC 🙂
[18:04:08] <ada_ru> (nitrocerber) ежли локхид мартин решит чутка собрать мусор перед срочно нужным манёвром - это будет не очень надёжно)
[18:04:27] <ada_ru> (nitrocerber) так-то до, руками риск что-то пропустить выше
[18:04:31] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <ежли локхид мартин р…>
сможет неподвижно зависать в воздухе! это ж круто!
[18:04:41] <ada_ru> (nitrocerber)  отвечает (I_vlxy_I) на <сможет неподвижно за…>
ловите читера
[18:05:12] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <так-то до, руками ри…>
не надо руками же! rustRustRUST! тебя компилятор стукнет ошибкой если у тебя там подтекает или ты мимо памяти промахиваешься
[18:05:39] <ada_ru> (nitrocerber) а всякие unsafe или как они там называются?
[18:05:54] <ada_ru> (nitrocerber) без которых не решается ни одна реальная задача (как и в случае со спарком, гыгы)
[18:06:53] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <jvm с GC реализована…>
Modula-3 реализована на Modula-3 ( раскрутка, правда и Си backend).

И без коcтылей псевдокода и VM
( "чистый компилятор")
[18:07:48] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <без которых не решае…>
гм. вроде решается. unsafe там вроде как только для интерфейса с Сями
[18:08:33] <ada_ru> (Victor)  отвечает (nitrocerber) на <ежли локхид мартин р…>
У меня тоже язык Пентогона, но для приземлённого -)

( это про Clarion, M3 - не удостоился ( хотя?) )
[18:09:30] <ada_ru> (sergey_dukov) Я считаю GC это метод связанный с АЛЛОКАТАРОМ. Нужна память, GC запускается автоматически или запускается программистом. А контролируемые сильные ссылки это совсем другое.
[18:11:18] <ada_ru> (I_vlxy_I) счетчик ссылок - один из методов работы GC

"Подсчёт ссылок также известен как один из алгоритмов сборки мусора, где каждый объект содержит счётчик количества ссылок на него, используемых другими объектами. Когда этот счётчик уменьшается до нуля, это означает, что объект стал недоступным, и он помещается в список объектов на уничтожение."
[18:11:20] <ada_ru> (I_vlxy_I) https://ru.wikipedia.org/wiki/Подсчёт_ссылок
[18:13:21] <ada_ru> (I_vlxy_I) при этом, у такого GC есть недостатки - циклические ссылки ведут к утечкам памяти
[18:13:40] <ada_ru> (I_vlxy_I) в принципе и в Аде и в плюсах можно сделать мусорщик базирующийся на Leak Sanitizer'e
[18:14:38] <ada_ru> (Victor) В Object C подсчёт ссылок требует невероятной изворотливости, что бы "это всё" работало...

( читал. Мой опыт - см. выше про Perl)
[18:15:17] <ada_ru> (I_vlxy_I) в C++ - не требует 🙂 С ObjC вроде тоже особой проблемы не было. но было менее удобно, это правда. Менее удобно чем в C++
[18:15:34] <ada_ru> (Victor)  отвечает (I_vlxy_I) на <при этом, у такого G…>
Поэтому и странно его считать GC.

( это не Wiki авторы выдумали?)