Phobo's migration

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 23 08:59:43 PDT 2016


On 06/23/2016 04:04 PM, H. S. Teoh via Digitalmars-d wrote:
>> Sociomantic definitely does not (they use D1 currently, and their D2
>> port probably uses a port of their library as well), and I believe
>> Weka.io does not either.
> 
> AFAIK, the reason Sociomantic doesn't use Phobos is because their
> codebase started with D1, and D1 Phobos was pretty sucky. Of course, now
> that they have built their own library, it's hard to switch to D2
> Phobos, because the current Phobos has quite a different design from
> before and would entail too big of a code change.

There are quite some issues with Phobos design decisions on its own that
make it hard to use in our code base. One typical example is allocating
new exception instances - it is illegal in our code as we always reuse
them (and ban chaining of exceptions instead).

It is still not decided if we are even going to try to switch to Phobos
at all for main projects - not because our tango based code is really
better (there is considerable amount of old-fashioned legacy there) but
because it is under full control and pushing for even a smallest
architectural change in Phobos is often larger effort than just
rewriting the stuff completely.

That said, I don't think the Phobos really should be (or even can be!)
"production ready" in that sense. It is general purpose library and a
common ground for buildin some quick prototypes. And going for more
specialized domains tends to require sacrifices for everyone else.


More information about the Digitalmars-d mailing list