On 4/19/12 6:08 PM, Roman D. Boiko wrote:
On Thursday, 19 April 2012 at 10:00:29 UTC, Denis Shelomovskij wrote:
D already has a history with heroes and great projects...
Unfortunately, lots of dead great projects. IMHO, a monument to them
should be set up.
Reasons:
1. If a project failed because of some design issues (e.g. Descent)
new developers should be informed about a danger of this approach and
ways to fix it (links to discussions of making a library from a
compiler).
2. If a project failed because of past compiler bugs, lack of
developers (DDL?) or other solved/solvable things, new developers
should be able to easily find and start reanimation of this project.
Any thoughts?
Great idea. In particular, I would be interested to have more
information about Descent :)
Things to learn about Descent:
* It's impossible for one/two men to continually port a project from
one language to another (C++ to Java in this case)
* D needs to be implemented as a library. This means no global
variables and means to make it easy to build tools on top of it. I know
of about two alternative new implementation of D (SDC and DCT) but for
now they are making the same mistake as DMD: they use global variables.
Also, the developers of those projects don't seem to have experience in
writing compilers so the code is not very nice (though I saw a visitor
in DCT). People suggest me to send pull requests or open issues to SDC,
but if the main design has a big flaw it's better to start from scratch
than to change the whole code.
* Eclispe is great for writing IDEs but after programming in Ruby for
some years now and exclusively using vim I can't go back to using a slow
IDE so I don't think I'll ever write anything else for Eclipse.
* Maybe it's better to implement things from scratch instead of
starting with a project like JDT and modifying its source code to be
usable as a D IDE. Though in the beginning you go faster later it slows
you down more and more.
* Maybe the project didn't recieve a lot of help because it was
written in Java... don't know.