CTFE and DI: The Crossroads of D

Adam Wilson flyboynw at gmail.com
Wed May 9 16:03:29 PDT 2012


On Wed, 09 May 2012 15:56:09 -0700, Artur Skawina <art.08.09 at gmail.com>  
wrote:

> On 05/10/12 00:15, Adam Wilson wrote:
>> On Wed, 09 May 2012 15:07:44 -0700, Adam D. Ruppe  
>> <destructionator at gmail.com> wrote:
>>
>>> On Wednesday, 9 May 2012 at 20:41:05 UTC, Adam Wilson wrote:
>>>> Except that there is a distinct need for the DRuntime as a shared  
>>>> library.
>>>
>>> That doesn't really matter - you can deploy as a shared library
>>> and still use full source as the interface file.
>>>
>>> Hell, that's what putting implementations in the .di file
>>> does anyway!
>>
>> Sure, but a lot of software developers, particularly those with money,  
>> don't want their source getting out, and in a lot of cases, there is no  
>> good reason to distribute the source. There are also a bunch of cases  
>> where you don't even want something to be CTFEable like Walter's  
>> example on a different thread of the GC. Why would ever want to CTFE  
>> the GC?
>>
>> Until D starts to see some serious usage in business, it's never going  
>> to get out of "toy"/"hobby" language status in the eyes of the  
>> developer community at large. Few businesses want to release their  
>> source. DI's as a complete source file are a non-starter to that large  
>> segment of the development world. Improving DI generation is just  
>> taking down another barrier to D usage by that group of people.
>>
>
> A "group of people" that wants to distribute binary closed-source libs,  
> yet finds
> having to manually specify the API of their library to be a barrier?
>
> If having to write all the required declarations from scratch (instead  
> of using
> some *.d -> *.di converter) is a real problem, then, umm, it's most  
> likely not
> their biggest one...
>
> artur

I agree, probably not the biggest one. But i've seen a lot of frustration  
around the fact that D offers automatic header generation, but when you  
actually use it, all it does is regurgitate your code. Headers mean  
something to people. And DI files aren't even close to matching what they  
are looking for.

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


More information about the Digitalmars-d mailing list