Subject:
|
Re: intro and question
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Mon, 17 Jun 2002 21:49:22 GMT
|
Viewed:
|
795 times
|
| |
| |
In lugnet.robotics, "Laura O'Grady" <l.ogrady@sympatico.ca> writes:
> Hello everyone!
>
> I have been semi-lurking on the list for a few months, with the occasional
> post. I have only recently gotten into Mindstorms and wanted to ask about
> moving on to another language to program the RCX with. I have no
> programming skills whatsoever so I am requesting the sage advice of the
> list on which direction I should go.
>
> I have done a bit of research and was able to find a demo version of
> ROBOLAB. This version works only with a serial IR and I have the USB
> version. Plus I really didn't think the interface was all that great so I
> deleted it.
Robolab is a wonderful tool for working with the RCX. I agree that the
interface is unusual, but it accurately reflects the way that National
Instruments (creator of LabView, the father of Robolab) views the world.
They see everything as a signal processing application, and their
programming paradigm reflects this.
But Robolab is not just a programming tool. It is also a data capture and
analysis tool. It turns your RCX into a lab instrument. And its
documentation capabilities far outstetch anything else available (you can
convert your programs into a web page and use hyperlinks to attach your
comments to the programming blocks). I think it is worth another look and
the cost isn't too bad ($35 from Pitsco for the recent version 2.5). Plus
the documentation is free on the web.
> So now I am considering purchasing either "Dave Baum's Definitive Guide to
> LEGO Mindstorms" to learn NQC or "Core LEGO MINDSTORMS Programming: Unleash
> the Power of the Java Platform" by Brian Bagnall to learn JAVA. I just
> ran a quick search and found this interesting article called
> "Ada/Mindstorms 3.0: A Computational Environment for Introductory Robotics
> and Programming" (found at
> http://www.faginfamily.net/barry/Papers/IEEERA.htm). In this article the
> author advises that NQC is difficult for the novice programmer to learn and
> use.
NQC is pretty easy to use. Especially in conjunction with one of the
available IDE's (integrated development environments) like Bricx. Dave's
book is well written and I would buy it even if I didn't plan on using NQC
(and Dave is a really nice guy who goes out of his way to help others). He
has some good building info and some interesting projects. I learned RCX
Code by converting Dave's programs. It was very informative. My only
complaint about NQC is that it is not quite C. If you plan on learning C
programming using NQC keep that in mind. For real C programming you could
try out legOS (soon to be renaimed I hear). But if you are running Windoze
it can be a bit intimidating to get all the tools installed (it is best
behaved on UNIX or Linux systems).
Java knowledge is a valuable commodity. I have been wanting to learn it for
a few years now, but wasn't too interested in making web pages. I used Java
on the RXC to get my feet wet, and now use it all the time for little
programming tasks. It is so much easier to knock of some code snippets in
my browser than it is to fire up Microsoft's Visual Studio. If you go this
route I don't know which Java book you should get. I have Brian's and like
it, but I have also heard good things about Guilio Ferrari's book (wouldn't
it be cool to have a name like Ferrari?)
As for Ada, Barry's support for the language is mandated by the Air Force.
Ada is kind of a weird language. I think of it as a Military Spec version
of Pascal. It is centered around preventing programmers from making
mistakes. As such it offends my "cowboy programming" sensibilities.
Preventing mistakes is a valuable language attribute for the target audience
(defense contractors writing massive software systems), but I find find some
of the language features get in the way of writing small programs.
Forth is an amazing language. It's really small and runs on everthing.
When I was first learning Forth I was confused by all the different
dialects. Then I found out they were all the same language, but had been
modified by the programmer to better fit the application domain. A computer
language that I could modify myself!!! I was really hooked (I fell in love
with LISP for the same reason). But I don't think Forth is right for
everyone. The programs can be hard to read. You kind of have to pretend
you are the computer and execute them in your head. Oh, did I forget to
mention that it is a stack based language and everything looks like it's in
RPN (Reverse Polish Notation). If you like HP calculators you may like Forth.
You should pick the language that will deliver the most value to you. I
might get flamed on this, but right now Java is probably the most marketable
with C coming in a close second. Both are worth learning and have so much
in common that learning both is not a daunting task. Ada is a heavyweight.
I used it in the past but didn't enjoy the experience. Forth is horribly
twisted so I fell in love with it right away. It reminds me of my college
days when I wrote software just for the love of it. I sometimes include a
Forth interpreter in software systems I write. It is an easy way to allow
users to customize my software.
Good Luck on your programming adventure,
Dean Hystad
|
|
Message has 1 Reply: | | RE: intro and question
|
| (...) Dean, all of these points are valid. I first learned to program on my HP-41CV calculator, which is a wierd mix of Forth and Assembler. In the end, the deep knowledge of what's happening at the chip level makes me a much better and versatile (...) (22 years ago, 18-Jun-02, to lugnet.robotics)
|
Message is in Reply To:
| | intro and question
|
| Hello everyone! I have been semi-lurking on the list for a few months, with the occasional post. I have only recently gotten into Mindstorms and wanted to ask about moving on to another language to program the RCX with. I have no programming skills (...) (22 years ago, 16-Jun-02, to lugnet.robotics)
|
21 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|