Здравствуйте, Евгений Музыченко, Вы писали:
M>>Пишешь библиотеку — тут можно и десятиэтажные шаблоны делать, главное — максимально всё предусмотреть, документировать , и чтобы она была максимально проста в использовании.
ЕМ>Если использование библиотеки предполагает включение заголовка с этими "десятиэтажными шаблонами" в клиентский код, она никак не может быть "максимально проста в использовании". Чисто технически.
std библиотеку ты же как-то используешь? А внутрь заглядывать пробовал?
Здравствуйте, Евгений Музыченко, Вы писали:
M>>Драйвер на Java? Ты совсем дурачек чтоли?
ЕМ>Те, кто регулярно спрашивает в сообществах, как им написать драйвер на питоне, не считают себя дурачками.
Здравствуйте, Shmj, Вы писали:
S>C# просто тупо физически не позволяет писать кросс-платформенные библиотеки (под все 6 платформ человечества), пригодные для реального использования из других языков через FFI. Покажите мне хотя бы одну такую библиотеку.
Не понял, а где в списке шести платформ человечества хотя бы STM32?
Здравствуйте, alpha21264, Вы писали:
A>Ну вот я всегда пишу аскетичный код. И вообще стараюсь не использовать ничего кроме циклов, условий и подпрограмм. A>И только когда этого не хватает, применяю что-нибудь другое. A>Начинаю с макросов. Потом функции высшего порядка (как qsort), и только потом всё остальное.
И если ты это делаешь, не используя плюсовые возможности (а судя по слову макросы — это так и есть) — поздравляю тебя, Шарик, ты пишешь лютейшее говно
Здравствуйте, Евгений Музыченко, Вы писали:
S>>3. Отказ от макросов.
ЕМ>C++ слишком убог, чтобы это было возможно без серьезного урезания удобства работы с ним.
Здравствуйте, Shmj, Вы писали:
Pzz>>Потому, что возможность программировать кросс-платформенно, но без библиотек, имеет исключительно акедемическую ценность.
S>Уже есть ряд библиотек, которые так же придерживаются концепции кросс-платформы.
В экосистеме C++ нет ничего для работы с внешними библиотеками. Если ты их активно используешь, билд становится очень нетривиальной штукой.
Pzz>>.Net ташит за собой рантайм в виде кучи файлов. Go просто линкует программу статически.
S>Вроде для WASM — пустое приложение уже получается слишком большим.
Ну ОК. Поддержка этой уродской платформы обладает определенными недостатками.
S>На iOS — плохая поддержка.
Я слышал, на iOS трудно собрать кроссом — нужен нативный компилятор Си, а он работает только на маке. Заметим, это — искусственно созданные трудности, эпл хочет заставить всех разработчиков под эпл использовать их собственную платформу.
А что еще?
S>На C++ QT можно писать полноценное приложение для iOS — на Go не возможно даже за миллиард долларов.
Чего именно не хватает в Go?
S>>>Rust не имеет полноценного ООП — это скорее замена голого C и то спорная. Pzz>>И что?
S>ООП не смотря на популярные статьи крикунов — это основа разработки ПО.
Здравствуйте, Marty, Вы писали:
S>>C# просто тупо физически не позволяет писать кросс-платформенные библиотеки (под все 6 платформ человечества), пригодные для реального использования из других языков через FFI. Покажите мне хотя бы одну такую библиотеку.
M>Не понял, а где в списке шести платформ человечества хотя бы STM32?
Человечество в лице Шмыжи дочитало книжку про платформы только до первых 6-и, а дальше не осилило.
P.S. А разве STM32 — это не ARM такой, куда хочешь Ubuntu ставь, а не хочешь — Федору?
Здравствуйте, Pzz, Вы писали:
Pzz>Человечество в лице Шмыжи дочитало книжку про платформы только до первых 6-и, а дальше не осилило.
Pzz>P.S. А разве STM32 — это не ARM такой, куда хочешь Ubuntu ставь, а не хочешь — Федору?
Это арм, но не взрослый. Там нет memory management unit'а, например, вся память общая и только физическая. Не слышал, чтобы были сборки линупса под STM32. ПОд STM32 я слышал про FreeRTOS, ну это такая себе ОС — даёт многопоточность и примитивы синхронизации, что-то типа базового POSIX, и всё.
Здравствуйте, Shmj, Вы писали:
S>С появлением GPT теперь мы юридически точно можем сказать кто дурак — пишущий или читающий. Так что теперь как раньше не прокатывает, уже нельзя обвинить оппонента без оснований — ранее можно было, т.к. критерия точного не было, теперь есть.
Ну да. С появлением GPT занятие пустой графоманией сильно автоматизированно.
Здравствуйте, Marty, Вы писали:
Pzz>>P.S. А разве STM32 — это не ARM такой, куда хочешь Ubuntu ставь, а не хочешь — Федору?
M>Это арм, но не взрослый. Там нет memory management unit'а, например, вся память общая и только физическая. Не слышал, чтобы были сборки линупса под STM32. ПОд STM32 я слышал про FreeRTOS, ну это такая себе ОС — даёт многопоточность и примитивы синхронизации, что-то типа базового POSIX, и всё.
Есть линух для процессоров без MMU. Там, конечно, теряешь автоматическую изоляцию процессов друг от друга и всякие удобства, типа быстрого fork(). Но всё еще сохраняешь удобства в виде первокласного сетевого стека и файловых систем.
Здравствуйте, Pzz, Вы писали:
Pzz>Есть линух для процессоров без MMU. Там, конечно, теряешь автоматическую изоляцию процессов друг от друга и всякие удобства, типа быстрого fork(). Но всё еще сохраняешь удобства в виде первокласного сетевого стека и файловых систем.
Не понял, в 90% устройств на STM32 нет никакого Ethernet и диска. А где есть Ethernet, то у этого линупса скорее всего нет реализации дров для STM. Да и с диском (флешки SD) напрямую по SPI он наверняка не умеет работать.
Твой линупс без MMU влезет в мегабайт флеша, запустится на 128К оперативки?
Здравствуйте, Pzz, Вы писали:
M>>Твой линупс без MMU влезет в мегабайт флеша, запустится на 128К оперативки?
Pzz>В мегабайт вряд ли. В 8 я запихивал, да еще и с запасом.
Максимальная флешка на STM32 это вроде 2 метра, но это очень жирная STMка, средние в LQFP48/LQFP64 — это порядка пары сотен кил флеша и 32 кб оперативы, в младших вообще всего очень мало
Pzz>Но если нет ни сети ни файлов, то полноценная ОСь действительно не очень нужна.
Там ещё и частоты — у старших F4 максималка 180МГц, младшие на 48МГц и меньше работают.
Появилось ещё семейство H7 вроде, там чуть ли не до полугигагерца или даже выше, но я не уверен, что это ещё микроконтроллеры, и этих зверей в руках не держал