Occam-pi 是学习 LEGO MINDSTORMS & LEGO MINDSTORMS 编程的好语言吗? 测量师公司SRV-1?
Occam-pi 是学习 LEGO MINDSTORMS & LEGO MINDSTORMS 编程的好语言吗? Surveyor Corporation SRV-1 机器人,适合编程新手。 是否有任何开源项目使用相同的方法来读取源代码。 occam-pi 的 url :- http://www.transterpreter.org/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
当最初的 Mindstorms 出现时,我使用了“不完全是 c”——正确的编程语法,但非常容易使用。
I used 'not quite c' back when the original mindstorms came out - proper programming syntax but pretty easy to use.
可能不会。 这是一种研究语言,因此不会为您想要的东西提供支持。 对不起。
对于编程新手来说,LEGO MINDSTORMS Education NXT 软件可能是更好的选择。 SRV-1 很酷 - 但并没有真正为初学者提供支持资源。
祝你好运!
Probably not. It's a research language, so there won't be the support for what you want. sorry.
The LEGO MINDSTORMS Education NXT Software is probably a better bet for a programming newbie. The SRV-1 is cool - but doesn't really have the supporting resources for beginners.
Good luck!
好吧,让我们这样说:您并不需要一直与数据库进行交互。
我认为您可能会发现学习一门研究语言以掌握其他语言的新功能是值得的。 我应该多写一些,但是没有时间。
Well, let's put it this way: it's not like you need to interface with a database ALL THE TIME.
I think you might find that it is worth learning a research language in order to master new features in other languages. I should write more, but there is no time.
如果您对 SRV-1 上的并行编程感兴趣,我可以说是的,Occam-Pi 非常棒。 Matt Jadud(Occam-Pi 的开发者之一)几年前是我的教授,我们几乎专门研究 Occam-Pi/SRV-1 组合。 它有它的怪癖(或者至少在当时是这样),但我们基本上能够解决它们。 对于新程序员来说,学习一门语言并不是那么糟糕(这是我的第一语言,而且我做得还不错!)我绝对建议向 Matt 询问任何问题,他很容易解决得到回应。 我也很乐意回答您的任何问题,您可以给我发电子邮件:
bp at brdpwrs dot com
祝您好运!
If you're interested in parallel programming on the SRV-1, I can say that yes, Occam-Pi is great. Matt Jadud (one of the developers of Occam-Pi) was a professor of mine a couple of years back, and we worked almost exclusively with the Occam-Pi/SRV-1 combination. It has its quirks (or at least it did at the time) but we were largely able to resolve them. It isn't that bad of a language to learn for a new programmer (it was my first language, and I'm doing alright!) I definitely recommend pinging Matt with any questions, he's very easy to get a response from. I'm also happy to answer any questions you may have, you can email me at:
bp at brdpwrs dot com
Good luck!
我在 occam-pi。 org" rel="nofollow noreferrer">翻译器 它似乎做得很好。 您可能需要查看此博客。 它是由其中一位开发人员编写的。 如果您给马特发一封电子邮件,他也许能够为您指明正确的材料方向。
I have used the occam-pi on the transterpreter and it seems to do a good job. You may want to check this blog out. It is written by one of the developers. If you give Matt an email he may be able to point you in the right direction for material.
我发现 Occam-pi 是最适合使用的机器人编程语言,毫无疑问。 当考虑同时感知和行动(并行)的主动机器人时,它是其他语言所不具备的直观性。
在 Occam-pi 中编程就像给物理机器人接线一样。 您知道哪些硬件组件做什么,因此可以将它们连接到正确的位置。 使用并发编程语言(例如奥卡姆圆周率)进行编程时会出现类似的思维方式。 您弄清楚必须如何编写所需的特定进程才能运行,然后通过通道(很像电线)将其连接到其他进程。
为了在 C、C++ 和 Java 等语言中做同样的事情,在微控制器上就必须与诸如定时器中断、易失性变量和错综复杂的“for”循环等问题作斗争。
简而言之,Occam-pi 极大地简化了机器人编程。
引火
I am finding Occam-pi is THE robotics programming language to use, without fail. It is intuitive in the way that other languages are not, when considering active robots that sense and act at the same time--in parallel.
Programming in Occam-pi is like wiring up the physical robot. You know which hardware components do what, so you connect them to the right place. A similar thinking style occurs while programming in concurrent programming languages, like Occam-pi. You figure out how the particular process you need must be written in order to function and then you connect it to the other processes via Channels (much like wires).
In order to do the same things in languages like C, C++ and Java, on microcontrollers it is necessary to fight with such beasts as: timer interrupts, volatile variables, and intricately woven 'for' loops.
Put simply, Occam-pi simplifies robotics programming immensely.
bringFire
奥卡姆绝对不是一种适合编程新手的语言。
我建议新手尝试并获得可在多种情况下使用的技能,并在未来随着您的职业/爱好的发展而为您提供帮助。 我给出的另一个建议是在一个有充满活力的开发人员社区可供学习的领域学习。 如果您选择正确的语言,您会发现友好的教程可以帮助您轻松进入该过程。
话虽如此,我对奥卡姆的体验已经是近十年前的事了,但我仍然有一部分想回到它再玩一遍。 当它发挥作用时,这是一种非常有益的体验,尽管当您遇到一个错误,该错误会随着进程被阻塞而导致性能缓慢下降时,这会令人恼火。
我建议您仅在具备乐高头脑风暴编程经验后才花时间学习奥卡姆,即使如此,前提是您有大量的时间和耐心。 如果你有机会的话,它是一种很棒的语言,绝对是我在高度并行编程中遇到的最好的语言。 但我怀疑它是否会成为主流。
Occam is definitely not a language for a programming newbie.
I would recommend a newbie try and gain skills that will be usable in multiple situations, and help you in the future as your career/hobby progresses. The other recommmendation I would give is to learn in an area where there is a vibrant community of fellow developers to learn from. If you choose the right language you will find friendly tutorials to ease you in to the process.
That being said, my experience of Occam is from nearly 10 years ago, and there is still part of me that would like to go back to it and have a play again. It is a very rewarding experience when it works, although infuriating when you have a bug that slowly degrades in performance as your processes get blocked.
I would recommend you take the time to learn Occam only once you are already experienced at programming Lego Mindstorms, and even then only if you have a lot of time and patience. If you do get the chance, it is a great language, definitely the best I have come accross for highly parallel programming. I doubt it will ever become mainstream though.
我会回应莫丹早些时候的评论。 从某种意义上说,奥卡姆是一种非常好的语言——它以可靠、稳健的方式实现显式并发,这很可能是首屈一指的。 但不幸的是它不是通用编程语言。 如果您只学过 C 和 Java 等语言,那么学习起来也不容易。
它需要不同的思维方法,这也是它在并发方面如此出色的部分原因,特别是在 NXT 等嵌入式系统中。 必要的思维更类似于硬件设计者而不是大多数程序员所使用的思维(特别是,OO 程序员可能会因拒绝引用别名而苦苦挣扎——这是允许 Occam 保证正确并发行为的因素之一;更多详细信息可在此处找到)。 必要的思维方式更像是某种塑料积木玩具产品所需的思维方式。
总而言之,这是一个不错的选择……但不幸的是,它会让大量缺乏经验的用户感到沮丧。 如果您喜欢具有挑战性的冒险,请尝试一下!
I woulda echo Modan's comments earlier. Occam is in one sense a very good language - it does explicit concurrency in a reliable robust way that is quite possibly second to none. But it is not a general purpose programming language unfortunately. Nor is it simple to learn if you've only ever done languages like C and Java.
It requires a different mental approach and this is part of what makes it so good at concurrency, particularly in embedded systems such as the NXT. The necessary thinking is more akin to that used by hardware designers than by most programmers (in particular, OO programmers may struggle with its rejection of reference aliasing - one of the things that allows Occam to guarantee correct concurrent behaviour; more detail can be found here). The necessary way of thinking is more like that needed for a certain plastic brick construction toy product.
So in summary it's a good choice ... but unfortunately one that would frustrate a large number of inexperienced users. Try it if you fancy a challenging adventure!