To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 25164
25163  |  25165
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
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR