dccharacter писал(а):от регистров быстро уходишь. А новый уровень абстракции ты в своем примере не вводишь. Я не вижу разницы между
value.increment()
и increment(value)
Разница в том, что тебе этот value надо потом куда-то поместить и перед этим откуда-то извлечь. Ты уж пиши полностью.
self.headMotor.angle.increment(-10)
Внутри происходит подписка на событие срабатывания таймера с интервалом self.headMotor.min_interval_time и создаётся обработчик этого события, который пуляет единичку в порт self.headMotor.channel.
Таким образом мы из текущего кода выкинули получение и упоминание всех этих дополнительных данных, и всех этих дополнительных телодвижений.
dccharacter писал(а):А вообще ИМХО нафиг не надо эту объектность по большому счету на роботе, пока оно не дорастет до существенной сложности задач, типа девайсов уровня Android'а. А рядом с ними на низких контроллерах должны стоять задачи низкого уровня без всяких этих наворотов.
Вот тут я соглдасен. Низкоуровневые задачи должны решаться на низком уровне, а высокоуровневые на высоком. Если речь идёт только о вращении щаговика, то не нужны все эти абстракции и полиморфизм. Но если у нас сложный робот и надо уонтроллировать кучу сервомоторов со сложной логикой, да ещё и организовать систему мотиваций и другие плюшки, то без абстракции никак.
Своё сомнение относительно посудной лавки и слона я высказывал. Не надо спорить со мной на те темы, в которых у нас нет разногласий=)
Ещё раз повторяю. Всё должно быть целесообразно. Сложная логика требует абстракицй. Простая -- нет.
Добавлено спустя 6 минут 33 секунды:Grem писал(а):В "существенных задачах" ROS как никогда к стати

Согласен на 100%! Переход на высокоуровневый язык с введением уровней абстракции -- это лишь полумера. В идеале для серьёзных случаев эти слои долдны быть гораздо более изолированы.
Люди, скажем, не думают о дыхании. Они просто дышат автоматически, хотя могут влиять на скорость дызания (взаимодействие между уровнями). На скорость сердцебиения влиять сложнее. Более автономный механизм, так как боле еответственный. Изоляция уровней нужна чтобы, скажем, из-за глюка в распознавании речи на упала система жизнеобеспечения.