logo       

Re: Why MIDP, not PP? (was Re: MIDP 2.0 beta for palmOne devices now availa: msg#00244

java.sun.kvm

Subject: Re: Why MIDP, not PP? (was Re: MIDP 2.0 beta for palmOne devices now available)

> Writing code and writing book about writing code are two completely
> different things ;-)

Well, generally the latter follows from the former. I admit, though, that
you have more practical experience than I do at this stage because I don't
have a vast cornucopia of devices to play with.

[Contrary to what some of you might think, no one ever sends me any devices
to play with for free. Just like you, my budget constrains what devices I
can buy. Actually, it's more my wife that constrains me... she can't
understand why a perfectly good Tungsten T she bought me for Christmas last
year should be replaced with a T3 or C just so I can run Java on it! :-) ]

> Code on Nokia 6600 DOES run differently. Its a fact!
>
> Code on different PJava VMs DOES run differently its a fact!
>
> As Sun themselves said PJava code would not run in the same way on J9 VM
as
> on a pure CDC system due to the threading model.

I'm not disputing these facts. All I'm pointing out is that there are no
specific guarantees as to which threading model is used on any device, so
you shouldn't assume that it's fixed.

> As for the J2SE point. I seem to remember that J2SE 1.4 broke a whole lot
of
> J2SE 1.3 code. So thanks for proving my point Eric ;-) LOL

The point was that J2SE apps that depend on a specific threading model have
the same problems. In fact, the 1.3 to 1.4 transition wasn't even the
example I meant. If I recall correctly, even 1.3 itself used different
threading models on different platforms. If I could Google my brain, I'm
sure I'd remember the details, I think it involved the AIX port. Don't quote
me on that, it's all kind of hazy now...

> It is quite clear that the leading developers target a subset of devices
> like Nokia Series 60, Series 40, Series 30, Motorola or Sharp.
>
> Then they develop explicitly for that subset of handsets. It is the only
way
> to develop highly performant games.

Yes, this is true. However, it's not just the threading model, it has also
to do with the device-specific APIs that game developers use to get that
performance.

Back to the threading, though, I'm not sure that having a fixed threading
model will solve anything. Well, it will make applications more consistent,
I guess, but you'll pay a big price in performance. Why? Because a fixed
threading model would mean green threads, not native threads. Otherwise
non-threaded platforms are left out. Palm OS has no user launchable threads,
for example, as explained here:

http://www.ericgiguere.com/books/palm/palm-database-programming/chapter-2-os
.html

The green model is the only one that works on this platform. But going green
can drastically decrease performance for some operations. There's a good
discussion of it here:

http://www-106.ibm.com/developerworks/java/library/j-java2/

Anyhow, I do understand your underlying gripe. I'm just not sure there's a
solution that will please everybody. This is just one of a number of
problems that developers face when creating real-world apps.

Eric

PS: See my article "J2ME Frustrations" at

http://www.mobilizedsoftware.com/showArticle.jhtml;jsessionid=4XSJY5FJKMUU4Q
SNDBNSKHQ?articleId=16506278

===========================================================================
To unsubscribe, send email to listserv@xxxxxxxxxxxx and include in the body
of the message "signoff KVM-INTEREST". For general help, send email to
listserv@xxxxxxxxxxxx and include in the body of the message "help".



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise