Occam-pi は、プログラミング初心者が LEGO MINDSTORMS & Surveyor Corporation SRV-1 ロボットのプログラミングを学ぶのに適した言語ですか。ソースコードを読むために、同じものを利用しているオープンソースプロジェクトはありますか。occam-pi の URL :- http://www.transterpreter.org/
8 に答える
私は、Occam-pi が間違いなく使用するロボット工学プログラミング言語であることを発見しました。同時に感知して行動するアクティブなロボットを考えると、他の言語にはない方法で直感的です。
Occam-pi でのプログラミングは、物理的なロボットを配線するようなものです。どのハードウェア コンポーネントが何をするかを知っているので、それらを適切な場所に接続します。Occam-pi などの並行プログラミング言語でプログラミングを行う際にも、同様の考え方が見られます。機能するために必要な特定のプロセスをどのように記述する必要があるかを把握し、それをチャネルを介して他のプロセスに接続します (ワイヤーのように)。
C、C++、Java などの言語で同じことを行うには、マイクロコントローラーでタイマー割り込み、揮発性変数、複雑に織り込まれた「for」ループなどの野獣と戦う必要があります。
簡単に言えば、Occam-pi はロボティクスのプログラミングを大幅に簡素化します。
火をもたらす
以前のモダンのコメントを繰り返します。Occam は、ある意味では非常に優れた言語です。明示的な並行処理を信頼性の高い堅牢な方法で行うことは、他の追随を許しません。しかし、残念ながら汎用プログラミング言語ではありません。また、C や Java などの言語しか経験したことがない場合、習得するのは簡単ではありません。
これには異なる精神的アプローチが必要であり、これは、特に NXT などの組み込みシステムにおいて、同時実行性を非常に優れたものにしている理由の一部です。必要な考え方は、ほとんどのプログラマーよりもハードウェア設計者が使用するものに似ています (特に、OO プログラマーは、参照エイリアシングの拒否に苦労する場合があります。これは、Occam が正しい同時動作を保証できるようにするためのものの 1 つです。詳細については、こちらを参照してください)。 )。必要な考え方は、特定のプラスチック製レンガ構造のおもちゃ製品に必要な考え方に似ています。
要約すると、これは良い選択ですが、残念ながら、経験の浅い多くのユーザーを苛立たせるでしょう。やりがいのある冒険が好きなら、試してみてください!
SRV-1 での並列プログラミングに興味があるなら、そうです。Occam-Pi は素晴らしいと言えます。Matt Jadud (Occam-Pi の開発者の 1 人) は数年前に私の教授を務めていましたが、私たちはほとんど Occam-Pi/SRV-1 の組み合わせだけを扱っていました。癖があります (少なくとも当時はそうでした) が、大部分は解決できました。新しいプログラマーが学ぶのにそれほど悪い言語ではありません (それは私の最初の言語でしたが、私は問題なくやっています!) 質問があれば Matt に ping することをお勧めします。彼は非常に簡単に応答を得ることができます。ご不明な点がございましたら、お気軽にメールでお問い合わせください:
bp at brdpwrs ドットコム
幸運を!
Occamは、プログラミング初心者のための言語ではありません。
初心者には、さまざまな状況で使用できるスキルを身に付けて、将来、キャリアや趣味が進むにつれて役立つスキルを身に付けることをお勧めします。私が与える他の推奨事項は、学ぶべき仲間の開発者の活気に満ちたコミュニティがある地域で学ぶことです。適切な言語を選択すると、プロセスを簡単にするためのわかりやすいチュートリアルが見つかります。
そうは言っても、Occamの私の経験は10年近く前のものであり、Occamに戻ってもう一度プレイしたいという私の部分がまだあります。プロセスがブロックされるとパフォーマンスが徐々に低下するバグがあると腹立たしいですが、それが機能するときは非常にやりがいのある経験です。
レゴマインドストームのプログラミングをすでに経験した後で、それでも時間と忍耐力が十分にある場合にのみ、時間をかけてOccamを学ぶことをお勧めします。機会があれば、それは素晴らしい言語であり、高度な並列プログラミングで私が出会った中で間違いなく最高の言語です。しかし、それが主流になるとは思えません。
おそらくそうではありません。それは研究言語なので、あなたが望むものに対するサポートはありません。ごめん。
レゴマインドストームエデュケーションNXTソフトウェアは、プログラミング初心者にとっておそらくより良い賭けです。SRV-1はかっこいいですが、初心者向けのサポートリソースは実際にはありません。
幸運を!
そうですね、このように言いましょう: 常にデータベースとやり取りする必要があるわけではありません。
他の言語の新しい機能を習得するために、研究言語を学ぶ価値があることに気付くかもしれません。もっと書きたいのですが、時間がありません。
オリジナルのマインドストームが出てきたとき、私は「not pretty c」を使用しました。適切なプログラミング構文ですが、非常に使いやすいです。