LINUX.ORG.RU

Помогите понять. Разработка софта под ОС Эльбрус

 , ,


1

1

Доброго дня!

На данный момент в наличии имеется ПК с ОС Эльбрус и их камнем. Нам необходимо набрать команду, которая будет заниматься разработкой по это, но мы даже не знаем «что писать в вакансии». Поскольку не понимаем, какие нужно использовать инструменты. Разработчиков под Linux у нас нет.

Со слов поддержки Эльбруса - используйте QT, а больше у нас ничего и нет. Но есть Python 3.7.

Наш софт больше похож на SCADA систему. Опрос различных устройств / датчиков и оперативно управление насосами и клапанами (все это по большей части Modbus). Куча графиков и отчётов. Основную часть программы занимает гидравлическая схема с индикацией оперативных параметров.

Основной вопрос - что использовать? Биться с QT или пробовать Python. У Python есть вопросы по производительности на этом процессоре, так же не понятно на чем делать GUI.

Я гуглил темы по GUI, но предложенные решения не портированы в ОС Эльбрус. Так же читал про QT как про ужасного монстра. Так появился Python, но никто из нас не делал GUI на Python. Так же у нас есть техзрение, как его реализовать на QT вообще не представляю. Боюсь утечек памяти - софт может работать до 90 суток без остановки.

Прошу помощи в силу своей безграмотности в данном вопросе.

UPD. Всем огромное спасибо, очень помогли. Ситуация прояснилась, готовим вакансию.

Кек, ну и задачка. Если у вас в штате есть питонисты, попробуйте погонять PyQt на эльбрусе. Мб вас устроит произвоительность.

Ну а вообще если «поддержка Эльбруса пишет - используйте QT», то используйте QT, не будете же вы реверс инженерингом заниматься в случае проблем из-за сторонней либы. По идее QT на эльбрусе должен работать как и на других архитектурах.

Aswed ★★★★★ ()

Можно попробовать начать с языка C++. Поискать компилятор под данную платформу. Если предполагается Qt, значит компилятор есть.

Вы противопоставляете «Qt» и «Python», но Qt - это либа на C++ для разработки GUI, а Python - язык. Не совсем понятен посыл.

Если вопрос был в том, «на чём нам писать GUI», то видимо «на языке C++ с использованием библиотеки Qt».

Писать в вакансии примерно:

  • linux на среднем уровне
  • хорошее знание C++ и Qt
  • желание разбираться в разработке под новую платформу - Эльбрус
magnitoferon ()
Ответ на: комментарий от magnitoferon

Qt - это либа на C++ для разработки GUI, а Python - язык

Возможно, имелся в виду tkinter, который входит в состав python из коробки. Но, судя по остальному тексту, товарищ похоже плохо представляет себе программирование.

Так же у нас есть техзрение, как его реализовать на QT вообще не представляю. Боюсь утечек памяти - софт может работать до 90 суток без остановки.

Нанять человека, который умеет отлаживать утечки и не будет писать заведомый говнокод

annulen ★★★★★ ()

С вашей задачей эльбрус на линуксе ничем не отличается от x86 и других архитектур на линуксе.

Разработчиков под Linux у нас нет.

Готовьте бюджет на несколько толковых линуксовых разработчиков и одного лида

Боюсь утечек памяти - софт может работать до 90 суток без остановки.

Прошу помощи в силу своей безграмотности в данном вопросе.

Лично я бы рекомендовал с таким подходом SCADA не заниматься вообще.

Dark_SavanT ★★★★★ ()

Наш софт больше похож на SCADA систему. Опрос различных устройств / датчиков и оперативно управление насосами и клапанами (все это по большей части Modbus). Куча графиков и отчётов. Основную часть программы занимает гидравлическая схема с индикацией оперативных параметров.

Такая система логически состоит из двух частей: 1) ядро, работающее с оборудованием через modbus; 2) пользователский интерфейс. Эти части могут быть написаны разными людьми, даже на разнях языках программирования, и даже выполняться в разных процессах. В послденем случае никакая ошибка или утечка в «гуишной» части не уронит ядро и не прервет сбор данных или управление железом, просто гуй перезапустится и получит информацию заново

annulen ★★★★★ ()

писать надо естественно на C++ или C… в чем проблема-то? питон не для этого.

скада эта уже написана(то есть адаптируется под новое железо) или только будет писаться?

я б делал вашу скаду системно-независимо на линуксе, прям на интеле обычном, через некие абстракции к оси эльбруса(что это такое вообще), потом делал перенос на целевую железку.

то есть пишется небольшой слой абстракций оси и линукс выглядит как другая ось, а обычный десктоп как целевая железка или вроде того.

alysnix ()
Ответ на: комментарий от magnitoferon

Вы правы, я криво написал. Дело в том, что для «быстрой работы» эльбруса нужно компилить софт их компилятором llc (с++). А из поддержки gui только QT. Поэтому я сходу написал QT.

С++ последний раз трогал году в 2013. А с Python хоть как-то. Что касается говнокода и утечек. Так или иначе придется использовать сторонние библиотеки и много. Гарантировать корректную их работу после отечественного компилятора сложно. По общению с поддержкой, проблем с отладкой софта довольно много. Софт работает некорректно после компиляции, предлагают скидывать им в багтрекер и разбираться вместе.

Python на этом фоне видится как-то попроще, пусть и медленнее.

piorun ()
Ответ на: комментарий от piorun

