March 07, 2008
On 07/03/2008, Bill Baxter <dnewsgroup@billbaxter.com> wrote:
>  how many people do you think do use D overall?

It's not in my nature to form opinions in the absence of data.
March 07, 2008
Janice Caron wrote:
> On 07/03/2008, Bill Baxter <dnewsgroup@billbaxter.com> wrote:
>>  how many people do you think do use D overall?
> 
> It's not in my nature to form opinions in the absence of data.

Fair enough.  But there is various data.  Number of websites about D, number of posters here on the NG.  Number of people on IRC.  Number of google hits for "D programming language", number of pins in the D frappr map.  Etc.

--bb
March 07, 2008
Sean Kelly wrote:
> but at the moment I'm
> barred from D2 by the const features,

What exactly is barring you?
March 07, 2008

> On 07/03/2008, Bill Baxter <dnewsgroup@billbaxter.com> wrote:
>>  how many people do you think do use D overall?
>
> It's not in my nature to form opinions in the absence of data.

Absence of data?
It would be kind of strange to have no data at all.
I at the very least know that I know nobody around me who uses D and plenty
who use other languages.
Its not like there are hard fact (in general, but that too much phil) about
the exact user count of any proramming language.
Then there is tiobe and we know about a few books / conferences.
And in addition to this I have a guess from bb.

My guess from all this data would be that 1000 is too low.



March 07, 2008
> Sean Kelly wrote:
>> but at the moment I'm
>> barred from D2 by the const features,
>
> What exactly is barring you?

Good question, because people (who I think know more about D than me) saying this is barring me.


March 07, 2008
== Quote from Walter Bright (newshound1@digitalmars.com)'s article
> Bill Baxter wrote:
> >
> > Yes, they believe they need it.  Sure.  But I doubt many of them have done any sort of analysis of how much it actually helps vs. how much it complicates their code base.  I say this as someone who was totally sold on C++ const for the first 10 years I used it.
> C++ const is not too useful anyway, as it is not transitive and not invariant. It's more of a convention.

I can't speak for anyone else, but my issue with C++ const had nothing to do with its reliability. (which I felt was fine) but more to do with its impact on the semantics of the language, and more importantly, on the maintainability of C++ code.  Personally, I found C++ const to be more of an obstacle to maintainability than an aid.  This was for two reasons:

* The const features were applied inconsistently in the codebase, so changes sometimes required const qualifiers to be reworked or new unrelated const methods to be added to suit the situation.

* C++ requires duplicate const and non-const member functions in many cases to switch on return value, etc.  And duplicate code is never a good thing.

I suspect that transitive const in D will largely answer the first point however, and I remember there being some talk of adaptable return types to handle the second point.  I'm not clear on how the latter bit works though, and I think it's still yet to be implemented, correct?


Sean
March 07, 2008
Bill Baxter wrote:
> Currently as we all know, D1 gets no new features, and D2 is a crazy rocketship that could change direction at any moment.
> 
> Now I know a lot of people were asking for D to become more stable pre D1 days, but is this really what you wanted?
> 
> I had initially assumed that the freeze on D1 was at least as much due to time constraints on Walter as it was due to a desire for stability. But in a recent message Walter said that wasn't the case.  He said that backporting things from D2 to D1 was pretty trivial.
> 
> So really then, it to comes down to Walter believing that the D community wants D1 to be feature frozen.
> 
> Is it really true?  Is there a group of folks who really want D1 to be frozen?
> 
> I myself would like to see D1 get all new features that won't break existing source code.
> 
> Things like:
> * New string literals
>   - q{a=b} D-token string syntax,
>   - delimited strings, q"(...)"
>   - heredocs, q"EOF...
> * IFTI that works even if you specify one parameter,
> * Enhanced is expression
>   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
>   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
> * foreach(i; 0..10) syntax (ForeachRangeLiteral)
> * Overload sets
> 
> 
> I'm all with the sentiment that D1 code that compiles today should compile tomorrow.  That kind of stability is great.  But if it's not a big time commitment for Walter (which he says it's not), I see no good reason to keep new backwards-compatible features out of D1.
> 
> I've heard other folks saying they want this from D1 too, but what I haven't heard is a great swell of active D developers saying that new features would be a detriment to their work.
> 
> --bb,
> (who has now written and/or ported about 200,000 lines of D according to a quick check with 'wc')

I want D1 to be frozen, yes.

~ Clay
March 07, 2008
== Quote from Walter Bright (newshound1@digitalmars.com)'s article
> Sean Kelly wrote:
> > but at the moment I'm
> > barred from D2 by the const features,
> What exactly is barring you?

The busywork required to adapt Tango to work with D2.  That being mostly the need to add "in" qualifiers to the proper function declarations in tango.stdc and below, as well as tango.sys.win32.  So I'm not really blocked by anything but my own laziness, I suppose.  It's a big job and I don't have the time for it at the moment.


Sean
March 07, 2008
Sean Kelly wrote:
> I suspect that transitive const in D will largely answer the first
> point however, and I remember there being some talk of adaptable
> return types to handle the second point.  I'm not clear on how the
> latter bit works though, and I think it's still yet to be
> implemented, correct?


The adaptable return types issue has not been properly addressed yet. It was deferred because it is an orthogonal issue to the main design.
March 07, 2008
Sean Kelly wrote:
> == Quote from Walter Bright (newshound1@digitalmars.com)'s article
>> Sean Kelly wrote:
>>> but at the moment I'm barred from D2 by the const features,
>> What exactly is barring you?
> 
> The busywork required to adapt Tango to work with D2.  That being
> mostly the need to add "in" qualifiers to the proper function
> declarations in tango.stdc and below, as well as tango.sys.win32.  So
> I'm not really blocked by anything but my own laziness, I suppose.
> It's a big job and I don't have the time for it at the moment.

Fair enough. I haven't myself gotten const put everywhere it should be in Phobos :)