[00:00:17] <ada_ru> (a) ;)
[00:00:56] <ada_ru> (I_vlxy_I) это еще что, у некоторых вот на боевых серверах АРЧ стоит!
[00:02:20] <ada_ru> (a) И вообще обновляться надо грамотно. Пока генту компилит, я как правило сплю
[00:02:46] <ada_ru> (a) Кто тут против здорового сна?
[00:03:16] <ada_ru> (I_vlxy_I) я, кстати, не очень понимаю, когда говорят, что на Аде (или на языке Y) проги надежней получаются.

Надежней КОГДА? То есть если ведь нам нужна бесконечная надежность, то разработка на любом ЯП будет длиться бесконечное время.

Поэтому нужно же выбрать какой-то момент времени T, в который мы сравним надежность на решения на языке X и Y, так?
[00:03:46] <ada_ru> (I_vlxy_I)  отвечает (a) на <И вообще обновляться…>
повышаешь энтропию вселенной! УБИЙЦА! Ты приближаешь тепловую смерть вселенной!
[00:03:51] <ada_ru> (Satyri0n) Ладно, в следующий раз сначала суйте вперёд TCO с расчётами сравнительными. Иначе это несерьёзный разговор.
[00:04:43] <ada_ru> (a) http://noteland.ru/catalog.htm
[00:05:04] <ada_ru> (a) Любителям старой техники
[00:05:12] <ada_ru> (a) Привет из Омска
[00:05:30] <ada_ru> (I_vlxy_I) я подозреваю, что если порисовать кривульки функциональность проги от времени разработки и надежность проги от времени разработки, то у Ады эти кривульки будут отличаться от иных ЯП.
[00:06:08] <ada_ru> (Satyri0n) У Ады TCO выше как и надежность
[00:07:50] <ada_ru> (t91x0) Мы компилили генту
Много наших полегло
[00:10:29] <ada_ru> (I_vlxy_I)  отвечает (Satyri0n) на <У Ады TCO выше как и…>
по сравнению с чем?  c haskell? не верю 🙂 с с++ -- ну, может быть.
[00:10:40] <ada_ru> (I_vlxy_I) C Go -- вот вообще не знаю.
[00:10:54] <ada_ru> (a) Я не пытаюсь же вас заставить меня на работу к вам взять. Я пытаюсь узнать а какой по вашему Линукс сейчас наиболее удобен конечному пользователю, для домашнего компа, например. Для серверов мы все и так все знаем. Шляпа, убунту, центось. Потому что там написаны спец инструменты для пакетного администрирования
[00:11:14] <ada_ru> (I_vlxy_I) ибо в Аде шурануть по невалидному указателю можно, а в Го - не выйдет без специальных ухищрений
[00:12:19] <ada_ru> (t91x0)  отвечает (a) на <Я не пытаюсь же вас …>
Для домашного компа удобнее всего винда
[00:12:38] <ada_ru> (t91x0) Для офисного тоже, кстати
[00:12:42] <ada_ru> (Satyri0n)  отвечает (I_vlxy_I) на <по сравнению с чем? …>
Легко доказать на примерах. Например, берём "простую задачу" на пару часов и двух обычных программистов на си/си++ и аде. потом сравниваем результаты. сишник в плане надёжности проигрывает.
[00:13:03] <ada_ru> (I_vlxy_I) как надежность будем оценивать?
[00:13:13] <ada_ru> (Satyri0n) С помощью формальных методов
[00:13:14] <ada_ru> (I_vlxy_I) end2end тестами?
[00:13:22] <ada_ru> (t91x0) Pvs-studio прогнать
[00:13:33] <ada_ru> (I_vlxy_I) аду будет сложно прогнать через PVS 🙂
[00:13:42] <ada_ru> (Satyri0n) Pvs-studio это несерьёзно
[00:13:45] <ada_ru> (t91x0) Нет, они умеют аду
[00:13:56] <ada_ru> (a) Почему не макось?
[00:13:57] <ada_ru> (Satyri0n) она примитивные ошибки найти не способна
[00:13:58] <ada_ru> (I_vlxy_I) да ладно?
[00:14:01] <ada_ru> (t91x0)  отвечает (Satyri0n) на <Pvs-studio это несер…>
Ну хоть что-то
[00:14:10] <ada_ru> (I_vlxy_I) умеют?
[00:14:38] <ada_ru> (t91x0) Поищите, была на хабре публикация
[00:15:08] <ada_ru> (Satyri0n) надо в таких случаях на ящик коньяка спорить
[00:15:21] <ada_ru> (nitrocerber) Коньяк! А это идея
[00:15:53] <ada_ru> (I_vlxy_I) https://habr.com/company/pvs-studio/blog/329270/
[00:15:55] <ada_ru> (I_vlxy_I) чот нашел
[00:15:56] <ada_ru> (a) Вотка лучше
[00:16:05] <ada_ru> (I_vlxy_I) Libadalang
[00:16:08] <ada_ru> (I_vlxy_I) хы
[00:16:12] <ada_ru> (nitrocerber) Чур меня
[00:16:20] <ada_ru> (nitrocerber) Экзорциста в студию!
[00:16:33] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <Экзорциста в студию!>
в PVS-студию? 🙂
[00:16:40] <ada_ru> (nitrocerber) А вообще это по мотивам софта тульских ребят для плюсов
[00:16:44] <ada_ru> (I_vlxy_I) ну вот, первая же диагностика на обращение по невалидному указателю 🙂
[00:16:50] <ada_ru> (t91x0) Я не спорю, а предлагаю возможный вариант. Подозреваю, что формальные методы проверки невозможно применить тем людям, которые их не знают. То есть, 90% программистов
[00:17:09] <ada_ru> (I_vlxy_I) "В кодовой базе наших инструментов нашлись обе проблемы. Вот пример ошибки, найденной в компиляторе GNAT в файле g-spipat.adb, где в процедуре Dump разыменовывается указатель P.P в строке 2088"
[00:17:12] <ada_ru> (nitrocerber)  отвечает (I_vlxy_I) на <в PVS-студию? 🙂>
Вот как раз они и есть вроде
[00:17:13] <ada_ru> (I_vlxy_I) хыхы
[00:17:32] <ada_ru> (I_vlxy_I) и вот уже тут Раст уделывает Аду по надежности 🙂
[00:18:16] <ada_ru> (Satyri0n) Про этих божих коровок тут уже была ссылка с год назад. PVS не умеет в аду. там вообще не про то. Как не умела, так и не умеет.
[00:18:17] <ada_ru> (a) А вы бы этих ребят сюда и позвали
[00:18:53] <ada_ru> (a) И научили
[00:18:56] <ada_ru> (Satyri0n) PVS толком в си не умеет. Я не знаю, как вы читаете статья, по одному верхнему заголовку что-ли?
[00:19:01] <ada_ru> (nitrocerber) А мы может и звали.. Но ращный подход к процессам
[00:19:22] <ada_ru> (I_vlxy_I) дас... число комментов под постом намекает на степень интереса к языку у публики...
[00:19:57] <ada_ru> (nitrocerber)  отвечает (I_vlxy_I) на <дас... число коммент…>
По выпустившимся одногруппникам могу сказать, что 99% моих сверстников умеют и могут только в веб
[00:20:37] <ada_ru> (nitrocerber) Остальные за 25к горбатятся на околооборонку с какими-нибудь фотонными датчиками для вкртолётов, невыездом 5 лет и пологодоввми командировками в казахстан
[00:20:44] <ada_ru> (I_vlxy_I) а некоторые (и много их) не верят что программирование бывает не для веба
[00:20:46] <ada_ru> (nitrocerber) Нафига им ада
[00:20:55] <ada_ru> (I_vlxy_I) (но подозревают, что бывает еще программирование под мобилки)
[00:20:58] <ada_ru> (t91x0)  отвечает (Satyri0n) на <PVS толком в си не у…>
Скажите, что конкретно вы подразумеваете под формальными методами? Какие инструменты, быть может?
[00:21:04] <ada_ru> (nitrocerber) Дв и что угодно кроме фреймворка, который выдали в зубы на текущем месте работы
[00:21:31] <ada_ru> (Satyri0n)  отвечает (t91x0) на <Скажите, что конкрет…>
Вычисление уравнения второго порядка для начала
[00:22:38] <ada_ru> (Satyri0n) Там можно около совершить как менее, так и не менее 40 ошибок для вычления в целочисленных переменных, так и в переменых с точкой
[00:23:01] <ada_ru> (nitrocerber)  отвечает (I_vlxy_I) на <а некоторые (и много…>
Да это габздос. Читать помойки типа хабра и типичного программиста просто невозможно. Веб веб веб веб... Десктопные приложения? "Кальве? А кто это?"
[00:23:23] <ada_ru> (Satyri0n) Все эти тесты записаны, выверены для разных RTL для c/c/++/ruby/perl/и д.р.
[00:23:34] <ada_ru> (t91x0)  отвечает (nitrocerber) на <Да это габздос. Чита…>
Видите ли. Денег за пределами веба нет.
[00:24:01] <ada_ru> (nitrocerber)  отвечает (t91x0) на <Видите ли. Денег за …>
В этой стране (ц) - увы да. И это печаль(((
[00:24:03] <ada_ru> (t91x0)  отвечает (nitrocerber) на <В этой стране (ц) - …>
Не только.
[00:24:12] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <Да это габздос. Чита…>
помню работал я в некой конторе Y, и там рядом сидел питонист. Ну и что-то мы разговорились на тему компиляторов. Ну и я упомянул что вот у компилятора бывает фронтенд, бекенд всякое такое. У него был разрыв шаблона 🙂
[00:24:19] <ada_ru> (a) Вот вы мне скажите. Вот например по категориям софта для нужд человека, куда ада подходит, кроме эмбеддед. Инженерный софт, мультимедиа, веб, системный ( опер. Системы) ещё что...
[00:24:28] <ada_ru> (nitrocerber) Ну кто-то же пишет акронисы, фотошопы, геймдев в уоконце концов
[00:25:00] <ada_ru> (I_vlxy_I) ибо для него фронтенд и бэкенд == веб всегда и во всём. какой нафиг фронтенд у компилятора?!
[00:25:04] <ada_ru> (a) Я вот знаю инженерный. Там Фортран, Лисп, плюсы
[00:25:22] <ada_ru> (a) Вижуал басик
[00:25:34] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <В этой стране (ц) - …>
чойта? ни я ни мои знакомые не работают с вебом 🙂 именно в этой стране
[00:25:54] <ada_ru> (I_vlxy_I) деньги вроде есть 🙂
[00:27:05] <ada_ru> (nitrocerber) Ну ты и адой интересуешься) эпсилон-погрешность) увы(
[00:28:21] <ada_ru> (t91x0)  отвечает (Satyri0n) на <Там можно около сове…>
Для таких задач можно использовать что-то уже известное. Я просто предполагал задачку вроде сетевого чата, или скажем реализации примитивного ftp, и пытался представить, какие же там могут быть использованы формальные методы.
[00:28:49] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <чойта? ни я ни мои з…>
Ну, давайте мериться зарплатой.
[00:29:03] <ada_ru> (t91x0) Это даже интересно.
[00:29:18] <ada_ru> (a) Математический софт может, ИИ, базы данных. Как язык может обрести популярность, если вы тут решить не можете всем чатом для чего он использоваться может
[00:29:56] <ada_ru> (Satyri0n) Да почти никто не понимает в формальных методах. Там есть как минимум два подхода: строить из надёжных кирпичей надёжные вещи (всё не построить из них) и доказывать присутствие/отсутсвием определённых свойств в уже построенных софтах
[00:30:00] <ada_ru> (t91x0)  отвечает (a) на <Вот вы мне скажите. …>
Да всюду, где си подходит.
[00:32:13] <ada_ru> (t91x0)  отвечает (Satyri0n) на <Да почти никто не по…>
А как у вас, в вашем случае, доказывается правильность работы чего-то многопоточного? Я знаю про существование tla+, но не владею им в достаточной мере.
[00:32:16] <ada_ru> (a) То есть написание осей, системных компонент, и высокопроизводительных лёгких прикладных приложений. Например музыкальный плеер деадбиф на c написан.
[00:33:01] <ada_ru> (t91x0)  отвечает (a) на <То есть написание ос…>
Скайп написан на дельфи. Можно было и Ворд написать, да написали его уже до.
[00:33:12] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <Ну ты и адой интерес…>
Знакомые не интересуются :-)
[00:33:55] <ada_ru> (a) Новый Скайп на гавне из электронов? Не?
[00:34:46] <ada_ru> (nitrocerber) Фоомальную верификацию ещё старик Кауфман сто лет назад в своей книжке по АЯ описывал... Там и про аду было. Правда как раз на формальщине я и сдох(
[00:34:48] <ada_ru> (t91x0)  отвечает (a) на <Новый Скайп на гавне…>
В винде точно нет.
[00:34:52] <ada_ru> (I_vlxy_I)  отвечает (a) на <Новый Скайп на гавне…>
Да
[00:35:01] <ada_ru> (nitrocerber) Уж больно она заумная
[00:35:30] <ada_ru> (nitrocerber) Новый скайп ужасен чуть более, чем полностю, особенно на мобильных устройствах(
[00:35:34] <ada_ru> (Satyri0n)  отвечает (t91x0) на <А как у вас, в вашем…>
Если полно, то это так быстро не описать в 5-м то часу ночи
[00:35:51] <ada_ru> (a) Руки оторвать дизайнерам электрон приложений
[00:35:54] <ada_ru> (t91x0) Скайп есть продукт ms. Никогда ms не будет делать важный продукт на основе хрома от гугла, от конкурентов.
[00:36:08] <ada_ru> (I_vlxy_I)  отвечает (a) на <То есть написание ос…>
Для высокой производительности уровня сей Аде придется отрубить все рантайм проверки и исключения. Это повлияет на надежность
[00:36:22] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <Скайп есть продукт m…>
Бгг
[00:36:53] <ada_ru> (t91x0)  отвечает (Satyri0n) на <Если полно, то это т…>
О, у нам один часовой пояс.

Ну тогда - благодарю за очень интересное общение, как будет у вас время, надеюсь снова вам встретить здесь.
[00:36:57] <ada_ru> (Satyri0n)  отвечает (t91x0) на <Скайп есть продукт m…>
Неправда. Над скайпом эстонская фирма много лет работала, а потом типа влилась в майкрософт. Он сам к созданию/развития скайпа не имеет отношения.
[00:37:02] <ada_ru> (I_vlxy_I) А там где можно медленнее, си сразу идут лесом
[00:37:34] <ada_ru> (t91x0)  отвечает (Satyri0n) на <Неправда. Над скайпо…>
Сейчас есть skype for business и для мс он важен
[00:37:40] <ada_ru> (Satyri0n)  отвечает (t91x0) на <О, у нам один часово…>
Да я тут всегда. Просто не часто умеется возможность не то что писать, а адже прочитать времени нет.
[00:37:57] <ada_ru> (Satyri0n) Так что до новых встреч, при возможности!
[00:38:08] <ada_ru> (t91x0) Я в курсе о его истории, но что его на электроне переписали - это вряд ли.
[00:38:17] <ada_ru> (a) Это фор бизнес хуже десктопногр
[00:38:38] <ada_ru> (t91x0) Я умолкаю, спокойной ночи всем
[00:38:46] <ada_ru> (Satyri0n) это интерфейс на нём переписали, ядро-то на паскале осталось
[00:38:59] <ada_ru> (a) Не похоже что он так уж им важен
[00:39:59] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <Я в курсе о его исто…>
Оно точно на js и под виндой тоже
[00:40:15] <ada_ru> (I_vlxy_I)  отвечает (Satyri0n) на <это интерфейс на нём…>
Ядро никогда не было на паскале
[00:40:22] <ada_ru> (I_vlxy_I) Ядро всегда было на цпп
[00:40:33] <ada_ru> (I_vlxy_I) Был гуй на делфи для винды
[00:40:35] <ada_ru> (I_vlxy_I) Раньше
[00:48:04] <ada_ru> (I_vlxy_I) А теперь они и вовсе перешли на централизованную схему и тупо на webrtc
[00:48:22] <ada_ru> (Satyri0n) Откуда инфа про си++? Кстати под Линукс гуй тоже на паскале был
[00:49:27] <ada_ru> (I_vlxy_I) Под линух гуй был на Qt
[00:50:18] <ada_ru> (I_vlxy_I)  отвечает (Satyri0n) на <Откуда инфа про си++…>
Читал статьи по реверсу скайпа. Я же занимался VoIP разработкой, это все было интересно.
[00:51:47] <ada_ru> (I_vlxy_I) Интересно было как оно у конкурентов :-)
[00:51:50] <ada_ru> (Satyri0n) Скайп очень сложная программа, она может прикидываться чем угодно.
[00:52:23] <ada_ru> (Satyri0n) Нашу мультимедию делали на openh3xx
[00:52:42] <ada_ru> (Satyri0n) Там, понятно адские плюсы
[00:54:32] <ada_ru> (I_vlxy_I)  отвечает (Satyri0n) на <Скайп очень сложная …>
Была
[00:55:14] <ada_ru> (I_vlxy_I) Ладно, я спать
[06:41:36] <OCTAGRAM> > (Максим) Кто-нибудь использовал type X in access constant ... типы в Аде? Какие впечатления?
Конечно, в Fast_Strings при прямом доступе к Unbounded_String даётся только доступ на чтение. Да и контейнеры стандартные так устроены
[06:42:04] <OCTAGRAM> кто хотел LLVM, что AdaMagic не посоветовали?
[06:42:55] <OCTAGRAM> для сетки кроме WebSockets ещё WebRTC стоит иметь в виду
[06:56:38] <OCTAGRAM> WebRTC роутеры как раз умеет дырявить по всякому
[06:57:04] <OCTAGRAM> без WebRTC можно считать, что и нет поддержки сети в языке, роутеры всё зарежут
[06:59:14] <OCTAGRAM> и вот ведь незадача, WebRTC+libevent чтоб всё в одном, я не видел
[10:26:35] <ada_ru> (Максим)  отвечает (t91x0) на <Для таких задач можн…>
Вот к примеру dns на ада, с формальными методами, никаких проблем. https://www.adacore.com/academia/projects/ironsides-secure-dns-server
[10:31:27] <ada_ru> (t91x0)  отвечает (Максим) на <Вот к примеру dns на…>
Я знаю про этот проект. Мне интересно, как бы в случае соревнования, предложенного собеседником "одна задача, два программиста, один пишет на С++, другой на Ada",  как бы применялись формальные методы к С++.
[10:35:11] <ada_ru> (I_vlxy_I) формальные методы для оценки надежности написанного. как-то так.
[10:35:27] <ada_ru> (I_vlxy_I) а не формальные методы для построения и доказательства корректности написанного.
[10:36:11] <ada_ru> (Максим)  отвечает (t91x0) на <А как у вас, в вашем…>
Мои 2 копейки. В случае использования равенскар профайла можно доказать отсутствие гонки приоритетов, взаимных блокировок и что задачи помещаются в заданный график планировщика, по-моему
[10:36:16] <ada_ru> (t91x0) То есть, это такое соревнование, где нужно либо заранее писать по-особому, зная о будущей проверке и её возможностях. А то ж вдруг после соревнования возникнет необходимость верифицировать Boost, ну и как это сделать за обозримое время?
[10:36:51] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <формальные методы дл…>
Я их не знаю, честно.
[10:37:25] <ada_ru> (I_vlxy_I) я тоже. я бы оценивал надежность просто путем расширенного тестсета.
[10:39:53] <ada_ru> (nitrocerber)  отвечает (t91x0) на <То есть, это такое с…>
ну вообще, когда пишут под какой-нибудь DO-178, то заранее знают, что надо будет мноооого чо проверять... и не только формальными методами
[10:41:09] <ada_ru> (I_vlxy_I) ну речь то шла о том, чтобы просто иметь какую-то линейку для оценки надежности написанного софта.
[10:41:17] <ada_ru> (t91x0)  отвечает (nitrocerber) на <ну вообще, когда пиш…>
Понимаете ли, в исходной постановке задачи про такое сказано не было. Sergei может быть что-то пояснит про особенный С++, годный к проверке.
[10:41:26] <ada_ru> (I_vlxy_I) тут для оценки надежности произвольного софта предложили некие формальные методы.
[10:41:56] <ada_ru> (nitrocerber) вот кстати к слову о DO
[10:42:04] <ada_ru> (nitrocerber) The Software Level, also known as the Design Assurance Level (DAL) or Item Development Assurance Level (IDAL),[9] is determined from the safety assessment process and hazard analysis by examining the effects of a failure condition in the system. The failure conditions are categorized by their effects on the aircraft, crew, and passengers.

Catastrophic - Failure may cause multiple fatalities, usually with loss of the airplane.
Hazardous - Failure has a large negative impact on safety or performance, or reduces the ability of the crew to operate the aircraft due to physical distress or a higher workload, or causes serious or fatal injuries among the passengers.
Major - Failure significantly reduces the safety margin or significantly increases crew workload. May result in passenger discomfort (or even minor injuries).
Minor - Failure slightly reduces the safety margin or slightly increases crew workload. Examples might include causing passenger inconvenience or a routine flight plan change.
No Effect - Failure has no impact on safety, aircraft operation, or crew workload.
[10:42:17] <ada_ru> (nitrocerber) Метрика есть. Для измерения надёжности) категории всякие
[10:42:39] <ada_ru> (I_vlxy_I) какие такие категории?
[10:43:01] <ada_ru> (I_vlxy_I) вот есть у тебя софта кусок, скажем архиватор - архивирует в zip. Как будешь надежность проверять?
[10:43:18] <ada_ru> (I_vlxy_I) и какая будет шкала?
[10:43:29] <ada_ru> (nitrocerber) гонять туда сюда и смотреть, сколько раз упадёт самолёт)))
[10:43:52] <ada_ru> (I_vlxy_I) от архиватора запущенного на ноуте пассажира? 😄
[10:43:56] <ada_ru> (nitrocerber) ну да)))
[10:44:15] <ada_ru> (nitrocerber) мож он перешревает проц, от него загарается литийонная батарея, пожар итд
[10:44:30] <ada_ru> (t91x0)  отвечает (nitrocerber) на <ну да)))>
Это нечто организационное. А задача стояла так - берём двух вась (интернов, пишуших формочки под андроид  -дополню от себя). Одному васе даём аду, другому васе даём c++. Оба они не знают ничего про формальные методы. Даём им задачу на два часа и сравниваем решения, исследуя их формальными методами.
[10:45:15] <ada_ru> (I_vlxy_I) при этом вася/с++ скачал решение из интернета, а вася/ада изобретал сам 😄
[10:45:30] <ada_ru> (I_vlxy_I) (ну или адаптировал паскалевское из интернета)
[10:45:32] <ada_ru> (nitrocerber) ну то такое, да. ДО описывает процесс взаимодействия с сертификационными артефактами, и на язык ему плевать
[10:55:05] <ada_ru> (I_vlxy_I) тут интересная мысль проскакивала, что Ада годится везде где годится Си (видимо и где С++ тоже). То есть если берем задачу которую хотели писать на С или даже на C++, и возьмем Аду, то получим какой-то профит (например будет меньше отладки и меньше циклов - поправил, запустил тесты, шлепнулось, отладил, поправил, запустил...). Плюс производительность будет плюс-минус такая же.

Но в эту же нишу целится еще пачка языков, то есть тут Ада соревнуется совсем не с С и с С++ а соревнуется с: Go, D, Rust, Swift, Kotlin-native. Вот эти ребята как минимум.

Задачи которые обычно пишутся на сях или плюсах (более-менее прикладные), это: ML (именно само обучение/алгоритмы, потом делается обвязка для питоняки чтобы дергать было удобно), СУБД, реализация нагруженных серверов да протоколов, обработка аудио-видео (включая кодеки), 3D графика (движки игр скажем).

Вопрос: ожидается, что решение на Аде тут будет быстрее или надежней (то есть экономим на времени разработки этапа подчистки багов после тестов) конкурентов?
[11:02:26] <ada_ru> (t91x0) Собеседником дальше была предложена задача "решить уравнение второго порядка". Подобные задачи крайне редко возникают в той разработке, с которой сталкиваюсь я, ну да ладно. Она чисто алгоритмическая. А если это будет задача, вовлекающая какую-то многопоточность, как будет доказываться отсутствие deadlock и прочего? Ладно, в аде есть ravenscar, а в С++ что? Наконец, положим вася притащит в С++ какой-нибудь libuv. Как его верифицировать, полагать надёжным?

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

Набор возможных задач тоже оказывается сильно ограничен - математику-то верифицировать более-менее умеют, а как насчёт некорректно работающего GUI? Например, заходите вы в банк-клиент в браузере, хотите кому-то отправить денег на яндекс.кошелёк. Выбираете "Отправка", вводите название платёжной системы в строку поиска, а страница-то ещё не загрузилась, она подглюкивает, подхрюкивает, вы вводите буквы я... н... д...., а идиотская автоподстановка начинает реагировать только когда вы ввели "е" и заменяет всё ранее вами введённое на "е", и дальнейший ввод будет вам предлагать варианты, начинающиеся с "ек...". Это достаточно частая болезнь у поисковых строк.
[11:03:37] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <тут интересная мысль…>
На Го десктоп не пишут по одной технической причине, я могу ниже подробнее написать. Его удел - это серверная интеграция.
[11:04:01] <ada_ru> (Gourytch)  отвечает (I_vlxy_I) на <тут интересная мысль…>
в принципе годится. единственно, что новые версии C++ умеют в лямбды и в rvalue, но можно считать это синтаксическим сахаром. зато C++ не умеет в интроспекцию почти никак. (поправьте меня если я не прав)
[11:04:40] <ada_ru> (I_vlxy_I)  отвечает (Gourytch) на <в принципе годится. …>
этапа компиляции или рантайма интроспекцию?
[11:04:53] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <На Го десктоп не пиш…>
по той причине, что десктоп НИНУЖИН!
[11:04:56] <ada_ru> (Gourytch)  отвечает (I_vlxy_I) на <этапа компиляции или…>
рантайма конечно
[11:05:14] <ada_ru> (I_vlxy_I)  отвечает (Gourytch) на <рантайма конечно>
над этим работают. всё будет.
[11:05:27] <ada_ru> (Gourytch)  отвечает (I_vlxy_I) на <по той причине, что …>
нужен. я вот долго мучался, привинчивая десктопные плюшки к своему телеграммоботику, нарисованному на Go
[11:06:09] <ada_ru> (Gourytch)  отвечает (I_vlxy_I) на <над этим работают. в…>
думаю не все доживут до этого безо всякого сомнения знаменательного события.
[11:06:54] <ada_ru> (I_vlxy_I) Вот у D например довольно четкое позиционирование -- если тебе хочется более приятного и крутого метапрограммирования и не хочется морочиться с памятью в С++, если нужна надежность чуть выше чем у жабы, но  жаба тебе не подходит (ибо хочется нативно), бери D.

