On Wednesday, 24 December 2014 at 13:16:32 UTC, eles wrote:
On Wednesday, 24 December 2014 at 12:59:33 UTC, Dicebot wrote:
On Tuesday, 23 December 2014 at 15:49:46 UTC, Andrei
Alexandrescu wrote:
resolution. How about providing it as a separate compiler build
I feel like dropping D1 was not such a good move. Especially if
full ABI compatibility with D2, people could have chose to
write some of the less critical modules of their software in D2
(along with the enthusiasm of discovery), while still having a
stable&non-experimental compiler for the really critical things.
In my opinion whole D1 vs D2 dichotomy could have been avoided if
not design decisions for very few language parts that cause 90%
of trouble - this comes from currently porting Sociomantic
projects to D2. I am going to write some blog posts about it
pretty soon.
ABI compatibility is hard though, it does not currently exist
even between different D2 releases.
Then, D1 would have become D1.5 by integrating the D2
time-proven features etc., just as D2 could become D2.5
This pretty much means using proper semantic versioning as
inherent part of development / release process - something I'd
like to see a lot but impossible until it is acknowledged by
those who actually work on compiler.
Is too late (or undesired) to resurrect D1 in maintenance mode?
It is a bit strange that one of the most successful stories of
D (Sociomantic) uses D1, still the compiler is ignored and
everybody seems pretending that is a D (D2) success story.
What would be the point of it? D1 is almost absolutely inferior
to D2 (both compiler and language) and lacks any better tools
recently created by the community. Only reason why D1 is still
used here is huge effort investment to actually port that much
code without ever delaying normal deployment schedule - and I am
working on this to change :)