[00:32:25] <ada_ru> (Oleg) А вот назовите мне конечный продукт на расте, не какой нибудь вечно переделываемый кусок какого-то проекта в сети , а что-то законченное
[00:52:41] <ada_ru> (insert_reference_here) rustc
[01:25:07] <ada_ru> (Oleg) Это компилятор чтоль?
[01:25:41] <ada_ru> (insert_reference_here) Да
[01:59:12] <ada_ru> (Oleg) Ну это с большой натяжкой конечный продукт. Я имел ввиду ПО для не программистов. Ну например текстовый редактор, игра, браузер (Firefox детище растописателей как я понял так и не перешёл на раст до сих пор), какой нибудь сервер приложений, ядро ОС или его компоненты (GUI) например, какой нибудь софт бухгалтерский, ещё что, но что можно вот прям скачать/купить , поставить на рабочую станцию или сервер и пользоваться.
Так же про встраиваемые системы непонятно, например под какой нибудь RL78 или RX600 как и чем это компилить и отлаживать ?.
С Адой кстати та же беда, уже давно бы делал много всего на аде да только есть один момент, например мы небольшая компания, производим мелкими сериями некоторые железяки, нашему клиенту вообще до фени на чем написан софт, и вот например надо разработать какой нибудь блютуз датчик.
Берём какой нибудь Nordic чип с процом ARM, для него есть удобный компилятор и отладчик, который поддерживает угадай какой язык - правильно Assembler C и C++.
Отладчик это не просто командная строка с возможностью просмотра памяти и стека и пошаговым выполнением, это ещё и отображение всех регистров переферии в удобной форме, и возможности их изменить, а так же поддержка аппаратного отладчика без бубна.
Некоторые чипы можно отлаживать с помощью gdb но это гораздо менее удобно. С экономической точки зрения, проще купить тот же IAR и производить продукт на порядок быстрее, чем делать свои костыли и велосипеды.
С писаниной под win/Linux немного лучше, но там немного другие проблемы, опять же надо смотреть что есть из готовых, проверенных библиотек. Куда не плюнь везде весь код и примеры под C. Те же камеры, Baumer библиотека для Genicam , Imaging Source туда же.
Может в опен сурсе проще, а коммерческий софт пишется чтобы прокормить компанию, и есть сроки и ответственность за их срыв, а так же за некачественный продукт.
Вот и получается что преодолеть инерцию машины C и С++ можно только предложив что-то ну очень удобное, что поможет либо сэкономить время, либо увеличить прибыль.
На ниве ВЭБ и различных утилит пока вижу только питон, который справился с этой задачей и потеснил Perl и Php ито не везде.
Так что придётся нам с растом подождать, пока мы не увидим реального выигрыша в переходе на него, причём без потерь
[08:33:19] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <rustc>
В этом плане даже Оберон более применим выходит нежели раст.
[08:37:38] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Ну это с большой нат…>
В вебе все же ещё Го укрепляется.
[08:59:29] <ada_ru> (I_vlxy_I) а, ну и node.js там уже всеё победила
[10:29:40] <ada_ru> (Oleg) Вобщем посоны,
[10:29:54] <ada_ru> (Oleg) вчера МРТ показало на моем примере что наша работа вредная!
[11:15:32] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <вчера МРТ показало н…>
О_о
[11:16:00] <ada_ru> (I_vlxy_I) Надеюсь ничего терминального?
[11:16:32] <ada_ru> (Oleg) Сказали с головой все хорошо а вот с шеей и позвоночником не очень.
[11:16:53] <ada_ru> (Oleg) Хотя странно про голову - он просто мой код не видел
[11:17:54] <ada_ru> (Oleg) Сидим же мать его на стуле целый день
[11:18:16] <ada_ru> (Oleg) Да еще и за рулем
[11:18:31] <ada_ru> (Oleg) Лето настанет - двухколесного друга расчехлю
[11:47:48] <ada_ru> (I_vlxy_I) Я в день около 10к шагов делаю
[11:58:16] <ada_ru> (I_vlxy_I) но я не дофига спортсмен, просто от метро до работы идти минут 20 😊
[11:58:25] <ada_ru> (I_vlxy_I) так что я не специально
[12:10:14] <ada_ru> (Oleg) А я ходил с браслетом - около 7 тычяч находил обычно, но потом забил.
[12:11:28] <ada_ru> (I_vlxy_I) ну, у меня телефон считает.
[12:11:39] <ada_ru> (I_vlxy_I) но, еще раз, я специально не хожу. просто так выходит.
[12:12:02] <ada_ru> (I_vlxy_I) когда вот в яндексе работал, тогда явно был дефицит движения.
[12:21:28] <ada_ru> (Максим) @Ol
[12:31:03] <ada_ru> (I_vlxy_I) c Адой (и чем угодно другим, что не Си и не С++) проблема в том, что приезжает произвольная новая железка, а компиля и тулзов для разработки на этом языке под эту железяку - нет.
[12:31:39] <ada_ru> (I_vlxy_I) какой-нибудь 8051, или msp430 или что угодно еще. какой-нибудь еще микроконтроллер с DSP
[12:32:33] <ada_ru> (Максим) Ну под ARM же есть
[12:32:57] <ada_ru> (I_vlxy_I) дык арм - это малая толика всего.
[12:33:04] <ada_ru> (I_vlxy_I) да и небось не под весь арм
[12:33:32] <ada_ru> (I_vlxy_I) под arm cortex-m например.
[12:33:41] <ada_ru> (I_vlxy_I) Cortex-M0
[12:34:54] <ada_ru> (I_vlxy_I) то есть если садишься плотно на Аду, или на какую экзотику типа Раста, то выбирая железку приходится учитывать не только фичи железки и вендора, но еще и доступность и качество компиля под неё и тулзов.
[12:35:10] <ada_ru> (Максим) Не такая и малая. Что ему нужен свой компилятор?
[12:35:57] <ada_ru> (I_vlxy_I) ну, у всяких M0 нету например FPU, MMU, раскладка по адресам специфичная. всякое такое.
[12:36:34] <ada_ru> (Максим) И что?
[12:37:18] <ada_ru> (Максим) Компилятор всё равно один
[12:38:20] <ada_ru> (I_vlxy_I) а на десктопах/серверах/больших машинах типа мобильников - там тоже своя специфика. там уже с компилями всё ок, но вот либ не хватает. например хочу я заниматься машинным зрением: opencv он на плюсах, и для питона. для питона еще есть пачка либ (на плюсах писанных). Адекватных биндингов ни для Ады ни для Раста нет.
Да и всегда биндинги будет не полными и отставать от мейнстрима. Собственно даже официальный биндинг для питона не полон.
[12:39:26] <ada_ru> (Максим) > For example the arm-eabi target supports the Cortex-A, Cortex-R, and Cortex-M architectures through the cortex-ar folder for the Cortex-A and Cortex-R, and the cortex-m folder for Cortex-M.
[12:39:41] <ada_ru> (Максим) Customized Run-Time Libraries — GNAT User's Guide Supplement for Cross Platforms 20.0w documentation
https://docs.adacore.com/gnat_ugx-docs/html/gnat_ugx/gnat_ugx/customized_run-time_libraries.html
[12:41:20] <ada_ru> (I_vlxy_I) ну а как на счет ARM7TDMI-S?
[12:41:42] <ada_ru> (I_vlxy_I) и средств отладки
[12:44:48] <ada_ru> (Oleg) Да не, вопрос то в переферии больше.
[12:45:07] <ada_ru> (Oleg) Попозже выложу как идет процесс обычно в C
[12:46:18] <ada_ru> (I_vlxy_I) ну там wifi какой или еще usb какое.
[12:46:40] <ada_ru> (I_vlxy_I) или wifi в виде донгла 😊
[12:47:31] <ada_ru> (Oleg) Да даже какой нибудь таймер с ШИМ или какой нибудь i2c там же регистров овердохрена и битов в них. Их же хочется видеть в отладчике по имени
[12:47:39] <ada_ru> (Oleg) И так далее
[12:48:30] <ada_ru> (I_vlxy_I) а вот у мы делали штуку на базе ble-чипа (его программировать тоже можно), там весь стэк и дрова были на Сях. плюс дрова были вообще в виде бинарного блоба.
[12:48:40] <ada_ru> (I_vlxy_I) так, что даже с gcc были бы проблемы.
[12:48:42] <ada_ru> (I_vlxy_I) и вот как?
[12:49:10] <ada_ru> (Oleg) ble не Nordic чип?
[12:49:12] <ada_ru> (I_vlxy_I) архитектурно это 8051 так то. не помню, кажется 32Кб рамы было
[12:49:22] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <ble не Nordic чип?>
не, TI CC2541
[12:49:25] <ada_ru> (Oleg) ооо
[12:49:32] <ada_ru> (Oleg) я с ними тоже работал
[12:49:45] <ada_ru> (I_vlxy_I) ну вот как туда Аду, или Раст новомодный?
[12:50:32] <ada_ru> (Максим) Если там даже Си не работает, то никак 😁
[12:50:49] <ada_ru> (I_vlxy_I) отвечает (Максим) на <Если там даже Си не …>
дык, работает 😊
[12:50:59] <ada_ru> (Oleg) Можно - но надотогда филиал Адакора открывать
[12:51:09] <ada_ru> (Oleg) Деньги зашлют - сделаем 😊)))
[12:51:10] <ada_ru> (I_vlxy_I) ага, а потом рраз, и другой чип.
[12:51:19] <ada_ru> (I_vlxy_I) и снова адаптировать всё.
[12:51:31] <ada_ru> (Oleg) Ну еще денег у адакора просить 😊)))
[12:52:32] <ada_ru> (Максим) Смысл адакоре вам денег платить, чтобы вы делали то, что вам надо?
[12:53:08] <ada_ru> (Oleg) Ну например чтоб развить свой продукт и продавать его не только в узком секторе но и массово в embedded
[12:53:33] <ada_ru> (Oleg) Была бы среда под мелкие чипы - я б купил сразу
[12:56:42] <ada_ru> (Oleg) ARM допустим мне интересен но нужны хотя бы вот такие чипы:
https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rz/softtools.html
[13:01:00] <ada_ru> (Максим) отвечает (Oleg) на <Да даже какой нибудь…>
А где описаны эти имена? Они есть в CMSIS?
[13:01:04] <ada_ru> (Oleg) Я б даже сказал что если бы они с IAR например скооперировались, вот было бы здорово
[13:03:21] <ada_ru> (Oleg) отвечает (Максим) на <А где описаны эти им…>
Для ARM возможно. А вобще они есть в *.h файлах вместе с адресами.
Я думаю еще над тем чтоб как то заставить сторонние дебагеры работать с кодом на ада.
[13:03:48] <ada_ru> (Oleg) В принципе можно все реализовать
[13:04:34] <ada_ru> (Oleg) Но нужно время и серьезная мотивация. То есть кроме популяризации АДА еще какой то большой плюс от реализации всего этого.
[13:05:24] <ada_ru> (Максим) Есть тулза svd2ada, она умеет генерировать адские пакеты по описанию для работы с переферией
[13:05:43] <ada_ru> (Oleg) Да с этим более менее можно работать.
[13:06:02] <ada_ru> (Oleg) Восновном меня напрягает отладка внутрисхемная
[13:07:35] <ada_ru> (Oleg) Ну типа как вот тут работаешь:
https://youtu.be/LZzXujj2Zlg
[13:11:19] <ada_ru> (Oleg) Потом пересесть на какие нибудь gdb и cli как то не очень просто 😊
[13:13:36] <ada_ru> (Максим) Gps почти всё это умеет. Через OpenOCD и pyOCD, только io view нет
[13:14:48] <ada_ru> (Максим) Это же нужно знать какие где регистры, как их читать и по оказывать. Это сложно
[13:17:18] <ada_ru> (Максим) Но кое-что можно посмотреть если нормально описаны в Аде как переменные по фиксированному адресу
[13:26:12] <ada_ru> (Максим) Ну если типа такого:
type Pixel is record B, R, G : Unsigned_8; end record with Size => 32, Volatile_Full_Access; for Pixel use record B at 0 range 0 .. 7; R at 0 range 8 .. 15; G at 0 range 16 .. 23; end record; Data_Register : Pixel with Address => Peripheral_Base_Addr;
[13:26:42] <ada_ru> (Максим) Ada on FPGAs with PicoRV32 - The AdaCore Blog
https://blog.adacore.com/ada-on-fpgas-with-picorv32
[13:26:56] <ada_ru> (Максим) Отсюда пример
[13:28:59] <ada_ru> (I_vlxy_I) С FPGA вообще своя песня.
[13:41:10] <ada_ru> (Oleg) C FPGA я использую Quartus
[13:41:16] <ada_ru> (Oleg) Для Altera
[13:41:24] <ada_ru> (Oleg) Больше ничего не юзаем
[14:27:34] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <C FPGA я использую Q…>
верилог или vhdl?
[14:27:51] <ada_ru> (Oleg) только vhdl - только хардкор
[14:29:30] <ada_ru> (I_vlxy_I) вообще, программировать на ЯП общего назначения под FPGA (типа на с++ или аде), это всё равно, что на json программировать (ну а что, в json же можно AST описать)
[14:42:47] <ada_ru> (I_vlxy_I) Про плюсатый подход в embedded
[14:42:52] <ada_ru> (I_vlxy_I) цитирует (ThatEmbeddedGuy)
Игнату, который про ембеддед рассказывал, если ты тут, попробуй взять перфиерию, выделить вотдельный класс с constexpr конструктором, и передавать туда в качестве параметра данные для конфигурации и зависимости.
Адреса регистров, и вся логика известна на этапе компиляции, по этому все шаблоны и данные передаваемые через них заменяются на constexpr параметры
[18:28:24] <ada_ru> (Максим) https://www.hackster.io/contests/adacore/submissions
[18:28:38] <ada_ru> (Максим) В этом году 32 проекта, 172 участника
[18:35:01] <ada_ru> (Максим) Может кто блютус стек напишет :) или wifi
[18:40:26] <ada_ru> (I_vlxy_I) ну, не факт что это можно будет в проде юзать таки 😊 почти любая либа или софтвер без девкомьюнити мертва.
[18:50:25] <ada_ru> (I_vlxy_I) надо винду на расте переписывать! https://www.fudzilla.com/news/pc-hardware/48123-more-than-70-percent-of-microsoft-patches-are-for-memory-problems
[18:55:38] <ada_ru> (Oleg) отвечает (I_vlxy_I) на <ну, не факт что это …>
С этим не согласен. Мы писали собственный USB стек и он жив и здоров
[18:55:51] <ada_ru> (Oleg) И нет у нас дев комунити кроме полутора разработчиков
[18:56:35] <ada_ru> (Oleg) И не нужен главное 😊 мы не собираемся его переделывать вечно - работает с 2010 чтоль года или раньше - уже и забыл и слава богу
[18:57:38] <ada_ru> (Oleg) TCP/IP свой тоже делали - но его недоделали - еще делаем
[18:57:48] <ada_ru> (Oleg) Альтернатива мю айпи
[18:57:55] <ada_ru> (Oleg) Так как мю айпи - дрова
[19:14:09] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <И нет у нас дев кому…>
даже один живой и саппортящий разраб - это комьюнити
[19:14:22] <ada_ru> (Oleg) Ну так то да
[19:14:25] <ada_ru> (Oleg) согласен
[19:14:29] <ada_ru> (I_vlxy_I) а вот когда это какой-то левый разраб, который когда-то что-то наваял для конкурса и свалил в закат — это уже не то
[19:14:54] <ada_ru> (Oleg) Про C и C++ там жгут
[19:14:57] <ada_ru> (Oleg) По ссылке
[23:33:07] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <В этом плане даже Об…>
Мне влом искать проекты
[23:35:43] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Мне влом искать прое…>
например вот это писано на обероне: https://www.mobatec.nl/web/