May 03, 2012
On Fri, May 04, 2012 at 01:12:20AM +0200, Era Scarecrow wrote:
> On Thursday, 3 May 2012 at 22:29:47 UTC, H. S. Teoh wrote:
> >On Thu, May 03, 2012 at 11:32:52PM +0200, Era Scarecrow wrote: Do we know (roughly) how many D users are out there right now?
> 
>  Don't know. Need a poll :) I'm definitely sure we have at least 10
> users; beyond that I can only speculate; Maybe 2 to the power of ten
> or thirteen...

Only 10?? Judging from mailing list membership, I'd say at least 25 or 30, just on the forums alone. I'm assuming that people here aren't subscribed just for kicks, they actually write D code. There are probably more outside the forums (somebody mentioned an entire company of D programmers before, perhaps about 50-100? I don't remember the exact figure). There's got to be more out there, given that Andrei has been giving talks about D for a while. *Somebody* in the audience must be actually listening to what he says.

But in any case, I'd say we have a ways to go yet in terms of D adoption.


[...]
>  Anyways, focus on the now. D3 may/will come some day, but that's a
> long ways off. Course if you plan early for certain things that will
> change it does make going towards it easier with language design, or
> give you more time to think about faults and fixes.

Yep.


T

-- 
Those who don't understand Unix are condemned to reinvent it, poorly.
May 04, 2012
On May 3, 2012, at 2:16 PM, deadalnix <deadalnix@gmail.com> wrote:

> Le 03/05/2012 22:43, Sean Kelly a écrit :
>> On May 3, 2012, at 1:11 PM, Don wrote:
>> 
>>> On 03.05.2012 21:08, Sean Kelly wrote:
>>>> On May 3, 2012, at 8:13 AM, Don Clugston wrote:
>>>> 
>>>>> On 03/05/12 16:13, Andrei Alexandrescu wrote:
>>>>>> 
>>>>>> 
>>>>>> Good ones. In fact I even discounted them from this discussion because I'd already considered them gone. Walter agreed that I don't mention them in TDPL, with the intent to have them peter out.
>>>>>> 
>>>>>> One good step right now would be to remove NCEG operators from the online documentation. Later on, we'll consider them an accept-invalid bug :o).
>>>>> 
>>>>> Well, they are also used in druntime, in core.stdc.math
>>>>> 
>>>>> BTW I *hate* that module, I don't know why it exists. Even worse, it seems to be growing -- people are adding more things to it.
>>>>> Practically everything in there has a better implementation in std.math.
>>>> 
>>>> core.stdc.math corresponds to C99's math.h and is there as a part of the standard C interface.  It should only contain the required C99 prototypes, and in some cases functions if the C implementation is a macro.  If there is anything nonstandard in there, I'm not aware of it.
>>> 
>>> Yes, but why do we have it? We're not C.
>> 
>> Mostly because it was handy to fall back on the C API before Phobos was so well fleshed-out.  Today, I think it mostly exists to ease porting of C apps.
> 
> So they probably belongs to deimos.

Except that they're used by druntime, both explicitly and publicly imported by core.sys.posix.
May 04, 2012
On Thursday, 3 May 2012 at 23:40:32 UTC, H. S. Teoh wrote:
> Only 10?? Judging from mailing list membership, I'd say at least 25 or 30, just on the forums alone. I'm assuming that people here aren't subscribed just for kicks, they actually write D code. There are probably more outside the forums (somebody mentioned an entire company of D programmers before, perhaps about 50-100? I don't remember the exact figure). There's got to be more out there, given that Andrei has been giving talks about D for a while. *Somebody* in the audience must be actually listening to what he says.

 I was being sarcastic :P
