Future of Descent and D Eclipse IDE

Ary Borenszweig ary at esperanto.org.ar
Mon May 24 19:15:25 PDT 2010


On 05/24/2010 08:38 AM, Bruno Medeiros wrote:
> Hi.
>
> I'm now in a position where I can dedicate a lot of free time for an
> open source project, and I'm seriously considering going back working on
> the D Eclipse IDE project. I worked on Mmrnmhrm a couple of years ago,
> as part of my thesis, which led to some restrictions on the kinds of
> tasks I should work on. Now I don't have that issue, I have (almost)
> complete freedom on what I can work on, and in particular I would like
> to unify the two current efforts for a D Eclipse IDE: Descent and
> Mmrnmhrm, as there is a lot of work being put into both (especially
> Descent ^^ )
>
> Now, Ary has been inactive for quite a while, and he said he wasn't
> interested in working in Descent any more :(

I know I told you that, but now that I think of it, it's not that I'm 
not interested. The project has grown too big and in the last releases I 
added nice features without thinking much about the design and the 
flexibility of growth... so now I feel the project is kind of a mess and 
it's very hard to continue it. The problems I see are:

  * Porting DMD source to Java was done manually and it's a very boring 
and long task, and we need to find a way to automate it if we'd like to 
support really good integration with the language (I mean, real semantic 
value, and because D is not dynamic I think this is worth it).
  * The DMD source was modified a little bit for performance reasons and 
for integration with Descent so now it contains bugs that are very hard 
to fix.
  * The code is just too big because it has a lot of code from JDT, 
modified a little bit, and that makes it hard for other developers to join.

. This means I'm currently
> the only Eclipse developer, so I could just do things in the way I'm
> thinking of, but Ary, I would still like to get your input, because I
> hope one day you might be interested in coming back to Descent
> development. :)

I can program now and then if I have time, but what I'd really like is 
to plan how to start things almost from scratch and think of a plan of 
doing it well. Maybe Descent could be done with IMP, I don't think using 
JDT's source code will be good for the project. The only problem I see 
with IMP (or DLTK) is that they don't support some of the features 
Descent already provides... but as IMP gets better Descent will 
automatically get those updates.

>
> There a few issues and ideas I would like to establish for the future D
> Eclipse IDE project. But for now I'll just mention one which I think is
> quite important:
>
> * I think the DMD frontend Java port should be separated into its own
> plugin/bundle, and not be part of the descent.core plugin. The first
> reason is for abstraction and modularization: This project is quite
> distinct on its own, and separation would make it a bit easier for
> people to understand it, and work on it alone (especially since it would
> require almost no knowledge about Eclipse), or for it to be used in
> other projects (like it is now for Mmrnmhrm). Also this allows the
> plugin to not be a singleton, so there could be several plugin instances
> with different versions running at the same time.

Yes, I would like that! And I think it's very necessary. Then you can 
plug this module into any IDE implementation you want.

>
> Separation purely for modularization should be reason enough, but if you
> are not convinced, there is a more serious issue which regards licenses:
> descent.core source is (heavily) based on the JDT core, which means this
> derived code must be licensed under the EPL. Same for the other Descent
> plugins. But the DMD frontend is licensed under the Artistic License. So
> unless the frontend port could be relicensed as EPL as well, then it
> should be in its own plugin. This is so that each plugin has its own
> license which applies to all its underlying code, to make things clearer.

Ah, um, right. :-P

>
> Ary, I would like to know if by any chance you are interested in doing
> that separation in the near future. If not, I can do it myself, but it
> might take a bit longer.

Yes, I would like to do it, but first I think we need to think if we 
want to a) keep using the Java port and little by little upgrade it to 
the latest dmd versions, b) start another port but build a tool to more 
or less automate that process (Frank Benoit started something in that 
regard but I don't know what happened then) or c) make a less 
semantic-aware IDE like Mmrnmhrm (the good thing is that it might be 
simpler and faster, but the bad thing is that we might not get all the 
features we'd want).

Thanks for bringing this topic! A lot of effort has been put in Descent 
and it would maybe be sad if the project is abandoned... (but I really 
feel I'm stuck now and I don't know how to advance... or at least I know 
I would have to keep porting C++ code to Java, but...

http://www.explosm.net/comics/1804/

)

Cheers!


More information about the Digitalmars-d-ide mailing list