D for microservices

Adam Wilson flyboynw at gmail.com
Fri Oct 27 02:19:57 UTC 2017


On 10/26/17 17:51, Jonathan M Davis wrote:
> On Thursday, October 26, 2017 03:25:24 Adam Wilson via Digitalmars-d wrote:
>> On 10/25/17 23:57, Jacob Carlborg wrote:
>>> I'm more concerned that I don't think we'll manage to implement a
>>> complete API and 100% bug free at the first try.
>>
>> Depends on how one defines first try. Phobos as a pretty solid process
>> for making sure these things are reasonably bug free. And near as I can
>> tell, Phobos is pretty good about accepting bug fixes.
>
> The bigger problem is API bugs. The review process is rigorous enough to
> weed out a lot of stuff, but the end result is typically an API that we
> _think_ looks good but usually hasn't seen much real world use (much as its
> design may be based on real world experience). And if it turns out that the
> API has problems, it can be very difficult to fix that in a way that doesn't
> break code. Sometimes, we're able to reasonably do something about it and
> sometimes not. In theory, std.experimental would mitigate that, and that's
> where anything that was accepted would go first, but the process for getting
> new modules into Phobos is very much geared towards getting an API right up
> front rather than getting something that's close and iterating towards where
> it ultimately should be.
>
> What would probably be better in general would be to be writing stuff that
> ends up on code.dlang.org first and gets some real world use there and then
> look at getting it into Phobos later rather than aiming directly for Phobos.
> Not only would that likely help lead towards better code being in Phobos,
> but we'd still get useful stuff even if it didn't make it into Phobos.
>
> - Jonathan M Davis
>

I understand the concern, however, I can see potential mitigations. For 
one, steal an API concept from somewhere else. I've had reasonable 
success so far stealing ADO.NET and the refactoring it into something 
more idiomatic. Using that as a starting point gave me a pretty good 
understanding of what was needed and it gave me a prototype API that has 
been battle-tested.

Has anything from code.dlang.org been pulled into Phobos yet? I'm not 
aware of anything. code.dlang.org is where Phobos projects go to quietly 
die in obscurity.

-- 
Adam Wilson
IRC: LightBender
import quiet.dlang.dev;


More information about the Digitalmars-d mailing list