[08:59:32] <ada_ru> (a) https://ada-shop.ru/ не смог пройти мимо :)
[13:59:45] <ada_ru> (a) https://youtu.be/ntO2sjQU9IE
[14:00:24] <ada_ru> (a) У Патрика норм книжная полка на 9:08
[15:18:11] <ada_ru> (avkvlru) Коллеги подскажите какой-нибудь редактор кода с поддержкой синтаксиса ады и oem-кодировок (win1251 и т.п.)
[15:18:45] <ada_ru> (I_vlxy_I) vscode? gnat gps?
[15:18:49] <ada_ru> (I_vlxy_I) sublime?
[15:18:56] <ada_ru> (I_vlxy_I) vim? 🙂
[15:18:59] <ada_ru> (I_vlxy_I) emacs
[15:19:27] <ada_ru> (avkvlru) под виндоус) - что-нибудь наподобие pspad
[15:19:53] <ada_ru> (avkvlru) gps- не поддерживает вин-кодировки
[15:20:56] <ada_ru> (I_vlxy_I) под виндоус: vscode, sublime, vim, emacs - это всё виндовозные редакторы
[15:23:14] <ada_ru> (I_vlxy_I) а уж первые два - максимально попсовые и в виндах ими пользуются вообще все
[15:23:39] <ada_ru> (avkvlru) ясно спасибо. По иронии судьбы как раз с ними и не сталкивался)))
[15:24:00] <ada_ru> (I_vlxy_I) вау 🙂
[15:24:13] <ada_ru> (I_vlxy_I) https://code.visualstudio.com
[15:24:32] <ada_ru> (I_vlxy_I) https://www.sublimetext.com
[15:25:28] <ada_ru> (I_vlxy_I) хм. на тему sublime я кажется наврал - там кажись нет подсветки для Ады
[15:25:39] <ada_ru> (I_vlxy_I) хотя надо глянуть, может кто-то сделал уже
[15:26:12] <ada_ru> (I_vlxy_I) а, есть https://packagecontrol.io/packages/Ada
[15:26:16] <ada_ru> (avkvlru) Да, кстати, если кто помнит проблему с обсуждением нестыковки форматов сохранения фиксированных типов- пока сидел на карантине- разобрался. Лечится принудительным присвоением размера самой структуре, в которые входят эти типы через for... size
[15:26:42] <ada_ru> (I_vlxy_I) можешь напомнить как проблемы выглядела?
[15:27:00] <ada_ru> (avkvlru) отвечает (avkvlru) на <Добрый день, народ, …>
Вот это начало темы
[15:27:32] <ada_ru> (I_vlxy_I) о! это ж больше года назад было! 🙂
[15:27:38] <ada_ru> (I_vlxy_I) карантин рулит 🙂
[15:28:07] <ada_ru> (avkvlru) Но к сожалению, править надо именно старый код, т.к. новые компиляторы не позволяют делать меньше... Так что у кого есть компиляторы прошлого века - не выкидывайте))) иначе замучаетесь импортировать файлы)
[15:28:52] <ada_ru> (I_vlxy_I) надо просто сериализовывать не как получится, а понимая что именно там пишется на диск. чтобы можно было написать десериализатор на любом ЯП вообще в принципе
[15:29:35] <ada_ru> (I_vlxy_I) а сериализовывать как получится - можно конечно, но только для временных файлов/кешей.
[15:30:17] <ada_ru> (avkvlru) Ну в прошлом веке об этом не особо задумывались, как показала практика. Тем более, что файлы со структурами Си- до сих пор прекрасно себя чуствуют...
[15:30:57] <ada_ru> (avkvlru) В принципе, если не юзать фиксированные типы - то и ада особых проблем не испытывает...
[15:31:29] <ada_ru> (I_vlxy_I) c файлами куда тупо дампили структуры си - я уже так наелся, что больше не хочется 🙂
[15:31:50] <ada_ru> (I_vlxy_I) более того, даже сериализацию объектов в джаве нельзя использовать для этих целей
[15:32:02] <ada_ru> (avkvlru) Ой про джаву лучше ни надо тут)))
[15:33:05] <ada_ru> (I_vlxy_I) так что только четко описанные форматы файлов для хранения данных, можно еще юзать какой-нибудь ASN.1 или protobuf.
[15:35:53] <ada_ru> (avkvlru) Представляю, как лет через 20 будут развлекаться поклонники питона и go наизобретавшие у себя форматов
[15:36:27] <ada_ru> (I_vlxy_I) а они вроде тупо юзают json и не парятся 🙂
[15:36:49] <ada_ru> (avkvlru) Далеко не всегда - только те, кто об этом задумываются.
[15:37:16] <ada_ru> (avkvlru) Кстати несколько лет назад от души порадовал перл, без проблем прожевавший старый MLDBM, между системами...
[15:37:46] <ada_ru> (I_vlxy_I) да не, как раз когда не задумываются, тогда и юзат json. для этого же ничего делать дополнительно не надо. записать и прочитать json проще чем бинарь записать
[15:38:38] <ada_ru> (avkvlru) Я уже столкнулся с парой библиотек. Впрочем, мне почему-то питон вообще не нравится. Наверное старость.
[15:39:19] <ada_ru> (I_vlxy_I) как может нравиться язык в котором не удосужились статическую типизацию изначально прикрутить?
[15:39:32] <ada_ru> (I_vlxy_I) туда сейчас прикручивают - криво и с матами, но уже поздно
[15:39:42] <ada_ru> (avkvlru) Ну там насколько я понял даже аналога use strict нет. По крайней мере во втором...
[15:39:59] <ada_ru> (I_vlxy_I) ну, то есть он ок чтобы скриптик написать, чтобы ML на нем лепить и чтобы плагин к GPS на нем наговнякать
[15:40:41] <ada_ru> (I_vlxy_I) а что такое use strict? я не уверен что питону оно нужно - у него строгая динамическая типизация
[15:41:10] <ada_ru> (avkvlru) В перле эта конструкция запрещает использование переменных без предварительного объявления командой my.
[15:41:55] <ada_ru> (I_vlxy_I) а, не. такого нема
[15:42:49] <ada_ru> (avkvlru) Ну да, я в первую же неделю нарвался на сюрприз вида
w_info=***
if () :
[15:44:10] <ada_ru> (reznikmm) отвечает (avkvlru) на <gps- не поддерживает…>
Может добавить в gps нужные кодировки? Вообще странно, если они есть в компиляторе, а в иде их нет
[15:44:13] <ada_ru> (avkvlru) Угу. Я в первую же неделю нарвался на проблему с опечаткой в переменной. Заимелся искать. Не представляю как на нём большие проекты пишут. Хотя фреймворки типа фласка там конечно удобные для простых вещей.
[15:45:40] <ada_ru> (I_vlxy_I) отвечает (avkvlru) на <Угу. Я в первую же н…>
народ сидит в IDE обмазавшись линтерами различными, которые подсказывают, что вот тут, наверное, у вас очепятка.
ну и когда автокомплит активно юзаешь, сильно сложнее ошибиться - ты никогда целиком названия переменных не пишешь кроме случаев заведения новых переменных
[15:46:57] <ada_ru> (avkvlru) При условии, что е используешь схожих коротких имён. Хотя опять-же, вопрос привычки наверное. Я нарвался на w1 и v1 ;)
[15:47:15] <ada_ru> (avkvlru) Да, кстати, по той железке на которой старая ада работала... Вы не поверите- с ней ничего не случилось :) Просто вывалилась резиновая заглушка и внутрь забрались муравьи, иногда подрабатывавшие "дорожками" на плате. Промыли спиртом, почистили - заодно год производства выяснили- 93й ;)
[15:48:15] <ada_ru> (avkvlru) И поставили обратно. Так и работает, в составе инновационного комплекса российской разработки :)
[15:48:38] <ada_ru> (reznikmm) отвечает (avkvlru) на <Да, кстати, по той ж…>
Круто. А какой там компилятор Ады, если не секрет?
[15:49:14] <ada_ru> (avkvlru) Какой был изначально не скажу, мы юзали gnat 2000 года. Изначально был какой-то другой, но проблем с совместимостью тогда не возникало.
[15:49:53] <ada_ru> (avkvlru) Там в папке лежали все исходники, ещё на 83й аде написанные.
[15:50:02] <ada_ru> (Oleg) а что за прибор?
[15:50:32] <ada_ru> (reznikmm) Последний "p" - GNAT 3.15p был в 2002
[15:50:42] <ada_ru> (avkvlru) Полувоенного назначения, подаренный когда-то в период горбачевского потепления.
[15:50:59] <ada_ru> (avkvlru) gnatn 3.13 если не ошибаюсь.
[15:51:41] <ada_ru> (reznikmm) 😊
[15:52:33] <ada_ru> (avkvlru) Причём саму железку как я понимаю японцы делали, американцы к ней тока софт написали. Поэтому и ресурс такой...
[15:52:47] <ada_ru> (Oleg) А
[15:52:54] <ada_ru> (Oleg) Я думал наш
[15:53:28] <ada_ru> (avkvlru) Ну теперь наш. Входит в состав одного очень инновационного комплекса чисто отечественной разработки :)
[15:53:31] <ada_ru> (Oleg) А полувоенного это как? В случае войны врага по голове можно стукнуть им ?
[15:53:48] <ada_ru> (a) Notepad++
[15:54:01] <ada_ru> (avkvlru) В нотепаде не нашел синтаксиса ады, как и в пспаде и фаре
[15:54:06] <ada_ru> (reznikmm) отвечает (avkvlru) на <Причём саму железку …>
А откуда там буквы в русской кодировке? В комментариях появились?
[15:54:11] <ada_ru> (avkvlru) Да)
[15:54:57] <ada_ru> (Oleg) У меня в IAR свежем такая же история
[15:54:59] <ada_ru> (avkvlru) К нему ещё книжка по аде скотчем прикручена была, правда она сгнила)))
[15:55:54] <ada_ru> (avkvlru) Потому что я подозреваю, что этому прибору ещё лет 20 работать придётся без апгрейда)
[15:56:04] <ada_ru> (Oleg) Муравьи съели :-)
[15:56:16] <ada_ru> (Oleg) Прям 100 лет одиночества
[15:56:18] <ada_ru> (avkvlru) Нет, просто сгнила. Влажность высокая.
[15:56:43] <ada_ru> (avkvlru) отвечает (Oleg) на <Прям 100 лет одиноче…>
Это называется- оптимизация финансирования НИОКР ;)
[15:57:25] <ada_ru> (Oleg) Да это во всем мире так, говнософт лепят , нормального софта нет
[15:57:46] <ada_ru> (Oleg) И железа
[15:58:04] <ada_ru> (avkvlru) В этом плане у нас получше. Говнософта нет, потому что вообще ниче не лепят. С железом аналогично. Поэтому оборудование- надёжнее некуда)
[15:58:14] <ada_ru> (Oleg) Промобот есть , ИВЛ нет
[15:58:24] <ada_ru> (Oleg) Ну нет
[15:58:29] <ada_ru> (avkvlru) ИВЛ есть, экмо нету...
[15:58:39] <ada_ru> (Oleg) Я стараюсь - говнософт пишу !
[15:58:49] <ada_ru> (avkvlru) На аде :)?
[15:58:54] <ada_ru> (I_vlxy_I) ИВЛ производят, да
[15:58:56] <ada_ru> (Oleg) Увы нет
[15:59:07] <ada_ru> (a) картинка https://www.ada-ru.org/files/bot/2020-04-11-x32.jpg
[15:59:12] <ada_ru> (Oleg) На Go/пихон/JS
[15:59:20] <ada_ru> (Oleg) Ада у меня пока хобби
[15:59:26] <ada_ru> (avkvlru) Хм... пошел свежий нотепад скачаю. В моём нет.
[15:59:33] <ada_ru> (reznikmm) отвечает (avkvlru) на <gps- не поддерживает…>
Я вот только что запустил GPS, поставил кодировку cp866 написал комментарий по русски, сохранил. Всё работает. Просто там в комбобокс списке нет этой кодировки, впишите руками и всё будет пахать
[15:59:36] <ada_ru> (I_vlxy_I) btw: как показала проблема с сериализацией - на той железке софт - тоже говнософт 🙂 коль именно вот так вот сериализовывали
[15:59:41] <ada_ru> (insert_reference_here) отвечает (Oleg) на <Никогда кстати не по…>
Просто удобнее. Если a <= b <= c, то интервалы a..b и b..c не пересекаются. А с включающими интервалами где-то нужно будет +1 воткнуть
[16:00:24] <ada_ru> (a) я думаю vscode то точно будет удобнее нотпада
[16:00:40] <ada_ru> (insert_reference_here) отвечает (nitrocerber) на <а как сделать интерв…>
a..=b
[16:01:35] <ada_ru> (I_vlxy_I) @insert_reference_here ты лучше за многомерные массивы в расте поясни
[16:01:44] <ada_ru> (reznikmm) GPS, только GPS! :)
[16:01:56] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <@insert_reference_he…>
А что пояснять, многомерных массивов из коробки в Rust нет
[16:02:05] <ada_ru> (insert_reference_here) Максимум вложенные массивы
[16:02:10] <ada_ru> (I_vlxy_I) отвечает (reznikmm) на <GPS, только GPS! :)>
увы, да. но его нужно нужно допиливать паяльником
[16:02:24] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <А что пояснять, мног…>
а почему? и почему даже в стандартной либе ничего для этого нет?
[16:03:08] <ada_ru> (I_vlxy_I) почему в другом убийце С++, в Java, эту боль плюсатую обрали, а в расте - нет?
[16:03:38] <ada_ru> (avkvlru) отвечает (I_vlxy_I) на <btw: как показала пр…>
Ну если уж совсем честно - то это мы выдергивали из работающего софта отдельные данные с датчиков, для последующей обработки. Так что говнософт там увы отечественный :(
[16:04:33] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <а почему? и почему д…>
Композируемость хреновая. Подслайс слайса является слайсом, а срез многомерного массива уже не очень массив, там элементы не обязательно подряд лежат
[16:04:35] <ada_ru> (I_vlxy_I) отвечает (avkvlru) на <Ну если уж совсем че…>
о! наши доработки!
[16:05:11] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Композируемость хрен…>
да, это правда. тем не менее с ними надо уметь работать несмотря на проблемы
[16:05:41] <ada_ru> (insert_reference_here) Короче, при дизайне многомерных вопросов есть несколько вопросов, которые нужно решить, и выбрать какой-то один вариант — значит законсервировать его и лишить возможности иметь что-то получше
[16:05:53] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <да, это правда. тем …>
Ну а либы сторонние на что?
[16:06:11] <ada_ru> (avkvlru) Угу. Сейчас вообще проще сделал- преобразую нативные типы софта в Long_float и сливаю уже в нём. Дальше можно хоть на Си забирать, благо типы совместимы с unsigned long и double
[16:07:17] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Ну а либы сторонние …>
добавили бы в стандартную либу маааленькую фукнцию/тип - индекс для доступа к массиву. компонуешь его с одномерным хранилищей и работаешь как с N-мерным массивом с нужной индексацией.
засунули бы эту фичу стандартной либы под unstable/experimental флаг и всё.
[16:07:37] <ada_ru> (avkvlru) Детёныш недавно матерился на питон, когда писал какую-то олимпиаду. Выяснив, что numpy инициализирует быстрее, зато потом работа замедляется едва ли не втрое)
[16:07:51] <ada_ru> (I_vlxy_I) в расте же известный путь как сделать функциональность но при этом никому ничего не пообещать, и не принять окончательное решение
[16:08:54] <ada_ru> (I_vlxy_I) отвечает (avkvlru) на <Детёныш недавно мате…>
там всё сложно. ну, то есть чтобы numpy юзать эффективно - нужно очень хорошо понимать что у него под капотом
[16:09:09] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <добавили бы в станда…>
А размерности где хранить? Это уе не массив получется
[16:09:19] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <А размерности где хр…>
в индексе же
[16:09:34] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <в индексе же>
Ты хоть понимаешь, насколько это неудобно?
[16:09:40] <ada_ru> (I_vlxy_I) нет, не понимаю
[16:09:52] <ada_ru> (I_vlxy_I) я могу захотеть один и тот же одномерный массив видеть как 2d массив, как 1d массив и как 3d массив
[16:10:00] <ada_ru> (I_vlxy_I) считай, что это вью такое
[16:10:24] <ada_ru> (avkvlru) отвечает (I_vlxy_I) на <там всё сложно. ну, …>
Ну там питон вообще вылез сюпризом, когда выяснилось, что поддержка других языков организаторами не реализована)
[16:10:30] <ada_ru> (insert_reference_here) Ну тебе пришлось бы размерности указывать при каждой индексации. А я не хочу так, я хочу, чтобы массив сам за своими размерностями следил
[16:11:10] <ada_ru> (insert_reference_here) отвечает (avkvlru) на <Детёныш недавно мате…>
У numpy API не очень
[16:11:26] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Ну тебе пришлось бы …>
не при каждой индексации, а при создании индекса же
[16:11:30] <ada_ru> (insert_reference_here) Точнее, не так: много функций и у многих крайне куцая документация
[16:11:53] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <не при каждой индекс…>
Так индекс неизменный получается
[16:12:22] <ada_ru> (avkvlru) Ладно бы куцая, я постоянно сталкиваюсь, что она там и жутко устаревшая. Честно говоря уже с ностальгией CPAN вспоминаю...
[16:12:44] <ada_ru> (insert_reference_here) отвечает (insert_reference_here) на <Точнее, не так: мног…>
А функций много, потому что их эквиваленты, реализованные в питоне, тормозят
[16:13:22] <ada_ru> (I_vlxy_I) int foo[100*200];
Index idx_foo2d(foo, 100, 200);
Index idx_foo3d(foo, 100, 20, 10);
idx_foo2d[10,20] = 13;
idx_foo3d[10,2, 5] = 13;
[16:13:44] <ada_ru> (I_vlxy_I) вот на псевдокоде то, что я хочу
[16:14:03] <ada_ru> (I_vlxy_I) что я хочу видеть в стандартной либе любого языка который на уровне языка не умеет в массивы
[16:14:14] <ada_ru> (insert_reference_here) Ну, вот ты и сделал многомерный массив в виде нового типа
[16:14:23] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <что я хочу видеть в …>
*многомерные массивы
[16:14:34] <ada_ru> (avkvlru) А я просто хочу видеть там многомерные массивы)
[16:14:47] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Ну, вот ты и сделал …>
индекса. или view, если угодно. данных в них нет
[16:14:58] <ada_ru> (insert_reference_here) Можно сделать [[i32; 5]; 5], например, но это по ряду причин не очень удобно
[16:15:10] <ada_ru> (avkvlru) И не искать приключений, потому что эффективнее реализации чем простейшее перемножение всё равно нет.
[16:15:20] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Можно сделать [[i32;…>
мне нужны эти массивы с неизвестными на этапе компиляции размерами
[16:15:46] <ada_ru> (insert_reference_here) отвечает (avkvlru) на <А я просто хочу виде…>
Так либы же есть: ndarray, nalgebra и ещё пяток недобитков
[16:16:11] <ada_ru> (avkvlru) отвечает (I_vlxy_I) на <мне нужны эти массив…>
А при чём здесь компиляция. Динамическое отведение прекрасно справляется.
[16:17:03] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Так либы же есть: nd…>
в эти либы, кроме такого простейшего типа (если он там вообще есть) еще тонну говна пихают в подарок обычно. оно мне надо? это все равно, что ради многомерных массивов в зависимости тащить opencv
[16:17:28] <ada_ru> (I_vlxy_I) отвечает (avkvlru) на <А при чём здесь комп…>
в расте можно сделать многомерный массив, но только с фиксированным на этапе компиляции размером
[16:17:32] <ada_ru> (I_vlxy_I) в Аде то всё ок
[16:17:45] <ada_ru> (avkvlru) Может я туплю, но все же многомерка по факту юзается там, где нужна скорость. И без нативной многомерки ты сразу влетаешь на дикие накладные расходы.
[16:18:02] <ada_ru> (insert_reference_here) отвечает (avkvlru) на <Может я туплю, но вс…>
А причём тут нативность?
[16:18:21] <ada_ru> (avkvlru) Потому что быстрее компилятора, никто не преобразует многомерный индекс в адрес.
[16:18:51] <ada_ru> (I_vlxy_I) отвечает (avkvlru) на <Потому что быстрее к…>
индекс - штука очень простая. компилятор тут никакой магии не делает. можно на godbolt сравнить Аду и те же кресты в этом плане например
[16:19:00] <ada_ru> (insert_reference_here) отвечает (avkvlru) на <Потому что быстрее к…>
Он точно так же сделает линейное преобразование. Почему это должно быть быстрее, чем в пользовательском коде?
[16:19:01] <ada_ru> (I_vlxy_I) если конечно компилятор оптимизирующий
[16:19:43] <ada_ru> (avkvlru) Если это делается не через библиотеку, и не дай бог объекты ...
[16:20:12] <ada_ru> (avkvlru) За раст не скажу, я с ним не знаком. То, как это сделано в питоне /перле - внушает лёгкий ужас)
[16:20:27] <ada_ru> (I_vlxy_I) питоноперл это вообще не то
[16:20:33] <ada_ru> (insert_reference_here) отвечает (avkvlru) на <За раст не скажу, я…>
Это скриптопроблемы
[16:20:35] <ada_ru> (I_vlxy_I) давайте сравнивать с крестами хотя бы
[16:20:49] <ada_ru> (avkvlru) Кресты это раст?
[16:21:45] <ada_ru> (avkvlru) Или си-шарп?
[16:22:10] <ada_ru> (Oleg) C++
[16:25:53] <ada_ru> (avkvlru) не угадал)
[16:29:41] <ada_ru> (avkvlru) dir *.ad? | grpl файлов.*байт
365 файлов 1 734 223 байт
[16:30:07] <ada_ru> (avkvlru) неплохо в прошлом веке кода клепали...
[16:30:34] <ada_ru> (avkvlru) и там весь код ручками, без генераторов...
[16:31:02] <ada_ru> (avkvlru) американцы знали толк в извращениях)
[16:31:56] <ada_ru> (I_vlxy_I) Там небось ещё adi файлы посчитались
[16:32:20] <ada_ru> (avkvlru) нет там таки
[16:32:33] <ada_ru> (avkvlru) только ads и adb
[16:33:07] <ada_ru> (avkvlru) компилятор пишет ali
[16:37:00] <ada_ru> (avkvlru) правда там как я понимаю много кода общего назначения, много лишнего написано из-за желания избавиться привязки к платформам- вот например как они проверяют наличие файла:
with Text_IO,Strings_Op;
use Text_IO,Strings_Op;
function ExistFile(FN:String) return Boolean is
F:File_Type;
begin
Open(F,In_File,FN);
Close(F);
return True;
exception
when Name_Error => return False;
end;
[16:37:53] <ada_ru> (insert_reference_here) отвечает (avkvlru) на <правда там как я пон…>
Открывают файл только для того, чтобы тут же его закрыть? Выглядит расточительно
[16:38:20] <ada_ru> (avkvlru) очевидно в А83 никак по другому существование файла без системных вызовов не проверишь.
[16:48:08] <ada_ru> (reznikmm) отвечает (insert_reference_here) на <Открывают файл тольк…>
gnat сейчас делает ровно тоже самое
[16:48:50] <ada_ru> (Oleg) Я почти так делал коннект к базе , перед запуском основной работы , так как в одном драйвере для одной базы под один язык :-) никак не понять есть соединение или нет, connect возвращает что все Ok даже если сервер базы не запущен
[16:50:30] <ada_ru> (avkvlru) А ещё там встречаются замечательные вещи- сразу вспоминаешь для чего язык разрабатывался:
-- for tercom compatibility set 0
[16:51:26] <ada_ru> (avkvlru) хотел бы я на этот модуль взглянуть)
[16:51:40] <ada_ru> (reznikmm) Рекламная пауза: Вчера запихал в msys2 новый gprbuild, теперь он собирает DLL без ошибок и костылей. Можно, наверное, пытаться использовать вместе с alire
[17:07:14] <ada_ru> (insert_reference_here) отвечает (avkvlru) на <очевидно в А83 никак…>
Но это же фигня. В промежутке между открытиями файла этот файл могут удалить
[17:10:24] <ada_ru> (avkvlru) Ну тогда ещё один name_error вылезет ;)
[17:13:00] <ada_ru> (avkvlru) Да, кстати, хотел спросить- а в аде83 что уже было автоматическое удаление мусора? Без объектов?
[17:13:09] <ada_ru> (avkvlru) Или на него просто забивали?
[17:19:06] <ada_ru> (nitrocerber) Финалайзд_контроллед - теговый
[17:19:15] <ada_ru> (nitrocerber) Так что в 83 его не было 146%
[17:19:54] <ada_ru> (nitrocerber) А так-то "автоматического" удаления и вовсе нет.
[17:20:13] <ada_ru> (nitrocerber) Это к решёткам и кукарек кококо)
[17:21:49] <ada_ru> (nitrocerber) Риалтайм пацанчики всё чистят руками)
[17:22:12] <ada_ru> (nitrocerber) Хотя не, риалтайм пацанчикам динамическую память в руки-то не дают
[18:08:48] <ada_ru> (I_vlxy_I) отвечает (avkvlru) на <Да, кстати, хотел сп…>
там было что-то про область видимости типа
[18:08:49] <ada_ru> (reznikmm) отвечает (insert_reference_here) на <Но это же фигня. В п…>
А как по другому?
[18:10:36] <ada_ru> (I_vlxy_I) а зачем файл вообще проверять?
[18:10:56] <ada_ru> (I_vlxy_I) не тыкай палочкой, сразу делай то, что хочется
[18:24:19] <ada_ru> (avkvlru) отвечает (I_vlxy_I) на <там было что-то про …>
Посмотрел. Там со счётчиком. Как все указатели об null яются, так и освобождалась. Была прагма controlled которой это можно было отключить.
[18:26:11] <ada_ru> (avkvlru) отвечает (I_vlxy_I) на <а зачем файл вообще …>
Ну в том коде что на железке- при отсуствии файла срабатывал таймаут, ожидающий его появления 1 сек. Удалялся файл только средствами самого кода, так что сделано вполне корректно.
[18:27:12] <ada_ru> (I_vlxy_I) угу. но в общем случае надо просто сразу пытаться что-то с файлом сделать - если надо открыть, то открыть (если файл не открывается потому, что его нет, или нет прав - будет ошибка сразу)
[18:27:41] <ada_ru> (avkvlru) ну очевидно так просто читабельнее, было, чем делать блок вложенный в цикл.
[20:10:13] <ada_ru> (I_vlxy_I) отвечает (avkvlru) на <ну очевидно так прос…>
Не понял. Зачем?