У Rust тоже четкое позиционирование - замучала ненадежность С++ особенно в плане памяти и его скорость компиляции? Бери Rust, везде где С++ хорош Rust будет еще лучше! И в плане многопоточности и в плане надежности и в плане скорости разработки в конечном итоге, да и в плане скорости работы проги Rust как минимум не хуже плюсов. Получаешь надежность не платя за это скоростью работы. Плюс плюшки от функциональщины. Плюс пакетный менеджер, репозиторий компонент куда можно добавлять свои, система сборки - все под рукой.

А у Ады вот такое позиционирование: (тут нужно дописать текст)
[11:06:58] <ada_ru> (Gourytch) это как в байке с челябинским метро:
мы сделаем метро в этом метро наши дети будут ездить к своим внукам =)
[11:07:34] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <На Го десктоп не пиш…>
статическая линкоффка?
[11:08:54] <ada_ru> (Gourytch) думаю Qt-биндинг это универсальное решение для почти любого языка
[11:09:09] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <статическая линкоффк…>
(писал не я, но выглядит убедительно)
—————
Хе-хе, вот и нет. GC в голанге сверхбыстрый, STW паузы не превышают 100 микросекунд на любом размере хипа. Тут гошечка присовыввает джаве и прочим за обе щеки. Сисколы дорогостоящие из -за особенностей реализации CSP concurency. В рантайме гошные инструкции передаются event-loop-ам, которые раскидывают их на выполенение по тредам ос. Если таким образом выполнять системные вызовы, вся это прекрасная стройная система наёбнётся на раз. Потому что стек горутины 2-10 кБ, а не мегабайт, на который рассчитаны сисколы. Потому что блокирующие инструкции типа виндовых WaitForSingleObject - они тупо залочат условный скедулер горутин если их выполнять синхронно. Потому что треды, в которых выполнются горутины, ничего не знают про какой нибудь libpthread. По этим и другим причинам сисколы выполняются в отдельной подсистеме (cgo), которая с гошечкой взаимодействует асинхронно. Но даже это не даёт 100%ной гарантии от багов и лагов. Поэтому все любители перекинуть хотспоты из питона в си (типа меня) страшно обламываются в голанге.
—————
[11:09:31] <ada_ru> (Gourytch) https://github.com/therecipe/qt
[11:11:07] <ada_ru> (I_vlxy_I) про 2-10 Кб стека -- это лажа. В том плане что там стек у горутины может расти неограниченно (впрочем и у плюсов тоже, при желании)
[11:17:35] <ada_ru> (I_vlxy_I) а как это все к лагам может привести, я чото ваще не понимаю
[11:17:51] <ada_ru> (I_vlxy_I) к багам - да, к лагам - хз.
[11:17:59] <OCTAGRAM> сколько я помню, Ада позиционируется как и Раст, только на более длительном интервале времени
[11:18:50] <OCTAGRAM> можно ещё поехидничать, что CCured пришёл и ушёл, Cyclone пришёл и ушёл, что будет с Растом, не понятно, но Ада останется
[11:19:01] <ada_ru> (I_vlxy_I) то есть на малых и средних проектах Ада будет таки более затратна и менее надежна нежели Раст, но на огромных и очень длительных - она уже будет побеждать в плане надежности и затрат в итоге?
[11:19:02] <OCTAGRAM> но вообще CCured стоило бы оживить
[11:19:23] <OCTAGRAM> с фига ли менее надёжна?
[11:20:09] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <то есть на малых и с…>
Вряд ли более затратна. Берём дельфистов-пенсионеров и сажаем на аду, они пишут. А на rust придут юные разработчики из блокчейн-стартапов и попросят 300 т.р. в месяц.
[11:20:12] <OCTAGRAM> адские привязки не просто к libyaml делать, а обработать CCured сишную часть
[11:20:32] <OCTAGRAM> не делфистов, а пхпшников сойдёт :)
[11:20:57] <ada_ru> (t91x0) Пхпшники либо такие, что даром не надо, либо очень дорогие.
[11:21:21] <OCTAGRAM> ада такая, что если у пхпшника что-то получилось, велик шанс, что всё правильно
[11:21:40] <OCTAGRAM> те, кто раньше были делфистами, сейчас, скорее всего, окажутся пхпшниками
[11:21:44] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) с фига ли…>
по памяти например
[11:22:22] <OCTAGRAM> и что по памяти?
[11:22:29] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <Вряд ли более затрат…>
ну, обычно народ все же смотрит куда бы с С++ сбежать, при этом в штате полно плюсовиков. вот они писать и будут.
[11:22:48] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) и что по …>
то что раст отловит в compile time, то Ада может быть отловит только в рантайме
[11:22:50] <ada_ru> (I_vlxy_I) а может и нет
[11:23:12] <OCTAGRAM> чего там в compile time ловить?
[11:23:32] <ada_ru> (I_vlxy_I) в compile time гарантировать отсутствие обращения по невалидным указателям
[11:23:57] <OCTAGRAM> и что здесь Ада не делает?
[11:24:32] <ada_ru> (t91x0) У ады меньше потребность в использовании heap, и это она ловит хорошо.

