|
|
On 16-1-2010 20:39, Warp wrote:
> Darren New <dne### [at] sanrrcom> wrote:
>> I hate to say this, but Java was *designed* for embedded programming.
>
> I wonder about their design choices given that it was intended originally
> for *embedded* (rather than desktop) systems. "Embedded system" usually
> implies extremely low amount of RAM and very slow processors (especially
> back when Java was first designed). Even if the Java program could be
> compiled to native machine code for the target system (are there any such
> compilers in actuality, for any embedded system?) which would mostly solve
> the speed problem, it would still suffer from the memory consumption problem.
>
> No statically allocatable objects (including no support for arrays of
> objects) and all objects always having dynamic binding means inevitably
> increased memory consumption. (Also constant allocation/deallocation of
> objects induces memory fragmentation, increasing overall memory consumption
> as time passes, unless the system implements some form of memory
> defragmentation scheme, which might be implausible for an embedded system,
> especially at that time.)
When connecting an I2C AD converter to a Lego NXT brick* it appeared
that Java does not have an unsigned 8bit datatype. Seems rather basic
for embedded to me. Or am I overlooking something?
Don't know if I mentioned before, but our 1st year students were doing a
project where they had to build a robot using Lego.
There were 6 teams of two groups. One to build a robot to navigate on a
6 by 6 meter playfield with 5 barrels and find the barrel with a magnet.
Then send the coordinates to the other group that had to build a robot
to retrieve it.
Post a reply to this message
|
|