Является ли Occam-pi хорошим языком для программирования LEGO MINDSTORMS & Surveyor Corporation SRV-1?

Является ли Occam-pi хорошим языком для программирования роботов LEGO MINDSTORMS & Surveyor Corporation SRV-1 для начинающих программистов? Есть ли проекты с открытым исходным кодом, использующие то же самое - для чтения исходного кода. URL для occam-pi: - http://www.transterpreter.org/

8 ответов

Я использовал Occam-Pi на http://www.transterpreter.org/, и это, кажется, делает хорошую работу. Вы можете проверить этот блог. Написано одним из разработчиков. Если вы дадите Мэтту электронное письмо, он сможет указать вам правильное направление для материала.

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

Программирование в Occam-pi похоже на подключение физического робота. Вы знаете, какие компоненты оборудования делают, и подключаете их в нужном месте. Подобный стиль мышления возникает при программировании на параллельных языках программирования, таких как Occam-pi. Вы выясняете, как конкретный процесс, который вам нужен, должен быть написан, чтобы функционировать, а затем вы подключаете его к другим процессам через каналы (так же, как провода).

Чтобы делать то же самое в таких языках, как C, C++ и Java, на микроконтроллерах необходимо бороться с такими животными, как: прерывания по таймеру, изменчивые переменные и замысловатые циклы for.

Проще говоря, Occam-pi значительно упрощает программирование робототехники.

bringFire

Я бы повторил комментарии Модана ранее. В некотором смысле, Occam - очень хороший язык - он обеспечивает явный параллелизм надежным надежным способом, который, возможно, не имеет себе равных. Но это не язык программирования общего назначения, к сожалению. Не так просто учиться, если вы когда-либо работали только с такими языками, как C и Java.

Это требует другого умственного подхода, и это является частью того, что делает его таким хорошим в параллелизме, особенно во встроенных системах, таких как NXT. Необходимое мышление больше похоже на то, что используется разработчиками аппаратного обеспечения, чем большинством программистов (в частности, программисты OO могут бороться с отказом от псевдонимов ссылок - одна из вещей, которая позволяет Occam гарантировать правильное параллельное поведение; более подробную информацию можно найти здесь). Необходимый способ мышления больше похож на тот, который необходим для определенного игрушечного изделия из пластмассового кирпича.

Таким образом, в целом, это хороший выбор... но, к сожалению, тот, который расстроит большое количество неопытных пользователей. Попробуйте, если вам интересно сложное приключение!

Если вы заинтересованы в параллельном программировании на SRV-1, я могу сказать, что да, Occam-Pi великолепен. Мэтт Джадуд (один из разработчиков Occam-Pi) был моим профессором пару лет назад, и мы работали почти исключительно с комбинацией Occam-Pi/SRV-1. У него есть свои причуды (или, по крайней мере, так было в то время), но мы в значительной степени смогли их решить. Это не так уж плохо изучать язык для нового программиста (это был мой первый язык, и у меня все хорошо!) Я определенно рекомендую пинговать Мэтта любыми вопросами, на которые он очень легко получить ответ. Я также рад ответить на любые ваши вопросы, вы можете написать мне по адресу:

бп на brdpwrs точка ком

Удачи!

Оккам определенно не является языком для начинающих программистов.

Я бы порекомендовал новичку попробовать и приобрести навыки, которые можно будет использовать в различных ситуациях, и помогу вам в будущем по мере развития вашей карьеры / хобби. Другая рекомендация, которую я бы дал, - учиться в области, где есть живое сообщество коллег-разработчиков. Если вы выберете правильный язык, вы найдете дружественные учебники, которые облегчат вам процесс.

При этом, мой опыт работы с Occam - почти 10 лет назад, и есть часть меня, которая хотела бы вернуться к ней и снова сыграть. Когда это работает, это очень полезный опыт, хотя он приводит в бешенство, когда у вас есть ошибка, которая медленно ухудшает производительность, поскольку ваши процессы блокируются.

Я бы порекомендовал вам потратить время на изучение Occam, только если у вас уже есть опыт программирования Lego Mindstorms, и даже тогда, если у вас много времени и терпения. Если у вас есть шанс, это отличный язык, безусловно, лучший из всех, с которыми мне приходилось сталкиваться за высокопараллельное программирование. Я сомневаюсь, что это когда-либо станет господствующей тенденцией все же.

Я использовал 'not only c', когда появились оригинальные мозговые штурмы - правильный синтаксис программирования, но довольно простой в использовании.

Хорошо, давайте скажем так: вам не нужно взаимодействовать с базой данных ВСЕ ВРЕМЯ.

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

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

Программное обеспечение LEGO MINDSTORMS Education NXT, вероятно, является лучшим выбором для начинающих программистов. SRV-1 - это круто, но на самом деле у него нет ресурсов для начинающих.

Удачи!

Другие вопросы по тегам