Rust в принципе создан для борьбы с неправильным использованием heap. Он это умеет лучше Ады.
[11:24:51] <OCTAGRAM> указатели в null выставляет, Unchecked_Deallocation свой аргумент в null приводит, какие невалидные указатели?
[11:25:40] <ada_ru> (t91x0)  отвечает на <(OCTAGRAM) указатели…>
Есть русскоязычная книжка Rustbook,  сейчас главы скажу.
[11:28:03] <OCTAGRAM> мне это напоминает хайп по регионам в Cyclone
[11:28:25] <OCTAGRAM> тоже вот нашли, что в языке Ада нет именно в том же виде
[11:29:15] <OCTAGRAM> пришёл и ушёл Cyclone, в ParaSail как-то худо-бедно попытались позаимствовать, но в общем и целом как писали на Аде, так и продолжаем
[11:30:19] <OCTAGRAM> вещь была интересная, но если что-то возрождать, то, скорее, CCured
[11:30:43] <OCTAGRAM> CCured бы выгодно оттенял Аду по производительности
[11:32:44] <OCTAGRAM> мол, вот если напишете на Си, то чтобы потом натянуть на это поделие безопасность, придётся пожертвовать вот столько производительности (при этом в CCured честно постарались, чтоб таки было как можно меньше), а вот на Аде компилятор лучше понимает, что происходит в программе, там и более безопасно, и более быстро получается
[11:33:29] <ada_ru> (I_vlxy_I) Думаю раст быстрее ады
[11:34:38] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <У ады меньше потребн…>
Ну, стек тоже конечен. Можно воткнуться в крах программы из за попытки разместить на стеке гигабайт
[11:34:57] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <Ну, стек тоже конече…>
А с кучей-то так же
[11:35:20] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <Думаю раст быстрее а…>
Надо мерить. Нельзя сказать наверняка.
[11:35:26] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <А с кучей-то так же>
Ну, куча реже кончается таки
[11:50:57] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) сколько я…>
То есть на коротком интервале Ада тоже будет как минимум не хуже раста?
[11:51:38] <ada_ru> (I_vlxy_I) И по скорости написания и по числу багов?
[11:53:32] <ada_ru> (I_vlxy_I) Или как мне интерпретировать сказанное?
[11:55:27] <ada_ru> (t91x0) Думаю, речь о годе появления Ады - 1983. Расту-то без году неделя.
[12:01:12] <ada_ru> (I_vlxy_I) 8 лет, да. Столько же сколько было Аде в 1991.
[12:01:35] <ada_ru> (I_vlxy_I) Видимо Адой как минимум до 1992 года также пользоваться не стоило :-)
[12:04:01] <ada_ru> (I_vlxy_I) В общем, увы, но ни у кого так и не получилось сформулировать фальсифицируемое утверждение относительно Ады vs конкуренты. :-/
[13:15:37] <OCTAGRAM> @I_vlxy_I ну да, в одном языке так скомбинировали возможности, в другом — эдак, что-то приобрели, что-то потеряли
[13:17:14] <OCTAGRAM> на Аде самолёты летают и метро ездят, утверждение о якобы меньшей безопасности — это просто нонсенс
[13:17:36] <OCTAGRAM> особенно, если другой язык не основан на Аде или явно не заимствовал из языка Ада
[13:20:13] <ada_ru> (I_vlxy_I) на с++ тоже и самолеты летают и марсоходы ездят и много чего еще.
[13:20:34] <ada_ru> (I_vlxy_I) безопасность больше зависит от организационных мер нежели от языка, в таких то областях.
[13:20:41] <OCTAGRAM> целый багаж получается особенностей языка, над которыми кто-то думал лет 40, но вокруг каждой такой фичи не устраивали ажиотаж, потому что ажиотаж обычно когда не было и стало, а вот когда было и не стало, то такого ажиотажа не получается, а последствия такие же
[13:22:22] <ada_ru> (I_vlxy_I) да просто никто Аду не видел. Ну и судя по индексу tiobe, она опускается всё ниже.
[13:22:31] <OCTAGRAM> если бы авторы языка Раст потрудился сделать Previous Work, как положено, особенно положено создателям новых языков, и там расписал про Аду, было бы некоторое понимание, что человек имеет то хорошее, что есть в языке Ада, в виду, и не на ровном месте теряет очки, а по инженерным соображениям выбрал другой путь
[13:22:54] <OCTAGRAM> таким людям, как создателям новых языков, положено видеть Аду
[13:23:02] <ada_ru> (Максим) По tiobe Ада выше раста
[13:23:34] <OCTAGRAM> компилируемых в машинный код безопасных языков — ну как можно не заметить слона?
[13:24:00] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <По tiobe Ада выше ра…>
Ага. И это гут
[13:24:03] <OCTAGRAM> а что ещё они не заметили, вопрос напрашивается
[13:26:07] <OCTAGRAM> я вот в своих работах, когда обозревал объектные модели, докопался до каждого WinRT, GObject, UNO и даже OW2 Fractal
[13:26:39] <OCTAGRAM> как можно делать Previous Work по Расту и не заметить Аду, там что, вариантов настолько много было за всю историю?
[13:29:50] <OCTAGRAM> больше похоже на то, что у кого-то память как у золотой рыбки
[13:30:22] <ada_ru> (I_vlxy_I) мне кажется, или в этих словах затаилась какая-то обида?
[13:33:05] <OCTAGRAM> когда приходит волна Cyclone, метившего в якобы незанятую нишу, а потом волна Раста, и опять двадцать пять никто ничего не знает (в том числе и шишки, набитые Cyclone), я начинаю себя чувствовать, как будто я один такой умный и всё помню, а вокруг меня золотые рыбки, и всё у них в первый раз
[13:34:10] <ada_ru> (I_vlxy_I) циклон же был чисто исследовательским. и волны особо и не было. на нем ничего не писалось машстабного. в отличие от раста.
[13:35:39] <OCTAGRAM> судя по качеству Previous Work, отличия не сильно велики
[13:36:05] <OCTAGRAM> если так и дальше будет продолжаться, мне страшно за прогресс
[13:37:18] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) если так …>
и где в расте, по твоему, слабые места/
[13:37:21] <ada_ru> (I_vlxy_I) ?
[13:37:32] <ada_ru> (I_vlxy_I) где это может стрельнуть, на каких задачах?
[13:37:48] <OCTAGRAM> по ключевым словам Rust SPARK было сравнение
[13:38:03] <OCTAGRAM> на embedded.com, кажется
[13:39:06] <ada_ru> (I_vlxy_I) это конечно здорово, но давай лучше с Адой сравним.
[13:39:29] <OCTAGRAM> авторы Раста должны были сделать diff в норме
[13:40:55] <OCTAGRAM> потому что вот были ассерты, ассерты выросли в контракты, контракты выросли в предикаты, вот как с этим в Расте?
[13:41:30] <OCTAGRAM> но это пальба в небо, где-то ещё могут поджидать более интересные вещи
[13:41:46] <OCTAGRAM> перечисления насколько там удобно сделаны
[13:42:40] <ada_ru> (I_vlxy_I) перечисления чего? enum'ы? примерно как в любом ФП.
[13:42:41] <OCTAGRAM> могу ли завести тип-перечисление, потом в другом месте массив им проиндексировать, потом передумать, сделать более широкое перечисление, начинающееся с других элементов, а старый тип объявить как подтип нового перечисления
[13:42:57] <ada_ru> (I_vlxy_I) контракты легко делаются на уровне библиотеки, а не языка.
[13:42:58] <OCTAGRAM> в языке Ада массивы при этом нормально индексируются
[13:44:04] <OCTAGRAM> но если язык делали лоботомированные, не различающие число и enum (а их более богатый в невменяемом C++ опыт оставляет такие подозрения), то массивы весело разъедутся, и сводить их будет неудобно
[13:44:41] <ada_ru> (I_vlxy_I) а еще в аде присваивание правильное ":=" а не этот ваш поганый "=" !!1
[13:44:52] <OCTAGRAM> а в Расте?
[13:46:33] <ada_ru> (I_vlxy_I) погоди, а в каком месте в плюсах enum это то же самое, что и число?
[13:46:35] <ada_ru> (I_vlxy_I) https://godbolt.org/g/hwfqLo
[13:47:05] <OCTAGRAM> в плюсах массив от enum по диапазону можно сделать?
[13:47:47] <ada_ru> (I_vlxy_I) не распарсил предложение. массив чего и сколько?
[13:50:11] <OCTAGRAM> например, массив JSON-значений, предназначенных для отправки запросов на соответствующие сервера
[13:50:31] <OCTAGRAM> сколько поддерживаемых серверов, столько и запросов может быть
[13:51:05] <ada_ru> (I_vlxy_I) эмм.. std::unordered_map или std::map и всё.
[13:51:32] <OCTAGRAM> но адский массив будет гарантировать, что я не забуду никакое значение
[13:51:35] <ada_ru> (I_vlxy_I) std::map<serverID, JsonValue> — такой тип
[13:51:48] <OCTAGRAM> там не ID, а тип сервера
[13:52:19] <ada_ru> (I_vlxy_I) про это сказано не было 😊 но это не важно. ServerTypeId
[13:52:32] <ada_ru> (I_vlxy_I) А каким образом оно будет это гарантировать?
[13:52:51] <OCTAGRAM> попробуй в адском массиве или case забыть значение
[13:53:23] <ada_ru> (I_vlxy_I) В какой именно момент забыть значение? при обращении по индексу - так легко.
[13:53:33] <ada_ru> (I_vlxy_I) в цикле - а тут и в плюсах не забудешь.
[13:53:33] <OCTAGRAM> при инициализации
[13:54:06] <ada_ru> (I_vlxy_I) а если вовсе не иницализировать, что там лежать будет?
[13:54:31] <OCTAGRAM> адский агрегат не скомпилируется, если всех значений не указать
[13:55:04] <OCTAGRAM> зная об этом, я пишу адские агрегаты и case с перечислением всех известных на текущий момент значений
[13:55:44] <OCTAGRAM> когда появляется новое значение, везде, где надо «выстреливает» и не компилируется, пока я глазами не посмотрю и не впишу нужный код
[13:55:51] <ada_ru> (I_vlxy_I) будет время - кинь код приближенный к боевому. гляну.
[13:56:38] <OCTAGRAM> а где не надо, там я могу оставить старое имя enum, который теперь стал поддиапазоном более широкого
[13:57:50] <OCTAGRAM> есть сервисы поиска рекламы, а есть, на заказ я делаю, не то прокси, не то парсер, пересылает запросы как типа с обычных компов залогиненных и сводит всё воедино
[14:00:28] <ada_ru> (I_vlxy_I) кода мне. кода! посмотрю код. подумаю как сделать в плюсах лучше 😊
[14:10:41] <OCTAGRAM> type Original_Server_Kind_Type is (Mobile_Kind, Native_Kind, Desktop_Kind);
Storage_Letter : constant array (Original_Server_Kind_Type) of Character := (Mobile_Kind => 'm', Native_Kind => 'n', Desktop_Kind => 'd');
function Convert_Request (Internal_Request : JSON.JSON_Value; Kind : Original_Servers_Kind_Type) return JSON.JSON_Value is
… здесь в некоторых местах case Kind is, а в некоторых — универсально для Original_Servers_Kind_Type
… куча всего такого было
потом стало условно
type Mergeable_Server_Kind_Type is (Slice_Kind, Coffee_Kind, Mobile_Kind, Native_Kind, Desktop_Kind);
subtype Original_Server_Kind_Type is Mergeable_Server_Kind_Type range Mobile_Kind .. Desktop_Kind;
что-то реально поменялось
Storage_Letter : constant array (Mergeable_Server_Kind_Type) of Character := (Mobile_Kind => 'm', Native_Kind => 'n', Desktop_Kind => 'd', Slice_Kind => 's', Coffee_Kind => 'c');
а где-то осталось, как в Convert_Request, но тот Convert_Request был переименован, а взамен него новый, знающий про более полный диапазон, пересылающий через case в старый Convert_Request или в совершенно новые
[14:13:22] <OCTAGRAM> когда запрос делается, прокси-парсер чекает, какие учётки в данный момент живы, из этих учёток смотрит, какие способны обработать запрос, а бывают, что не способны, режима подходящего не хватает, например, и делает запросы к серверам
[14:14:43] <OCTAGRAM> на сайте бездонный скроллинг, прилетают запросы на N элементов, эти N пилятся между живыми и способными учётками, потом результаты обратно конвертируются и сводятся вместе
[14:27:00] <OCTAGRAM> агрегаты, насколько я помню, в C появились, {.имяполя = 1, .имяполя = 2 } или что-то вроде того, может быть, и в C++ тоже, а, может быть, и нет
[14:27:39] <OCTAGRAM> но вот я не помню, чтобы в C++ можно было указывать аргументы по именам
[14:28:34] <OCTAGRAM> в Delphi такое, кстати, есть, но только для (Ole)Variant, там это транслируется на нижнем уровне в соответствующий вызов, а для простых — никак не задать
[14:29:31] <OCTAGRAM> если автор языка никогда не видел, чтоб в агрегатах и параметрах можно было так по вкусу сочетать позиционную и именованную форму, можно ожидать, что он у себя этот подход не воспроизведёт
[14:30:13] <OCTAGRAM> а это читаемость, а читаемость снижает количество ошибок, как и контракты, в отличие от просто библиотеки
[14:34:44] <OCTAGRAM> > в агрегатах и параметрах
к этому ещё параметризацию generic можно добавить
[14:35:58] <ada_ru> (Максим)  отвечает (I_vlxy_I) на <а еще в аде присваив…>
Этот стёб вообще не интересно читать, а в чате про Аду, так совсем 😕
[14:36:57] <OCTAGRAM> лишь бы в if присваивания не было :)
[14:39:33] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <Этот стёб вообще не …>
ok. не буду больше.
[14:50:44] <ada_ru> (I_vlxy_I) просто слишком часто я слышал этот аргумент со стороны критикующих плюсы. чаще чем нужно.
[14:51:32] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) type Orig…>
спасибо. гляну. но если был бы законченный компилирующийся пример, было бы удобней.
[15:30:47] <ada_ru> (Максим) Беда в том, что нам не удалось завлечь/удержать в этом чате наших из адакоры, кроме Федора. Видимо не интересно им тут :(
[15:31:35] <ada_ru> (I_vlxy_I) 😞
[16:21:52] <ada_ru> (Oleg) Конечно - тут все раст и го хвалят и холиварят :-)))
[16:39:37] <OCTAGRAM> http://нэб.рф/catalog/000219_000026_RU_%D0%93%D0%9F%D0%9D%D0%A2%D0%91+%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8_IBIS_0000231490/ было бы интересно достать в электронном виде, и у этого автора ещё несколько книг, работ по этой теме
[17:30:50] <OCTAGRAM> в связи с ажиотажем на Эльбрус было бы интересно выдать в открытый доступ
[17:31:51] <ada_ru> (t91x0) Полагаю, что оно представляет разве что исторический интерес.
[17:33:13] <OCTAGRAM> про исключения я бы почитал
[17:33:42] <OCTAGRAM> про реализацию многоязыковости на Эльбрусе, может быть, откровения нашёл для себя
[17:41:06] <ada_ru> (Максим) Хотите про спутник на Аде? CubeSat на  Аде прожил два года до падения в атмосферу, остальные или вообще не завелись или сдохли быстро http://ae2018.di.fc.ul.pt/presentations/Brandon.pdf
[17:41:46] <ada_ru> (Максим) Там, кстати, и про продуктивность разработки есть
[17:42:46] <ada_ru> (Максим) If your student programmers do not know SPARK/Ada, it takes about two weeks to become productive. SPARK/Ada productivity of 38 lines of code per programmer day, compared with 10 to 12 lines of code when using C
[17:44:36] <ada_ru> (no111u3) как не зайдёшь так срач
[17:46:06] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <Хотите про спутник н…>
Wow!
[17:46:51] <ada_ru> (t91x0)  отвечает (Максим) на <If your student prog…>
ЧТД. Язык сам по себе простой, уж точно не "bad parts of JS"
[17:47:20] <ada_ru> (t91x0) <прислал фото>
[18:00:24] <ada_ru> (Максим) Прикольно, они использовали AdaMagic т.к. не было GNAT-а для MSP430 http://cubesatlab.org/BasicLEO-Software.jsp
[18:06:18] <OCTAGRAM> да-да
[18:06:47] <OCTAGRAM> стоило бы освоиться
[18:08:16] <OCTAGRAM> у меня на форуме патч для активации не требует регистрации, в отличие от выдранного и расшифрованного компилятора от прошлой версии
[18:12:44] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <Прикольно, они испол…>
Ооо! msp430? Я помнится про поддержку его в gnat спрашивал когда-то. Это был в нашем проекте вообще основной камень.
[18:13:53] <ada_ru> (I_vlxy_I) Но в плане критики - измерять продуктивность в строчках кода, это такое себе. Хотя бы в statement'ах измеряли бы, или в лексемах тогда, что-ли.
[18:19:43] <ada_ru> (I_vlxy_I) насколько я вижу, без сишного кода там не обошлось (драйвер SD-карты например. Суммарно, как я понял, там процентов 20-30 сишного кода было.
[18:21:00] <ada_ru> (I_vlxy_I) для космоса, да. я бы Аду не взял, и Си бы не взял. взыл бы связку SPARK + Ada, либо что-то еще. Ибо очень стремно если оно глюканет в процессе.
[18:31:30] <ada_ru> (I_vlxy_I) "Collection of “modules” that pass messages" — прикольно. значит такая архитектура реально даже тут используется.
[18:32:37] <ada_ru> (I_vlxy_I) я как раз пытаюсь сейчас расковырять огромный монолит где плюс-минус хаотично используются потоки, на такие вот кусочки.
[18:33:14] <ada_ru> (I_vlxy_I) CubedOS по описанию вообще сильно на ROS смахивает.
[18:33:57] <ada_ru> (I_vlxy_I) https://github.com/cubesatlab/cubedos
[18:35:28] <ada_ru> (no111u3) кубический дос
[18:35:59] <ada_ru> (no111u3) но вообще у меня была мечта детства если не слетать в космос так хотябы спутник запилить
[18:36:07] <ada_ru> (no111u3) оказалось это вполне реализуемо
[18:36:23] <ada_ru> (no111u3) хоть и дорого
[18:38:24] <ada_ru> (I_vlxy_I) может действительно забить на аду, а ковырять это дело исключительно в паре Ada+Spark?
[18:38:53] <ada_ru> (no111u3) что есть спарк?
[18:39:20] <ada_ru> (nitrocerber) подмножество ады с вшитой верификацией кондишнов (пре/пост/тест_кейс)
[18:39:29] <ada_ru> (no111u3) хм
[18:42:14] <OCTAGRAM> там вообще-то ещё свойства всякие проверяются
[18:42:32] <OCTAGRAM> типа какие побочные эффекты внутри можно указать
[18:43:27] <OCTAGRAM> переполнения в формулах исключаются, то есть, разработчик должен выше по тексту такие if поставить, чтоб ниже по тексту верифицируемо не переполнилось
[18:45:08] <ada_ru> (I_vlxy_I) угу. и это - круто
[19:03:18] <OCTAGRAM> кстати, спасибо за журналы чата
[19:03:57] <OCTAGRAM> надо будет озаботиться тем, как мозолить им глаза на сайте
[19:05:55] <ada_ru> (Максим) а где у нас журналы чата?
[19:07:09] <ada_ru> (I_vlxy_I) http://oberspace.dyndns.org/log/ada-ru@conference.jabber.ru/2018/07/24.html
[19:07:15] <ada_ru> (I_vlxy_I) может это?
[19:10:45] <ada_ru> (Максим) спасибо
[19:12:33] <OCTAGRAM> мне б IFRAME с последними сообщениями
[19:13:07] <OCTAGRAM> супер, если с обновлением по WebSockets с автоматическим пересоединением
[19:20:10] <ada_ru> (I_vlxy_I) я уезжаю в поля в командировку, соответственно сейчас не успею ничего такого запилить. логи пишет Жаба, если что. Логи сейчас пишутся просто файликами на диск сервера, откуда уже обычнейшим вебсервером раздается, ибо статика.
[19:20:37] <OCTAGRAM> как часто туда уместно ходить?
[19:26:20] <ada_ru> (I_vlxy_I) можно раз в минуту, думаю легко.
[19:26:29] <ada_ru> (I_vlxy_I) может и раз в секунду прокатит 😊
[19:32:42] <OCTAGRAM> адрес в dyndns создаёт впечатление, что это где-то нетбук по gprs болтается
[19:32:59] <OCTAGRAM> сильно шатать, совсем отвалится
[19:33:20] <OCTAGRAM> может, домен сделать?
[19:33:37] <ada_ru> (I_vlxy_I) не, это VPS'ка на digitalocean. С каналом все должно быть нормально.
[19:33:51] <ada_ru> (I_vlxy_I) но инстанс мельче мелкого, это да.
[19:34:42] <ada_ru> (I_vlxy_I) да можно и домен. можно и нет 😊 без особой разницы, IMHO
[19:35:12] <OCTAGRAM> для SEO лучше свой домен
[19:36:57] <ada_ru> (I_vlxy_I) да я особо не стремлюсь к первым строкам в поисковиках. так то. кому надо - тот знает. остальные - побоку.
[19:37:58] <OCTAGRAM> а, ну да, зачем чему-то адаистическому первые строки в поисковиках, в самом деле
[19:43:07] <OCTAGRAM> удачной командировки
[19:45:48] <ada_ru> (I_vlxy_I) спасибо 😊 на этой неделе пока очень бурная подготовка. а потом в поля железяки тестить и код отлаживать в боевых условиях.
[19:46:16] <ada_ru> (I_vlxy_I)  отвечает на <(OCTAGRAM) а, ну да,…>
ну, там сайт и домен то, целиком изначально не только и не столько про Аду.
[19:46:39] <OCTAGRAM> Я вот тут неделю в поезде, вышел из поезда, но поезд не вышел из меня. Иду по асфальту — асфальт качается. Добрался до дома, лёг, закрыл глаза — поехали. Открыл глаза — окна, деревья по инерции едут, потом остановились. Закрыл глаза — снова поехали.
[19:46:46] <ada_ru> (I_vlxy_I) логи, кстати, можешь оттуда выцепить за все годы потихоньку и куда-нибудь переложить. для пущей сохранности.
[19:47:26] <ada_ru> (I_vlxy_I) мне поближе ехать - всего то часов 11.
[19:48:54] <ada_ru> (I_vlxy_I) но, видимо, прямо на неделю или две.
[20:05:56] <ada_ru> (t91x0)  отвечает на <(OCTAGRAM) Я вот тут…>
К неврологу лучше бы сходить.
[20:09:21] <ada_ru> (I_vlxy_I) да не, это бывает же. после долгой поездки на авто, я, помнится тоже потом всю ночь ехал.
[20:10:35] <OCTAGRAM> сейчас прошло
[20:10:49] <OCTAGRAM> похоже, приехали
[20:38:48] <ada_ru> (сергей)  отвечает (I_vlxy_I) на <та же история с янде…>
<прислал запись>
[20:44:48] <OCTAGRAM> месяц июль, CCG не видать