On Mon, May 21, 2012 at 10:18 AM, Denis Shelomovskij <verylonglogin.reg@gmail.com> wrote:
21.05.2012 2:01, Andrei Alexandrescu написал:

As you may recall, we have three GSoC 2012 projects for which full-bore
coding starts tomorrow:

1. Extended Unicode Support by Dmitry Olshansky
2. Mono-D by Alex Bothe

Yes, lets accept D failure in writing anything as complicated as IDE and glorify C#!


Gee, thanks for your enthusiastic support for GSOC projects that will greatly forward the D ecosystem.

Ultimately, what's useful to the D community (for reasons discussed in these NGs many times over) is that we have working, mature, feature-rich IDEs. The languages they're implemented in are mostly irrelevant, and in MonoDevelop's case, trying to add language support via a plugin written in D to an IDE written in C# would be silly. Would you extend Eclipse in C++? It just doesn't make any sense at all.

What's more, building tools for D in languages other than D can be extremely useful. Every time a discussion for a D compiler written in D comes up, no one really likes to mention the benefits we've gotten from having a compiler written in C++:
 - there are no bootstrapping problems because C++ exists on basically every platform D would ever want to target
 - GDC and LDC were built without reimplementing the entire compiler and exist on platforms DMD doesn't support
 - GDC can be formally added to GCC without the aforementioned reimplementation of the compiler

There's no shame in building off solid technologies, even if those technologies have no direct link to the D ecosystem. Building IDEs in D does demonstrate that D is powerful and useful, but except for Rainer Schuetze and Visual D (which actually /is/ written in D), D has not been the right tool for the job for reasons that have little to do with the language's actual merits.

The response at this point is generally, "Why build off MonoDevelop/Eclipse/VisualStudio when you could build from scratch?" and again, the question is whether building from scratch makes sense. Existing frameworks exist, are very powerful, are already familiar to many developers, and are generally easier to build on. There's certainly nothing stopping anyone from working from scratch, but building from an existing framework will get faster results and all the aforementioned benefits. If the heap of abandoned incomplete IDE-from-scratch projects on DSource says anything, it says that fast results are important in community-driven projects.

I, for one, look forward to seeing what Alex can build this summer. Best of luck as you start your project.

Andrew