I haven’t posted here for a while but it doesn’t mean that there were no developments. Hence a quick round up, what’s going on.
Bruno rolled out the DDT “John Mirra” v0.6.0. I haven’t found any relevant hit in my search what the name of the new release means yet, so don’t ask. I tiny bit of my code made it to this release and as far as I know, apart from a tiny snippet, this is the first ever contribution that has been incorporated from my branch. Wonderful.
I went on with the development of my pet features, this time around mostly with the expression evaluator. The primary goal of evaluating expressions in the IDE is to deduce the type of an expression for further actions, like determinate the members of the result of a particular expression. The first most obvious use of this system is type inference in case of auto-variables. At the moment this is the point where my expression evaluator is called, since the search system is a bit messy in terms of code/data model but I will soon implement the other use cases, for example using qualified expressions, instead of qualified references. Something like “(new Foo()).” should drop you a list of the methods of Foo.
Bruno and me had a serious exchange of emails, concerned with how the contributions are accepted and how are they incorporated in to the main DDT line. I made some decisions regarding how do I contribute to the DDT development, since I had some issues with the current practice. It’s not that I don’t appreciate Bruno’s methodology, but I think it there’s some fundamentally wrong with that I was around the project since a year actively and more than a year since I started to browse the code and familiarize my self with the Eclipse development, and the only contribution that was accepted during this time was my icon overlay stuff, which is only a minor feature. This was that triggered a bit of reflection, and I decided to take the whole development in a completely different manner.
I add features to DDT because I miss them. I love the language and I need modern tools to use it as comfortably as I used to get with the other languages I professionally use, like C++. DDT is a project that has only single main developer, and me as a satellite contributor, and with the rate of releases, this project has a serious lack of momentum. So I decided to build up my own version of it, which means that I will publish my own releases about the same way as Bruno does it. I like the philosophy “release early, release often”, and I firmly believe that at the current model we won’t be able to attract more attention, thus we should be happy if we can keep the currently already low frequency of community responses, let alone the new developers. The latter looks even more desperate because those who are in to native development, rarely consider to get involved with Java, I guess. Also, the Java crowd has a strong puritan tendency within, which means only a tiny subset of hackers who could possibly ever get around with D, and DDT.
This is not a split, this is not a fork!
A screen shot of the type inference: