Saturday, September 15, 2007


I need a project to occupy my spare time ("spare time" - kind of a laugh).

Many years ago (towards the end of the 1980's) whilst working on our PhDs, Dan McCue and I developed a SIMULA-like simulation package in C++, cunningly called C++SIM. It was all tied up in the work we were doing at the time around replica placement to achieve high availability. It quickly took on a life of its own and we got requests to use it from a number of academic and commercial organisations. When Java came along it seemed like a good idea to port it across and JavaSim was born. (That "seemed like a good idea" principle was also what lead to JavaArjuna coming from Arjuna.)

Anyway, over the years JavaSim and C++SIM have had quite a few users with several of them asking for feature requests or bug fixes. It's basically been me running the project since Dan left for pastures new. With my own work in Bluestone, HP etc. etc. I've found it harder and harder to get the time to do anything meaningful with either project. So I eventually persuaded the University to allow me to put the source code into open source, which would at least allow other people to work on it and take me out of the bottleneck. Unfortunately that was about a year ago and I've managed to do zero since then! Until today, when I finally requested a project on Codehaus. So maybe sometime in 2008 the code will appear when I find the time and inclination to do more.

In the meantime, work on a D-based transaction manager continues ;-) Why? Because it's there. I'm finding I like D more and more so this is at least an excercise in coming to grips with the language as anything else. Plus, look what happened to JavaArjuna!


Michael Neale said...

D??? Well it looks quite nice. What always annoyed me about C++ was that they went to all the trouble of adding "++" to C, yet didn't ad a freaking string type to the *language*. As a human, I find that kind of offensive ;)

For java 3 - you should look no further then Scala - it is also a modern language based on lessons learned so far (of course, no inline assembly as you can do in D !).

Mark Little said...

A lot of C++'s idiosyncrasies can be traced back to CFront, the first C++ compiler which was actually just a C pre-processor. Despite this, I still think that C++ I/O is superior to Java's: how I miss operator overloading and complex I/O pipelining.