|
|
  |
Сложные программы |
|
|
|
Jan 13 2017, 17:32
|
Частый гость
 
Группа: Участник
Сообщений: 197
Регистрация: 8-07-16
Пользователь №: 92 484

|
1. Сложность больших программ обусловлена фундаментальной проблемой программирования: "IF..THEN..ELSE" 2. В "ногодрыганье" микроконтроллеров (даже с использованием RTOS) для профи нет НИЧЕГО сложного. Цитата(zltigo @ Jan 13 2017, 17:25)  Да! Без вариантов. "А мужики-то не знали"© Тут не подростки, "не нюхавшие пороху", собрались, а опытнейшние разрабы. Поэтому не надо тут капитанствовать
|
|
|
|
|
Jan 13 2017, 17:37
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Grizzzly @ Jan 13 2017, 18:33)  Пример syoma очень показателен... Только в том смысле, что программирование "чего-то вообще" не существует. Существуют разные задачи и разные разделы. Одному не нужны операционные системы, потому он два байта и так в ГОТОВЫЙ GSM модуль перешлет, другому вообще мало, что нужно, кроме "матлаба", поскольку работает с ГОТОВЫМИ промышленными контролерами. Кто то балансирует делая свои железные модули, но уже по максимуму натягивая готовый софт... Но кто то все де должен и делает все это "ГОТОВОЕ" для тех, кому становятся ненужными ни операционные системы, ни языки программирования....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 13 2017, 17:44
|
Частый гость
 
Группа: Участник
Сообщений: 197
Регистрация: 8-07-16
Пользователь №: 92 484

|
Цитата(syoma @ Jan 13 2017, 10:07)  Ну знаете  я был у истоков запуска матлаба/симулинка/стейтфлоу в нашей далеко не самой мелкой фирме, которая является номером 3 на рынке HVDC/FACTS, если это что-то говорит вам о сложности программ. По результатам запуска у нас сократилось время программирования тестирования и отладки логики и управляющих алгоритмов на 50% по сравнению с Си-кодингом + позволило убрать данный этап вообще из разработки, значительно сократив количество привносимых ошибок. Т.е. дизайнер алгоритма фактически является автором и Си-кода, хотя последний он даже не учил. Но надеюсь теперь Вы понимаете, что разработка матлаб и симулинк и штатэоверфлов на порядок более сложная работа, чем так, которую выполняли Вы? И что в "ногодрыганье" по сравнению с созданием даже штатэоверфлова абсолютно простая задача. Т.е. Вы работаете совсем в другой "весовой категории". Лёгкой
Сообщение отредактировал Укушенный воблой - Jan 13 2017, 17:46
|
|
|
|
|
Jan 13 2017, 18:20
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Я не программист-специалист. Любитель. Но эту часть работы никому не отдам (да, собственно, и некому. Беларусь!) Насчет контроля версий - однозначно, маст хэв. Пользують TortoiseHG, рекомендую. Насчет РТОС - да, есть смысл. Предпочел бы сделать свою, простенькую. Впрочем, Кейловская устраивает. Надо бы изучить Прототрейдс ( Паша, превед), по-моему, хватило бы. Кому мало - не возражаю. Даже коопервтивной хватило бы. Главное, как ее применить. А как научиться писать хорошо - смотреть примеры здешних гуру. Записываю в файлики все, что достойно изучения. Здесь мастера.
|
|
|
|
|
Jan 13 2017, 20:38
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(haker_fox @ Jan 13 2017, 03:05)  Почему? Контексты не будет переключать? Межсервисное взаимодействие будет отсутствовать? И что вы понимаете под "фигнёй?" Ну хорошо, допустим, запустите вы какой-то "линукс" хоть на аврке, НО, во первых, для чего? Какие задачи он будет выполнять? Линукс ставят прежде всего для сетевых систем, веб- серверов, баз данных, или, кому лень делать GUI, навешивают qt и прочее. Что из этого сможет делать линукс на стм или подобных камнях? Переключать контекст - для этого лучше RTOS, сможете запустить нормальный вэб-сервер? Издеваетесь... Тогда зачем этот костыль на подобных камнях?? Цитата(Эдди @ Jan 13 2017, 23:30)  Я впервые увидел (в этой теме), что кто-то матлаб использует для программирования железа. Да уж... Я думал, что лабвьюшники — деградирующее поколение, ан нет. Оказывается, еще хуже есть! Это еще цветочки, вот любители фреймворков на "вэб-ориентированных" языках, или С#-подобные, да еще написанные в каких-либо визардах, типа стм-куба, причем пытающиеся доказать, что "в код-то вообще лезть не надо" - вот это жесть... Встречал таких и не раз
|
|
|
|
|
Jan 13 2017, 21:22
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(mantech @ Jan 13 2017, 21:38)  Это еще цветочки, вот любители фреймворков на "вэб-ориентированных" языках, или С#-подобные шарп просто отлично работает на стм, и кстати да, спасибо за напомнили обновить Цитата(zltigo @ Jan 13 2017, 18:43)  Не кормите очередную реинкарнацию Доктора Туамозеса если выбирать, то гораздо полезнее не кормить вас а так - кормлю кого хочу
|
|
|
|
|
Jan 14 2017, 03:33
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(Grizzzly @ Jan 14 2017, 00:40)  Мне казалось, что это у нас так плохо. Самое обидное, что не только в НИИ и прочих гос. предприятиях, но и во многих частных компаниях, выполняющих гос. заказы. Казалось бы, все карты в руки. Ан нет... Зависит только от руководства, я бы даже сказал от начальника отдела разработки. Примеры тому перед глазами каждый рабочий день. Но в нашем случае - приятные примеры. Используем git. Цитата(mantech @ Jan 14 2017, 04:38)  Ну хорошо, допустим, запустите вы какой-то "линукс" хоть на аврке, НО, во первых, для чего? Какие задачи он будет выполнять? У меня возникает тогда резонный вопрос: вы предлагаете вообще на микроконтроллерах класса Cortex-M0, M3, M4, avr, pic писать только одну задачу? Но так не бывает. Обычно более-менее вменяемый девайс кроме выполнения основной задачи (например померить напряжение, как пример мультиметр), должен ещё реагировать на интерфейс пользователя (оперативно, а не с тормозами и задержками), поддерживать связь с компом, если она подключена, опрашивать состояние зарядного устройства. Как минимум - четыре задачи уже есть. Так или иначе (и спорить здесь, мне кажется нет смысла) вам нужна многозадачность. Как вы её реализуете - мэйнлупом, конечными автоматами, поставите четыре камешка, используете RTOS - дело десятое. Но вам придётся её реализовывать. Я делала всеми способами, кроме запайки нескольких физических чипов))) RTOS мне показалось самым удобным из всего тем, что мои задачи - функции с закмнутым циклом. Возникает абстракция - когда каждый цикл выполняется сам по себе (я понимаю, что реально это не так, т.к. ядро одно) и независимо. Удобные сервисы межзадачного взаимодействия позволяют наладить работу. И мне нет нужды заботиться о том, как задаче измерения отдать больше времени, чтобы она отработала свои алгоритмы в реалтайме, но при этом и связь не навернулась. При правильном выборе приортитетов, грамотном использовании железа (прежде всего прерывания, DMA) всё отлично работает. Повторюсь: да, вы можете сделать тоже самое без ОС. Вы даже можете сделать это без микроконтроллера, например на ПЛИС. Можете вообще использовать семейство низкоуровневой логики типа 74hc. И тоже получите тот же результат. Поймите меня правильно, я не говорю, что ОС - панацея. Я лишь удивляюсь, когда про неё говорят "фигня". Цитата(mantech @ Jan 14 2017, 04:38)  сможете запустить нормальный вэб-сервер? Что значит - нормальный? Какой критерия нормальности? Цитата(mantech @ Jan 14 2017, 04:38)  Издеваетесь... Бог с вами! У себя на работе мы используем FreeRTOS и Linux. Каждый на своём камне, и каждый для решения своего круга задач. Цитата(mantech @ Jan 14 2017, 04:38)  Тогда зачем этот костыль на подобных камнях?? Выше объяснил. Цитата(TSerg @ Jan 14 2017, 05:09)  Еще кого там охарактеризовать? В момент сделаю! Меня, пожалуйста!
--------------------
Выбор.
|
|
|
|
|
Jan 14 2017, 08:01
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(mantech @ Jan 13 2017, 23:38)  Это еще цветочки, вот любители фреймворков на "вэб-ориентированных" языках, или С#-подобные, да еще написанные в каких-либо визардах, типа стм-куба, причем пытающиеся доказать, что "в код-то вообще лезть не надо" - вот это жесть... Встречал таких и не раз  Да, извращенцев много разных бывает: одни С++ в embedded пихают, другие вообще на каком-нибудь ужасе вроде си-диеза (а то и пхытона) калякают... Насчет калокуба все понятно — это та же абдурина, только уровнем повыше. Но точно так же вместо десятка килобайт генерирует бинарь на сотню. Да еще и простыню совершенно нечитаемого кода. Тем, кто считает, что существуют проекты, которые в одиночку не поднять, стоит посмотреть на то, чем постоянно пользуемся: проектов, в которых толпа разрабов (как ядро, например) очень немного. Большинство же ведется одним-двумя человеками. Как пример сложной "железячной" темы: управление нашим телескопом (от нижнего и до верхнего уровней) написано одним-единственным человеком. И я не вижу сложности в написании пары десятков тысяч строк кода одним человеком.
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|