May 04, 2012
On 3 May 2012 16:13, Don Clugston <dac@nospam.com> wrote:
> On 03/05/12 16:13, Andrei Alexandrescu wrote:
>>
>> On 5/3/12 9:55 AM, Don Clugston wrote:
>>>
>>> On 28/04/12 20:47, Walter Bright wrote:
>>>>
>>>> Andrei and I had a fun discussion last night about this question. The idea was which features in D are redundant and/or do not add significant value?
>>>>
>>>> A couple already agreed upon ones are typedef and the cfloat, cdouble and creal types.
>>>>
>>>> What's your list?
>>>
>>>
>>> Other ones which were agreed to a long time ago were:
>>>
>>> * NCEG operators
>>>
>>> * built-in .sort and .reverse
>>
>>
>> Good ones. In fact I even discounted them from this discussion because I'd already considered them gone. Walter agreed that I don't mention them in TDPL, with the intent to have them peter out.
>>
>> One good step right now would be to remove NCEG operators from the online documentation. Later on, we'll consider them an accept-invalid bug :o).
>
>
> Well, they are also used in druntime, in core.stdc.math
>
> BTW I *hate* that module, I don't know why it exists. Even worse, it seems
> to be growing -- people are adding more things to it.
> Practically everything in there has a better implementation in std.math.

I used core.stdc.math to map GCC builtins to math lib functions.  This allows for a lot of potential const folding that the D frontend does not (currently) handle.

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
May 04, 2012
On 04-05-2012 01:41, H. S. Teoh wrote:
> On Fri, May 04, 2012 at 01:12:20AM +0200, Era Scarecrow wrote:
>> On Thursday, 3 May 2012 at 22:29:47 UTC, H. S. Teoh wrote:
>>> On Thu, May 03, 2012 at 11:32:52PM +0200, Era Scarecrow wrote:
>>> Do we know (roughly) how many D users are out there right now?
>>
>>   Don't know. Need a poll :) I'm definitely sure we have at least 10
>> users; beyond that I can only speculate; Maybe 2 to the power of ten
>> or thirteen...
>
> Only 10?? Judging from mailing list membership, I'd say at least 25 or
> 30, just on the forums alone. I'm assuming that people here aren't
> subscribed just for kicks, they actually write D code. There are
> probably more outside the forums (somebody mentioned an entire company
> of D programmers before, perhaps about 50-100? I don't remember the
> exact figure). There's got to be more out there, given that Andrei has
> been giving talks about D for a while. *Somebody* in the audience must
> be actually listening to what he says.
>
> But in any case, I'd say we have a ways to go yet in terms of D
> adoption.

There are more users than one might think. If you fancy some IRC, you should drop by #d (104 users), #d.gdc (17 users), #ldc (18 users), #d.sdc (5 users) on irc.freenode.net. :)

There's also #d on irc.oftc.net (started by Iain).

>
>
> [...]
>>   Anyways, focus on the now. D3 may/will come some day, but that's a
>> long ways off. Course if you plan early for certain things that will
>> change it does make going towards it easier with language design, or
>> give you more time to think about faults and fixes.
>
> Yep.
>
>
> T
>

-- 
- Alex
May 04, 2012
On 04-05-2012 02:13, Iain Buclaw wrote:
> On 3 May 2012 16:13, Don Clugston<dac@nospam.com>  wrote:
>> On 03/05/12 16:13, Andrei Alexandrescu wrote:
>>>
>>> On 5/3/12 9:55 AM, Don Clugston wrote:
>>>>
>>>> On 28/04/12 20:47, Walter Bright wrote:
>>>>>
>>>>> Andrei and I had a fun discussion last night about this question. The
>>>>> idea was which features in D are redundant and/or do not add significant
>>>>> value?
>>>>>
>>>>> A couple already agreed upon ones are typedef and the cfloat, cdouble
>>>>> and creal types.
>>>>>
>>>>> What's your list?
>>>>
>>>>
>>>> Other ones which were agreed to a long time ago were:
>>>>
>>>> * NCEG operators
>>>>
>>>> * built-in .sort and .reverse
>>>
>>>
>>> Good ones. In fact I even discounted them from this discussion because
>>> I'd already considered them gone. Walter agreed that I don't mention
>>> them in TDPL, with the intent to have them peter out.
>>>
>>> One good step right now would be to remove NCEG operators from the
>>> online documentation. Later on, we'll consider them an accept-invalid
>>> bug :o).
>>
>>
>> Well, they are also used in druntime, in core.stdc.math
>>
>> BTW I *hate* that module, I don't know why it exists. Even worse, it seems
>> to be growing -- people are adding more things to it.
>> Practically everything in there has a better implementation in std.math.
>
> I used core.stdc.math to map GCC builtins to math lib functions.  This
> allows for a lot of potential const folding that the D frontend does
> not (currently) handle.
>

