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

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

Ответы [ 8 ]

4 голосов
/ 17 октября 2008

Я использовал occam-pi на transterpreter , и, похоже, он хорошо работает. Вы можете проверить этот блог . Написано одним из разработчиков. Если вы дадите Мэтту электронное письмо, он сможет указать вам правильное направление для материала.

3 голосов
/ 18 июня 2010

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

п.н. по адресу brdpwrs dot com

Удачи!

3 голосов
/ 05 апреля 2010

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

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

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

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

bringFire

3 голосов
/ 06 ноября 2009

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

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

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

1 голос
/ 20 октября 2009

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

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

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

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

0 голосов
/ 17 октября 2008

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

0 голосов
/ 11 октября 2008

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

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

0 голосов
/ 04 октября 2008

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

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

Удачи!

...