Питон тоже течет, даже на обычных ОС - че там на Эльбрусе творится и подумать страшно… Можно предложить принудительное (штатное) выключение/включение системы раз в сутки что бы все хвосты подобрать.

AntonI ★★ ()
Ответ на: комментарий от AntonI

Не можем прервать эксперимент. В некоторых случаях логи нужны раз в секунду на протяжении свыше 20 суток. Только потом можно перезапуститься. Мне очень понравилось предложение разнести ядро по сбору данных и саму программу. Тогда можно перезапустить интерфейс.

piorun ()
Ответ на: комментарий от piorun

Вынести ядро в отдельный процесс это вообще классика жанра, да. Тогда и интерфейсов может быть несколько разных, и надежность повышается…

Не можем прервать эксперимент.

Тогда только опытным путем, смотреть где течет и насколько это критично. Могу только предположить что данных у Вас немного и все утечки будут некритичны.

AntonI ★★ ()
Ответ на: комментарий от piorun

Гарантировать корректную их работу после отечественного компилятора сложно.

Софт работает некорректно после компиляции

Я за относительно долгую историю разработки видел только один пример когда компилятор действительно был виноват. Во всех остальных случаях - это UB которое соптимизировали или же просто незнание деталей.

Возьмите java раз уж на то пошло.

Dark_SavanT ★★★★★ ()

Прошу помощи в силу своей безграмотности в данном вопросе.

С++/Qt - универсальное средство для любого проекта. Множество рабов с радостью пойдёт к вам.

// С Питоном лучше не связывайтесь.

anonymous ()

Основной вопрос - что использовать? Биться с QT

Что значит биться? Qt замечательный и простой в освоении фреймворк.

Так же читал про QT как про ужасного монстра

Может просто не читать всякую чушь?

У Python есть вопросы по производительности на этом процессоре, так же не понятно на чем делать GUI.

У ВСЕГО есть вопросы по производительности на этом говне.

Берите Qt и пишите. Хоть под винду, хоть под мак, хоть под Linux, под эльбрус останется только собрать.

slovazap ★★★★★ ()
Ответ на: комментарий от piorun

Только потом можно перезапуститься. Мне очень понравилось предложение разнести ядро по сбору данных и саму программу. Тогда можно перезапустить интерфейс.

у меня вот впечатление, что программирование, эльбрус, модбас, с++, QT вы будете изучать одновременно, причем по советам с лора…

и у вас ничего не получится.

alysnix ()

Я кажется нашел готовое решение, можете не нанимать команду :)

https://collectd.org/wiki/index.php/Plugin:Modbus

collectd - это универсальный демон мониторинга, написан на С, надежный как швейцарские часы. У него есть плагины, позволяющие собирать метрики из разных источников, в т.ч. как оказалось и modbus. В процессе работы он записывает все данные в базу, для визуализации которой есть куча готовых сторонних решений. Это даже можно делать на другом компьютере в реальном времени.

annulen ★★★★★ ()

В общем QT на плюсах, он будет работать без утечек памяти, если написать нормально, к нему зрение (если сделано на opencv) прикручивается на раз-два, гуи на Qt пишутся быстро-просто, интеграция плюсового и питонового софта отличная, еще QML есть, для гибкой настройки гуя - гибкие стили.

Искать надо линуксоидов, но есть нюанс. Если у вас будет астралинукс или другой особенный дистр, там есть определенные особенности, и целевой дистр лучше указывать в вакансии.

aiqu6Ait ★★★ ()
Ответ на: комментарий от grem

если нет коммерческой лицензии на него, то он под gpl-3, емнип

Серьезно в России кого-то будет волновать этот вопрос? У половины госсектора (для работы с гражданами) пиратская винда 7 и msoffice.

p.s. жду клоунов (сочувствующих единной россии) кто будет это отрицать и заявлять, что я вбрасываю дезинфу.

bhfq ★★★★★ ()
Последнее исправление: bhfq (всего исправлений: 2)
Ответ на: комментарий от bhfq

У половины госсектора (для работы с гражданами) пиратская винда 7 и msoffice.

Спорим, этого регистранта никто не посадит в бан не отправит за клевету.

anonymous ()
Ответ на: комментарий от bhfq

Серьезно в России кого-то будет волновать этот вопрос?

Еще лет 5 назад нам говорил один из заказчиков (госсектор) что он рассчитывает на нас и верит что в нашем софте все чисто с лицензионной точки зрения. Хотя как они это проверять собирались я ХЗ, софт самописный c CLI

AntonI ★★ ()
Ответ на: комментарий от bhfq

Серьезно в России кого-то будет волновать этот вопрос?

Трёхбуквенный слабовик Фролов (выдуманная фамилия) значительно вложился в какие-то непонятные Астру и Эльбрус. Деньги надо отбить.

И да, для процесса швабрирования нужна компьютерная безопасность.

Вон, даже электронные выборы на расте пишут. 100% среди них был и лоровец.

anonymous ()
Ответ на: комментарий от bhfq

жду клоунов (сочувствующих единной россии)

Это не клоуны. Это очень-очень не добрые люди, которых в подворотне Лора ты повстречать бы не захотел, на самом деле.

anonymous ()
Ответ на: комментарий от rukez

У нас похожая штука сделана на яве,…

рантаймовое по на яве…??? просто вы не нашли нормальных спецов.

это чисто рантаймовое ПО по сбору инфы с датчиков с неких установок. его можно написать даже на си.

я поскольку там есть и гуй и отображение данных - связка с++ + qt - оптимальней некуда.

alysnix ()
Последнее исправление: alysnix (всего исправлений: 1)