Subject:
|
Re: Mindstorms NXT programming languages
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Fri, 13 Jan 2006 14:17:04 GMT
|
Viewed:
|
2091 times
|
| |
| |
In fairness, although the NXT has a small amount of memory, you're
talking about porting a high level interpreted language like Python to a
low-cost embedded platform.
For my sins, my day job consists of developing code that must cross
compile across about 10 different platforms, these vary in processor
architecture. Most use Linux which greatly simplifies integration but at
the end of the day the lowest common denominator in languages is C and
assembly language.
In my opinion you don't need to use python on embedded platforms.
Interpreted high-level languages are great for testing concepts and
ideas on powerful platforms. They generally are inefficient with
resource handling and quite slow. Once you refine your code, you trim it
down and optimise it for the embedded platform, most likely in a
language such as C with assembler for the special stuff.
I'm sure that's what you wanted to hear!
Allen.
steve wrote:
> dan miller wrote:
> >
> > Has anyone (other than myself) used Python? It's a great language,
> > and has
> > excellent attributes for programming robots (simple, easy to learn,
> > extremely powerful). Not clear what compromises would have to be
> > made to
> > port it to NXT.
>
> Well, on my Linux box, the main Python interpreter is in a library
> called 'libpython' with a teeny-tiny main program running the command
> line version. The library is about a Megabyte - and depends on other
> stuff from other libraries.
>
> This is four or eight times larger than the NXT's teeny-tiny flash
> memory (depending on which report you read about the NXT's memory size).
>
> Worse still, that library on my Linux box is for a Intel CPU - the ARM
> (being a RISC machine) needs more instructions to do any given job - so
> the code take up more space.
>
> So it would definitely take about 10 times the amount of flash memory
> than is provided in the NXT.
>
> I'm still horrified at how little memory the NXT has. It's pathetic.
>
|
|
Message has 2 Replies: | | Re: Mindstorms NXT programming languages
|
| (...) The size of the flash on the NXT is ridiculously small compared to almost any other consumer-grade embedded systems. Look at cheap digital cameras, PDA's, handheld game systems, thumb drives, MP3 players and cell phones. Name one of them with (...) (19 years ago, 13-Jan-06, to lugnet.robotics)
| | | Re: Mindstorms NXT programming languages
|
| What you say below is entirely true, up to a point. Note that most Lego stuff (and this is true outside Lego -- it applies to most controller code I've seen for robotics) is now using bytecode interpreters. The memory advantages far outweigh the CPU (...) (19 years ago, 13-Jan-06, to lugnet.robotics)
|
Message is in Reply To:
| | Re: Mindstorms NXT programming languages
|
| (...) Well, on my Linux box, the main Python interpreter is in a library called 'libpython' with a teeny-tiny main program running the command line version. The library is about a Megabyte - and depends on other stuff from other libraries. This is (...) (19 years ago, 13-Jan-06, to lugnet.robotics)
|
52 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
|
|
|
|