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 / 4793
4792  |  4794
Subject: 
Re: Something else is needed, I think...
Newsgroups: 
lugnet.robotics
Date: 
Mon, 3 May 1999 22:09:47 GMT
Viewed: 
1084 times
  
John A. Tamplin <jat@liveonthenet.com> wrote:
On Mon, 3 May 1999, Kekoa Proudfoot wrote:

My thoughts on the JVM:

- too complicated for what we need or want

I guess that depends on who you talk to.  Personally, I want an object
oriented language with multithreading support.  I want to be able to write
generic code that can be reused in multiple applications (ie, here is a
module that follows a line, here is another that avoids obstacles, I would
like to be able to combine them with minimal wrapper code and have a bot that
follows a line but avoids obstacles it hits on the line).

I don't deny that these are reasonable things to want.  But you don't need
the JVM to get these.  The problem with the JVM is that there is so much
extra fluff associated with Java.  You mentioned 64-bit floats and ints,
security, etc.  Why start with a JVM that is much too complicated for our
needs and strip it down so it's appropriate for the RCX?  My contention is
that we building a new byte code interpreter from the ground up is simpler,
faster, and better.  No doubt, it can take inspiration for features from
Java or whatever, but it should not be or start out as the JVM.

- no direct support for interfacing with the RCX

Neither does C or any other existing language.  Machine manipulation is
typically defined in system calls in the OS or libraries linked into the
application, and Java would be no different.  You simply define native
methods for raw hardware/OS access.

I would argue that the "standard" byte code has native support for
interfacing with the RCX.  The new byte code should have similar support
built-in.

I envision the new byte code being specific to the RCX, and as simple as
possible to get the job done, which is the exact opposite of the JVM in
those regards.

As simple as possible to get which job done?  Some people would consider
the existing RCX bytecodes sufficient to get the job done, while others
may want exceptions, threads, etc.  People wanting a simpler interface can
use a subset of the environment, but people wanting a richer environment
can't fake it on a simple one.

The "job" I referred to is still up for debate.  Clearly there are things
that the current byte code does not address, e.g. better variable support,
a stack memory, better IR support, better task synchronization, dynamic
memory allocation, exceptions perhaps; getting the job done includes
providing support for many of these new features.  On the other hand, I
don't think getting the job done means hacking the JVM to run on the RCX.

In any event, rather than argue whether or not the JVM is the right thing
for the RCX, I instead propose people start tossing out their ideas as to
what might features might be nice to have in a new byte code/machine model.
Then whoever wants to can sift through these ideas and come up with a
more-concrete design for a next-generation system.

-Kekoa



Message has 2 Replies:
  Re: Something else is needed, I think...
 
(...) All I am saying is that there will be no existing product that does exactly what everyone wants. However, I think it is worth considering JVM as a starting point close to what we want since it represents a huge body of solid code. (...) (...) (25 years ago, 3-May-99, to lugnet.robotics)
  RE: Something else is needed, I think...
 
Kekoa wrote: <actually he wrote stuff here that I snipped out> (...) Ah, a refreshing viewpoint :-) Getting concrete ideas and proposals out makes sense. If you don't have the time to propose a CONCRETE idea or plan, then you sure don't have time to (...) (25 years ago, 3-May-99, to lugnet.robotics)

Message is in Reply To:
  Re: Something else is needed, I think...
 
(...) I guess that depends on who you talk to. Personally, I want an object oriented language with multithreading support. I want to be able to write generic code that can be reused in multiple applications (ie, here is a module that follows a line, (...) (25 years ago, 3-May-99, to lugnet.robotics)

67 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