Ben Laurie said:
Mark Brooks wrote:
I hope you use C to write the VM for Harmony.
I've tried to sell C++ in the ASF many times. Even back when it wasn't quite so bloated as it is now it wasn't a popular idea. Far fewer people can write C++ than C, and hardly any of those can write _good_ C++.
So, I think we'll end up back at C.
As much as I like C++, I would have to agree that C should be the default.
But I am still thinking that we can make it so that we have a choice of multiple VM's - which can be written in C, C++, Java, .Net, Perl, Python or whatever other language takes the authors fancy. I can see many valid reasons why we would want to do this, but the trick is getting it to work without adding enormous complexity.
As I've said before, I'd like to see a framework that _allows_ most of the VM to be run in Java (or Python, or Perl, or Erlang, or whatever-floats-your-boat), but doesn't require it.
The bulk of a Java environment is the API/libraries. I would like to see the libraries written in Java as much as possible. For example, LDAP functionality can be written entirely in Java. You just need to talk the right binary language.
I'm not arguing with that, I'm talking about the VM, not the libraries.
Same applies to parts of the maths API like BigDecimal, date functionality (except some cases like getting the system date), XML classes, the bulk of the IO classes, etc. We should rely on the VM to optimise the Java code - I see no reason why an efficient VM cannot match C code or assembler in most cases.
There are exceptions: for example, advanced maths like sin() or a bulk block copy will perform much better using hardware. Even then, I think it could be useful to have implementations of these functions written in Java, and the ability to override them.
BigDecimal is an exception, too, if you want to do serious crypto. So is all the rest of the crypto.
Cheers,
Ben.
-- http://www.apache-ssl.org/ben.html http://www.thebunker.net/
"There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff