Can D used for BIG-HUGE projects?

Joseph Rushton Wakeling joseph.wakeling at webdrake.net
Thu Dec 24 16:38:17 UTC 2020


On Saturday, 19 December 2020 at 10:29:11 UTC, Marlon wrote:
> It's so embarrassing ... tons of argument against the 
> balkanization of the language, and every MAJOR adopter just 
> build everything from scratch: Weka, Sociomantic ...

That's not really a very accurate description of what Sociomantic 
did.  Remember, Sociomantic started when D1 was the stable 
version, and used the then de-facto standard library -- Tango.  
In time that was blended into Sociomantic's in-house standard 
library, Ocean (IIRC as a precursor to open sourcing the latter, 
because by that time there was no D2 version of Tango in active 
maintenance).

The reason for not using Phobos was because by the time the D2 
migration was completed (which took a LONG time), there was a 
very large codebase, and no strong motivation to migrate away 
from a known quantity.  But any concerns about Phobos performance 
or suitability should be considered in the context that 
Sociomantic was dealing with some pretty extreme performance 
challenges.  The existing codebase had been battle tested to a 
very high degree, and naturally one tends to want to keep what 
one knows works.

The attitude in any case was not "We can't/shouldn't use Phobos" 
but "We have to be very careful about incrementally transitioning 
what features seem appropriate, because we want to keep the 
performance levels we already have."  Had Sociomantic started 
when D2 and Phobos were stable, I'm pretty sure that's what would 
have been used, and there would have been correspondingly more 
upstream collaboration and contribution.


More information about the Digitalmars-d mailing list