Сколько-то лет назад мы купили сыну комплект Lego Mindstorms NXT. Это такой программируемый "кирпич" с обвесом в виде разных датчиков и моторов. Из них делают самодвижущихся роботов, которые потом соревнуются, выполняя разные задачи (например, пройти маршрут вдоль нарисованной черной линии, сдвинуть банки определенного цвета - и всякое такое).
Штатная среда программирования - графическая, и программируют там, составляя программу мышкой из блоков. Написанная в такой среде программа напоминает блок-схему. В принципе, это блок-схема и есть, только "продвинутая".
Выглядит оно круто, специальных навыков для того, чтобы начать с этими программами работать, оно не требует. На этом плюсы заканчиваются и начинаются минусы. Один из основных минусов - какая-то безумная трудоемкость написания даже простейших программ. В общем, мне не нравилось.
Оказывается, существует способ писать программы для Lego NXT на нормальном языке. Называется он "Not eXactly C" или NXC. Есть до сих пор работающая инструкция по установке этого добра на 64-разрядный Линукс. Пишу "до сих пор", потому что Lego NXT был, типа, немного устаревшим уже в момент покупки. Есть Evo3, который гораздо моднее, и все сейчас используют именно его.
В общем, с помощью этих ваших интернетов я себе скомпилил две тулы: "nexttool" - общается с "кирпичом" и делаем всякие служебные операции с ним; и "nbc" - компилятор исходных текстов программ, написанных на языке "Not eXactly C", в байт-код, с которым работает, собственно "кирпич".
Заодно настроил gvim, чтобы для файлов *.nxc автоматически включалась синтаксическая подсветка языка.
Прикольно. Оно реально работает.
Ссылку на инструкцию по скачиванию и компилированию тулов я дал выше (оно, кстати, написано почему-то на Паскале). Вот еще одна полезная статья. Ну и наверняка понадобится гуглить что-то еще.
Но если есть набор Lego NXT, и есть желание попробовать "что это вообще такое", то наверное лучший способ - это программировать роботов на нормальном языке, чтобы основное время тратить на написание собственно программ, а не на борьбу со средой программирования и с ограниченностью штатного "языка".
Штатная среда программирования - графическая, и программируют там, составляя программу мышкой из блоков. Написанная в такой среде программа напоминает блок-схему. В принципе, это блок-схема и есть, только "продвинутая".
Выглядит оно круто, специальных навыков для того, чтобы начать с этими программами работать, оно не требует. На этом плюсы заканчиваются и начинаются минусы. Один из основных минусов - какая-то безумная трудоемкость написания даже простейших программ. В общем, мне не нравилось.
Оказывается, существует способ писать программы для Lego NXT на нормальном языке. Называется он "Not eXactly C" или NXC. Есть до сих пор работающая инструкция по установке этого добра на 64-разрядный Линукс. Пишу "до сих пор", потому что Lego NXT был, типа, немного устаревшим уже в момент покупки. Есть Evo3, который гораздо моднее, и все сейчас используют именно его.
В общем, с помощью этих ваших интернетов я себе скомпилил две тулы: "nexttool" - общается с "кирпичом" и делаем всякие служебные операции с ним; и "nbc" - компилятор исходных текстов программ, написанных на языке "Not eXactly C", в байт-код, с которым работает, собственно "кирпич".
Заодно настроил gvim, чтобы для файлов *.nxc автоматически включалась синтаксическая подсветка языка.
Прикольно. Оно реально работает.
Ссылку на инструкцию по скачиванию и компилированию тулов я дал выше (оно, кстати, написано почему-то на Паскале). Вот еще одна полезная статья. Ну и наверняка понадобится гуглить что-то еще.
Но если есть набор Lego NXT, и есть желание попробовать "что это вообще такое", то наверное лучший способ - это программировать роботов на нормальном языке, чтобы основное время тратить на написание собственно программ, а не на борьбу со средой программирования и с ограниченностью штатного "языка".