I'm disinterested in the discussion of the value of other language support from the perspective that you've given, but I
do disagree with your premise that multiple language support at the VM level requires API agreement.


API agreement is only required if you do not have open implementations or bytecode implementations of the API. Meaning
if I have all of the python APIs and a way to interpret/compile python bytecodes then no API agreement is required. There
might be issues required for cross language expression. (calling conventions etc) That however is another issue entirely.


I do not think it is practical to create this type of VM for C/C++. I think harmony's focus should be a JVM but if a desire is expressed
for more cross langauge capabilities, then basically focus on higher level languages like Java, C#, Python etc.. C/C++ require a much lower
level effort in my opinion. (though it is a very interesting idea :-) )


-andy

Matthew French wrote:

On Sat, 2005-05-14 at 12:19 -0700, [EMAIL PROTECTED] wrote:


I'd actually like to at least entertain the architectural idea implied by other "language" support.



I think supporting other languages should be easy enough. Structs and
enumerations, for example, can be mapped to specific types of classes. A
VB variant is just another class. Pointer arithmetic would require some
interesting hacks but could be done.


The problem for me would be mapping API's to the class libraries. To get
code written in other languages to work in a Java would require not only
a mapping from the API of the original language, but also an
understanding of the semantics.


.Not[1], er, .Net manages this by, for example, making Visual Basic .Net
a different language to the previous versions. AFAIK it also requires C/C++ developers to learn a new API, but C/C++ developers should be used
to that by now. :(


So you either have the ability to write Java code in other programming
languages but cannot compile something written for a different set of
API's (interesting, but not particularly helpful). Or you use an
enormous amount of effort to produce something with dubious value.

- Matthew

[1] My own private joke, not to be taken literally: Java is write once,
run anywhere. .Net is write many times, run once.





--
Andrew C. Oliver
SuperLink Software, Inc.

Java to Excel using POI
http://www.superlinksoftware.com/services/poi
Commercial support including features added/implemented, bugs fixed.



Reply via email to