Does that play nice with errno?

-- 
- Alex
May 04, 2012
On 4 May 2012 01:40, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:
> On 04-05-2012 02:13, Iain Buclaw wrote:
>>
>> On 3 May 2012 16:13, Don Clugston<dac@nospam.com>  wrote:
>>>
>>> On 03/05/12 16:13, Andrei Alexandrescu wrote:
>>>
>>>>
>>>> On 5/3/12 9:55 AM, Don Clugston wrote:
>>>>>
>>>>>
>>>>> On 28/04/12 20:47, Walter Bright wrote:
>>>>>>
>>>>>>
>>>>>> Andrei and I had a fun discussion last night about this question. The
>>>>>> idea was which features in D are redundant and/or do not add
>>>>>> significant
>>>>>> value?
>>>>>>
>>>>>> A couple already agreed upon ones are typedef and the cfloat, cdouble and creal types.
>>>>>>
>>>>>> What's your list?
>>>>>
>>>>>
>>>>>
>>>>> Other ones which were agreed to a long time ago were:
>>>>>
>>>>> * NCEG operators
>>>>>
>>>>> * built-in .sort and .reverse
>>>>
>>>>
>>>>
>>>> Good ones. In fact I even discounted them from this discussion because I'd already considered them gone. Walter agreed that I don't mention them in TDPL, with the intent to have them peter out.
>>>>
>>>> One good step right now would be to remove NCEG operators from the online documentation. Later on, we'll consider them an accept-invalid bug :o).
>>>
>>>
>>>
>>> Well, they are also used in druntime, in core.stdc.math
>>>
>>> BTW I *hate* that module, I don't know why it exists. Even worse, it
>>> seems
>>> to be growing -- people are adding more things to it.
>>> Practically everything in there has a better implementation in std.math.
>>
>>
>> I used core.stdc.math to map GCC builtins to math lib functions.  This allows for a lot of potential const folding that the D frontend does not (currently) handle.
>>
>
> Does that play nice with errno?
>

The default is -fno-errno-math for GDC, so errno is not usually set after calling single math instructions.  This allows most functions to be used in pure routines.

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
May 04, 2012
On 2012-05-03 22:36, Jonathan M Davis wrote:
> On Thursday, May 03, 2012 15:30:40 Don Clugston wrote:
>> What is this D3 thing ????
>> As far as I can tell, 'D3' was invented by newcomers to the forums.
>
> I think that what it comes down to is that there are a variety of people who
> want features added or changed in D which are either not going to happen
> anytime soon or will never happen in D2 (especially if they're major breaking
> changes). So, they figure/hope that we'll have a new revision of the language
> where we'll be able to make breaking changes and then maybe the changes that
> they want will make it in then. After all, particularly from the perspective
> of a newbie, we already had D2 which changed a bunch of stuff from D1, why
> wouldn't we have D3 later on? And for folks who really want to see changes
> that aren't going to happen, the idea that we're going to have another major
> revision of the language which might make the changes that they want sounds
> really appealing.
>
> I think that Walter and Andrei have made it fairly clear when they've said
> anything on the subject that there is no intention to make any kind of D3
> anytime soon and that if we do, it'll be years from now after D2 is mature and
> well-established, and it actually makes sense to do a new major revision. But
> I do think that you're right in that the very idea of a D3 was created by
> folks in the newsgroup. Walter and the other developers have been focusing on
> stabilizing D2 as _the_ version of the language, not finishing it up so that
> they can move onto D3. And the misconceptions about D1 that you've pointed out
> in the past probably just help contribute to the idea that we'll have a D3 at
> some point. Maybe we will, maybe we won't, but there's no point in worrying
> about it for years yet.
>
> - Jonathan M Davis

People has been talking about D3 for quite a while. Have a look at:

http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel

Search for "Known to be deferred to D3.0". The features listed there were talked about before D2.

-- 
/Jacob Carlborg
May 04, 2012
On Friday, May 04, 2012 09:38:24 Jacob Carlborg wrote:
> On 2012-05-03 22:36, Jonathan M Davis wrote:
> > On Thursday, May 03, 2012 15:30:40 Don Clugston wrote:
> >> What is this D3 thing ????
> >> As far as I can tell, 'D3' was invented by newcomers to the forums.
> > 
> > I think that what it comes down to is that there are a variety of people who want features added or changed in D which are either not going to happen anytime soon or will never happen in D2 (especially if they're major breaking changes). So, they figure/hope that we'll have a new revision of the language where we'll be able to make breaking changes and then maybe the changes that they want will make it in then. After all, particularly from the perspective of a newbie, we already had D2 which changed a bunch of stuff from D1, why wouldn't we have D3 later on? And for folks who really want to see changes that aren't going to happen, the idea that we're going to have another major revision of the language which might make the changes that they want sounds really appealing.
> > 
> > I think that Walter and Andrei have made it fairly clear when they've said anything on the subject that there is no intention to make any kind of D3 anytime soon and that if we do, it'll be years from now after D2 is mature and well-established, and it actually makes sense to do a new major revision. But I do think that you're right in that the very idea of a D3 was created by folks in the newsgroup. Walter and the other developers have been focusing on stabilizing D2 as _the_ version of the language, not finishing it up so that they can move onto D3. And the misconceptions about D1 that you've pointed out in the past probably just help contribute to the idea that we'll have a D3 at some point. Maybe we will, maybe we won't, but there's no point in worrying about it for years yet.
> > 
> > - Jonathan M Davis
> 
> People has been talking about D3 for quite a while. Have a look at:
> 
> http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel
> 
> Search for "Known to be deferred to D3.0". The features listed there were talked about before D2.

Oh. I know that they've been talking about it for a while, but as far as I can tell, the term has gotten used primarily due to people who don't like the fact that D2 is doing something a particular way or isn't doing something a particular way and who hope that there will be a future version of the language which does it the way that they want. Certainly, it's not something which Walter has pushed at all (the opposite, if anything).

- Jonathan M Davis
May 06, 2012
Le 04/05/2012 02:03, Sean Kelly a écrit :
> On May 3, 2012, at 2:16 PM, deadalnix<deadalnix@gmail.com>  wrote:
>
>> Le 03/05/2012 22:43, Sean Kelly a écrit :
>>> On May 3, 2012, at 1:11 PM, Don wrote:
>>>
>>>> On 03.05.2012 21:08, Sean Kelly wrote:
>>>>> On May 3, 2012, at 8:13 AM, Don Clugston wrote:
>>>>>
>>>>>> On 03/05/12 16:13, Andrei Alexandrescu wrote:
>>>>>>>
>>>>>>>
>>>>>>> Good ones. In fact I even discounted them from this discussion because
>>>>>>> I'd already considered them gone. Walter agreed that I don't mention
>>>>>>> them in TDPL, with the intent to have them peter out.
>>>>>>>
>>>>>>> One good step right now would be to remove NCEG operators from the
>>>>>>> online documentation. Later on, we'll consider them an accept-invalid
>>>>>>> bug :o).
>>>>>>
>>>>>> Well, they are also used in druntime, in core.stdc.math
>>>>>>
>>>>>> BTW I *hate* that module, I don't know why it exists. Even worse, it seems to be growing -- people are adding more things to it.
>>>>>> Practically everything in there has a better implementation in std.math.
>>>>>
>>>>> core.stdc.math corresponds to C99's math.h and is there as a part of the standard C interface.  It should only contain the required C99 prototypes, and in some cases functions if the C implementation is a macro.  If there is anything nonstandard in there, I'm not aware of it.
>>>>
>>>> Yes, but why do we have it? We're not C.
>>>
>>> Mostly because it was handy to fall back on the C API before Phobos was so well fleshed-out.  Today, I think it mostly exists to ease porting of C apps.
>>
>> So they probably belongs to deimos.
>
> Except that they're used by druntime, both explicitly and publicly imported by core.sys.posix.

I may scare people here, but as Deimos is only declaration, I see no problem to use a deimos header in druntime.