Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Virtual Machine / September 2005

Tip: Looking for answers? Try searching our database.

Seeking a developer/designer to implement a JVM

Thread view: 
Raghu Kaippully - 30 Aug 2005 13:52 GMT
Hi,

I have been working on a project to implement a free JVM. I already have
a project in sourceforge (http://sf.net/projects/troy) and some details
are there in my blog (http://www.livejournal.com/users/raghu_kb/). I am
looking for developers who are interested.

Here's what I expect from a contributor.

1. Should have good understanding of Java language; added bonus for
those who have read JVM specification and at least have a rough idea of
what it is all about.
2. Should be good in C++ (That's what we use for coding!!!)
3. Should have an appetite for object oriented design.
4. Should have good exposure to systems programming. We are going to do
stuff like multi-threaded programming, synchronisation, memory
management, caching, etc.

I am looking for an experienced developer who is willing to contribute
some reasonable amount of time towards this project. Someone with the
following sort of skills should be good enough.

Java Programming:      2 yr - 5 yr
C++ Programming:       6 Mo - 2 yr
Systems Programming:   2 yr - 5 yr

Let me know if you think you fit the bill.

Thanks
Raghu
Roedy Green - 03 Sep 2005 04:28 GMT
>Here's what I expect from a contributor.

This may seem a fairly simple project, but check out how big the teams
and how much time various other JVMs were.

The JVM interpreter itself may be no big deal.  The problem is the
thousands of native methods you have to write.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.

jan V - 03 Sep 2005 10:03 GMT
> The JVM interpreter itself may be no big deal.  The problem is the
> thousands of native methods you have to write.

Just the interpreter itself is definitely not trivial. Are you forgetting
garbage collection and multi-threading? Anyone trying to create a **REAL**
JVM implementation and simply looking around in this newsgroup for
contributors seems to be a bit naive.

Many, many moons ago I was part of a 3-man team tasked with writing a clean
room implementation of Postscript (Level 1). It took us nearly a year to
arrive at something that could execute well-known Postscript programs.
Postscript, even with its graphics commands, is less complex than a JVM even
when we ignore any native code requirements. The OP is either looking at a
multi-year project (with "contributors" slaving away full time.. sure thing)
or he's going to become demoralized pretty soon.
Chris Uppal - 04 Sep 2005 11:39 GMT
> Just the interpreter itself is definitely not trivial. Are you forgetting
> garbage collection and multi-threading? Anyone trying to create a **REAL**
> JVM implementation and simply looking around in this newsgroup for
> contributors seems to be a bit naive.

While I agree that creating a "real", cutting edge, JVM is a highly non-trivial
bit of work (many man-years), it isn't clear that the OP is aiming that high.
A fairly simple JVM with GC, threads, and a naive bytecode interpreter
(implemented /as/ an interpreter) is well within reach of a hobbyist project --
I can think of several that already exist.  For someone with experience of
generating/manipulating machine code for a specific architecture, a simple
JITer for that architecture should also be within reach.

Creating an entire /platform/ (with class library etc) is even more work --
which is presumably why even such well-endowed enterprises as IBM and Intel
have made use of the GNU Classpath library for that side of things.  (Of
course, IBM's /main/ offerings aren't based on Classpath, but -- as far as I
can tell -- on sublicensing Sun's code)

   -- chris
jan V - 04 Sep 2005 20:19 GMT
> While I agree that creating a "real", cutting edge, JVM is a highly non-trivial
> bit of work (many man-years), it isn't clear that the OP is aiming that high.

Whatever level he's aiming at, one would assume that there's a minimum
level: being able to run the minimalist "Hello World!" example. That means
being able load/link classes such as Object (which contains native stuff),
System (which contains native stuff), PrintStream, String, possibly
StringBuffer... all from an "off the shelf" RT.JAR and any associated DLLs
for the native stuff.

If he's not aiming to be able to run HelloWorld.java, then I really don't
see the point.
jan V - 04 Sep 2005 20:24 GMT
> > While I agree that creating a "real", cutting edge, JVM is a highly
> non-trivial
[quoted text clipped - 7 lines]
> StringBuffer... all from an "off the shelf" RT.JAR and any associated DLLs
> for the native stuff.

Hmmm... doing a

%  java -verbose:class HelloWorld

produces a distinct surplus of information to find out what the minimal set
of needed classes would be... :-(
Chris Uppal - 05 Sep 2005 09:02 GMT
> That means
> being able load/link classes such as Object (which contains native stuff),
> System (which contains native stuff), PrintStream, String, possibly
> StringBuffer... all from an "off the shelf" RT.JAR

Why on earth would anyone want to do that ?  The DLLs and "system" jar files
are part of the platform implementation, not part of application-domain code.
It would be silly, from a system architecture POV (and probably not allowable
from a licensing POV -- though I haven't checked), to make use of those
resources in a third party JVM implementation.

That's what the GNU Classpath project is about (which I mentioned in my post);
Raghu has already said (on the SourceForge page) that he is intending to use
Classpath.

   -- chris
Raghu Kaippully - 12 Sep 2005 11:26 GMT
>>That means
>>being able load/link classes such as Object (which contains native stuff),
[quoted text clipped - 12 lines]
>
>     -- chris

OK. I was on a vacation for abt a week and couldn't reply till now.

As chris pointed out, I am planning to use GNU classpath. I DO NOT have
plans to implement Java API. I am interested only in JVM.

Now why I want to do this? Just for the sake of the challenge. I am not
aiming for a cutting edge VM; in fact, the first version may not even
have JIT, only an interpreted engine. Slowly, I might add features.

> The OP is either looking at a
> multi-year project (with "contributors" slaving away full time.. sure thing)
> or he's going to become demoralized pretty soon.
>
> jan V <nul@nul.be>

I have not set a deadline as to when I should "finish" the project. It
might well be a multi-year project, but I do not see how that implies
anyone working fulltime on this.

Its just a hobby project, I want to do this just coz I like it. The aim
is not to be the best JVM (in terms of features) available.

Raghu
jan V - 12 Sep 2005 11:51 GMT
> Its just a hobby project, I want to do this just coz I like it. The aim
> is not to be the best JVM (in terms of features) available.

I wish you all the best, and let's hope you use SourceForge or something
similar to let us track your progress.. it would be interesting to see
whether a hobby-driven team could succeed at this (I'm not prejudging!).
lotusbud - 03 Sep 2005 05:23 GMT
why developing a new one while there're plenty jvms already for use

i suppose this could be a huge project if you want to make it fully
functional as well as highly efficient
kkiran7@gmail.com - 12 Sep 2005 06:43 GMT
Raghu,
I have been programming for over five years. My experience spans
various
Java technologies - J2EE/J2ME ( CDC/CLDC/MIDP )  and have written
native bridges for couple of projects. I do have quite a bit of C/C++
experience,
( ~ 1.5 years ) - mostly with high performance scientifc libraries.

However, i have quite a deep interest in compiler design, linkers
/loaders and
virtual systems ( like Java, Python, Forth ). I do the reading myself,
download
code, understand it with lot of passion. Yes , I did read VM spec to a
large extent.

My special interest would be in threading model and memory management.

And I can spend decent amount of time contributing towards the project.
Let
me know if I fit your bill

Thanks,
Kiran Kumar


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.