Does D have too many features?

foobar foo at bar.com
Tue May 8 10:24:23 PDT 2012


On Tuesday, 8 May 2012 at 17:03:10 UTC, Lars T. Kyllingstad wrote:
> On Tuesday, 8 May 2012 at 16:35:05 UTC, foobar wrote:
>> On Tuesday, 8 May 2012 at 14:59:43 UTC, Lars T. Kyllingstad 
>> wrote:
>>> On Tuesday, 8 May 2012 at 14:48:27 UTC, foobar wrote:
>>>> [...], what if I find it useful to use e.g. FORTRAN code, 
>>>> should the relevant functions also be in the stdlib?
>>>
>>> No, FORTRAN has absolutely nothing to do with D.  C, on the 
>>> other hand, does.  Both druntime and Phobos depend heavily on 
>>> the C stdlib.  The GC uses malloc/free, std.stdio.File is a 
>>> wrapper around FILE*, etc.
>>>
>>> -Lars
>>
>> Irrelevant. For all I care druntime could be implemented in 
>> Klingon. That doesn't mean its API needs to include Klingon as 
>> well. That's called "encapsulation".
>
> Um... so you don't mind the C/POSIX declarations being there, 
> you just want them to be private so you aren't tempted to use 
> them in your own code?
>
> -Lars

Yes, pretty much.
They are an implementation detail of druntime/phobos.

Other vendors may choose to implement the tool-chain with another 
language in mind and as long as the API remains the same I 
shouldn't need to care e.g. how the GC allocation is implemented 
(Perhaps it's done with FORTRAN's memory allocation routines).

If I ,the user, want to interface with C I need to use the 
"official" C headers in Deimos. This is after all the official 
location for that.


More information about the Digitalmars-d mailing list