December 13, 2011
Walter Bright Wrote:

> On 12/13/2011 12:52 PM, Jacob Carlborg wrote:
> > On 2011-12-13 19:55, Walter Bright wrote:
> >> On 12/13/2011 9:47 AM, Jacob Carlborg wrote:
> >>> If I recall correctly Walter has said he will continue to support D1
> >>> as long as
> >>> there are users.
> >>
> >> Yes, I did say that. For some time now, I've been releasing D1 betas and have not received any response to them. I haven't noticed new bug reports for D1. I haven't seen posts here about D1. I announced the D1 1.072 release a few days ago, and there wasn't a single comment on it.
> >
> > Yeah, I noticed that. I'm still using D1. I usually don't have time to try all beta versions or releases for that matter. Your making solid improvements in every release and I'm grateful for that. I apologize if I haven't shown any gratitude.
> 
> 
> It's not really about gratitude, but just letting me know that there's a point to doing those releases.

<broken_record>
<suggestion>
 Forum, registered users, pool/email pool = feedback :)
</suggestion>
</broken_record>
December 13, 2011
Vladimir Panteleev:

> I think that D2 is more usable than D1 right now due to higher expressiveness and new language features catching more bugs before I have to waste any time hunting them.

If Walter (and others like Kenji Hara) are game, more is doable about that :-)

And I'd like to quantify how many (or how often) bugs those already present features are able to avoid.

Bye,
bearophile
December 13, 2011
On 12/13/11 2:47 PM, torhu wrote:
> I've got one D1 spare time project that I'm still maintaining. Zero D2
> projects, as I tried it and then decided to wait until it has had more
> time to mature.
>
> I'm still using DMD 1.061, since there are very few remaining serious
> compiler bugs. The compiler has gotten pretty good, so the incentive to
> upgrade is not very strong. And I rarely need to ask questions about D1,
> since I've been using it for 5 years now.

The important question here is, what is the future of D1? In Walter's and my opinion, D1 is a nice language but simply does not have enough horsepower to compete successfully against either today's established languages or their other contenders. D1's modeling power is insufficient (e.g. can't define value types). Its view of concurrency and parallelism is at best naive, and in any case incomparably inferior to C++11 or Java. Although D1 offers lambdas, they are slow unless special compilation techniques are used (which tend to fall apart on only moderately complex code). Finally, there's no notion of immutability, which hurts all of modularity, modeling power, concurrency, and functional style.

It's difficult to work on something you don't believe in. Yes, we could keep D1 on artificial life support until we retire, but to what end?

The story with D2 is entirely different. D2 has very lofty goals, and most of its past and current implementation insufficiencies are due to that. But D2 has legs; non-PL people often confuse what we know are transitory issues with fatal language design flaws. D2 does have a few design flaws (every language does) but none is major, and most importantly, it has a lot going for it: generic and generative abilities that beat the pants off all other languages; an innovative concurrency model; and nicely integration across several paradigms. That's a lot of muscle on a relatively small frame. (Yeah, "too many notes.")

> I have a feeling new users mostly go for D2, only to discover that it's
> not ready for prime time. Then they just leave, instead of checking out
> D1. Of course, I'm just guessing.

At this point what we need is to make D2 ready for prime time, not invite people to our B-list offer.


Andrei
December 13, 2011
On 12/13/11 3:00 PM, Jacob Carlborg wrote:
> On 2011-12-13 20:24, Vladimir Panteleev wrote:
>> On Tuesday, 13 December 2011 at 17:47:30 UTC, Jacob Carlborg wrote:
>>> If I recall correctly Walter has said he will continue to support D1
>>> as long as there are users.
>>
>> Will you really be still using D1 one year from now? Even then, why
>> would you need official ongoing support from DigitalMars so much?
>
> Well, I don't know. I don't think D2/Phobos is usable in its current state.

I think you're exaggerating a bit. At any rate, we sure know what to do to improve on that.

>> For some perspective: the move to GitHub was less than one year ago. I
>> was actually surprised of this when I revisited D's history recently,
>> since it felt like a lot longer. The relative amount of progress done in
>> this year alone is staggering.
>>
>>> Apparently not, when Andrei really wants something he just decides
>> without consulting the community.
>>
>> Sorry, but demanding that others spend their time to serve a minority
>> when that time could be better spent to serve a majority seems rather
>> selfish to me.
>
> I think it's selfish to decide for the hole community.

Well the word "selfish" is not appropriate here because the decision does not bring me any benefit. Perhaps you meant "arrogant" or "conceited".

I understand how you might see things that way, but please trust me on this one. It is the right thing do do, and the short-term difficulty will be greatly rewarded in the long run.


Thanks,

Andrei
December 14, 2011
On Tuesday, December 13, 2011 11:53:07 Walter Bright wrote:
> On 12/13/2011 11:32 AM, Jesse Phillips wrote:
> > Doesn't this just mean happy users? Which actually is still in support of the choice.
> 
> My experience is that no feedback == no users.

Happy users generally aren't going to say much. Unhappy users are much more likely to say stuff. It's quite possible to have fairly low feedback (or in the extreme, no feedback) if a product is solid enough, but in general, the more users that you have, the more likely it is that some of them will be unhappy, which will ultimately result in feedback. So I'd say that no feedback doesn't necessarily mean no users, but it does tend to be indicative of a low number of users.

- Jonathan M Davis
December 14, 2011
On 13.12.2011 17:00, Andrei Alexandrescu wrote:
> On 12/13/11 7:52 AM, Don wrote:
>> On 10.12.2011 22:19, Andrei Alexandrescu wrote:
>>> In order to increase focus and unity in the language, we are
>>> discontinuing support for D1 on December 31, 2012. That's more than one
>>> year away, which gives enough time to D1 users to migrate libraries and
>>> applications to D2.
>>
>> I thought we had moved away from these kinds of unilateral decisions.
>> I strongly oppose this decision. In particlar, I find the lack of
>> community consulatation deplorable.
>
> Apologies for this being so sudden. This was deliberate as there would
> have been no way to achieve consensus in the matter. People prefer
> having choices and postponement options, and are generous with others'
> time.
>
> Allow me to recap the reasons why I think this is a necessary move.
>
> 1. We can't serve two masters. Working on two languages at the same time
> was non-committal and artificially sustained a rift in the community.

The rift was created and sustained by unilateral statements like this one. Abandoning half the community doesn't help.

> It also diffused our focus, delayed us to an ever-increasing extent,

What on earth gives you that idea? The only resources involved are some fraction of Walter's time, which is obviously an important resource, but nobody other than Walter is affected. You're seriously misrepresenting the situation.

I spend some time on fixing D1 bugs, but that won't change, see below.

> and
> sent the wrong message out that we're lacking confidence of what our
> core thrust is, so we're trying to sort of please everyone. ("Here's our
> flagship language! If you don't like it, well, we have another one.")

This is a silly and offensive statement. Most languages are in this situation. Look at Python2 vs Python3, Perl6 vs Perl5.

> 2. The deadline is more than a year away. This is a long time, enough
> for us to make D2 compelling, and also for interested people to migrate.

No, it's an exceedingly short timeframe. What gives you the idea that nobody is using D1? Have you thought about what would convince them to switch to D2, and what would be required for them to do it?

I suspect you don't know much about the D1 community. (Note that only a small fraction of D users have ever used the newsgroup, and it's mostly people with an interest in language design. They are not representative).

I can already say with certainty that I will still be using D1 in 2013.
December 14, 2011
On 12/13/11 10:12 PM, Don wrote:
> On 13.12.2011 17:00, Andrei Alexandrescu wrote:
>> On 12/13/11 7:52 AM, Don wrote:
>>> On 10.12.2011 22:19, Andrei Alexandrescu wrote:
>>>> In order to increase focus and unity in the language, we are
>>>> discontinuing support for D1 on December 31, 2012. That's more than one
>>>> year away, which gives enough time to D1 users to migrate libraries and
>>>> applications to D2.
>>>
>>> I thought we had moved away from these kinds of unilateral decisions.
>>> I strongly oppose this decision. In particlar, I find the lack of
>>> community consulatation deplorable.
>>
>> Apologies for this being so sudden. This was deliberate as there would
>> have been no way to achieve consensus in the matter. People prefer
>> having choices and postponement options, and are generous with others'
>> time.
>>
>> Allow me to recap the reasons why I think this is a necessary move.
>>
>> 1. We can't serve two masters. Working on two languages at the same time
>> was non-committal and artificially sustained a rift in the community.
>
> The rift was created and sustained by unilateral statements like this
> one. Abandoning half the community doesn't help.

There is no abandonment. Also, where is that 50/50 estimate from? Just curious.

>> It also diffused our focus, delayed us to an ever-increasing extent,
>
> What on earth gives you that idea? The only resources involved are some
> fraction of Walter's time, which is obviously an important resource, but
> nobody other than Walter is affected.

Walter told me so, and Walter is the single most important bottleneck.

> You're seriously misrepresenting
> the situation.

What is an accurate representation of the situation, and what evidence is there to back that up?

> I spend some time on fixing D1 bugs, but that won't change, see below.
>
>> and
>> sent the wrong message out that we're lacking confidence of what our
>> core thrust is, so we're trying to sort of please everyone. ("Here's our
>> flagship language! If you don't like it, well, we have another one.")
>
> This is a silly and offensive statement. Most languages are in this
> situation. Look at Python2 vs Python3, Perl6 vs Perl5.

I wonder who would be offended by that.

>> 2. The deadline is more than a year away. This is a long time, enough
>> for us to make D2 compelling, and also for interested people to migrate.
>
> No, it's an exceedingly short timeframe.

Other vendors give similar time scale for much larger migrations.

> What gives you the idea that
> nobody is using D1?

There is not one sentence in my message claiming nobody is using D1. Don, it is you who is misrepresenting the situation, and repeatedly. I understand you find this frustrating, but please, let's have a constructive dialog.

> Have you thought about what would convince them to
> switch to D2, and what would be required for them to do it?

I think the most important aspect for them would be completion of Tango's port to D2. The recent progress in the matter is encouraging. If the D1 community is sizable, resourceful, and interested, I believe that to be within the realm of possibility.

> I suspect you don't know much about the D1 community. (Note that only a
> small fraction of D users have ever used the newsgroup, and it's mostly
> people with an interest in language design. They are not representative).
>
> I can already say with certainty that I will still be using D1 in 2013.

That's great. The decision does not make it impossible or even particularly difficult for D1 users to continue using D1. Since there were near zero bug reports on D1, they can be assumed to be content with the quality of the compiler. Really I don't see the gist of the complaint. This is not abandonment.


Thanks,

Andrei
December 14, 2011
On 2011-12-13 20:54, Andrei Alexandrescu wrote:
> On 12/13/11 10:11 AM, Jacob Carlborg wrote:
>> On 2011-12-13 14:09, Mike James wrote:
>>> "Jacob Carlborg" <doob@me.com> wrote in message
>>> news:jc785g$1hpa$2@digitalmars.com...
>>>> On 2011-12-13 07:26, Jesse Phillips wrote:
>>>>> On Sun, 11 Dec 2011 22:57:02 +0000, Jesse Phillips wrote:
>>>>>
>>>>>> I haven't used D1 for a long time so I can't claim a bad choice here.
>>>>>
>>>>> Actually I think I can state an opinion here. The two things that
>>>>> stand
>>>>> out in my mind are.
>>>>>
>>>>> * There has been a statement of supporting D1 while it is in use
>>>>> (or at
>>>>> least has a decent number of users). Maybe there aren't any, I don't
>>>>> see
>>>>> replies claiming such.
>>>>
>>>> I'm still using D1.
>>>>
>>>
>>> That'll be one then :-)
>>
>> Yeah, because Andrei has managed to drive away all those who use D1
>> because of decisions like the one above and without asking the community.
>
> Apologies for that. Please let Walter and me know what we can do to make
> migration easier.

I think these decisions shouldn't be made without at least mentioned them to the community before they're made. In this case I had hope that D2 and Phobos would be in a more usable and stable state then it currently is.

-- 
/Jacob Carlborg
December 14, 2011
On 2011-12-13 21:40, Walter Bright wrote:
> On 12/13/2011 12:34 PM, Jacob Carlborg wrote:
>> I agree, just take a look at C++ libraries. Many of the implement
>> their own
>> string and vector classes even though it's available in the standard
>> library.
>
>
> Look no further than Array in the dmd sources :-)

That always made me wonder. Is that an array just used internally by DMD or something related to D arrays, or both?

-- 
/Jacob Carlborg
December 14, 2011
On 2011-12-13 21:47, torhu wrote:
> On 13.12.2011 08:35, Walter Bright wrote:
>> On 12/12/2011 10:26 PM, Jesse Phillips wrote:
>>> On Sun, 11 Dec 2011 22:57:02 +0000, Jesse Phillips wrote:
>>>
>>>> I haven't used D1 for a long time so I can't claim a bad choice here.
>>>
>>> Actually I think I can state an opinion here. The two things that stand
>>> out in my mind are.
>>>
>>> * There has been a statement of supporting D1 while it is in use (or at
>>> least has a decent number of users). Maybe there aren't any, I don't see
>>> replies claiming such.
>>
>> There don't seem to be many anymore.
>
> I've got one D1 spare time project that I'm still maintaining. Zero D2
> projects, as I tried it and then decided to wait until it has had more
> time to mature.
>
> I'm still using DMD 1.061, since there are very few remaining serious
> compiler bugs. The compiler has gotten pretty good, so the incentive to
> upgrade is not very strong. And I rarely need to ask questions about D1,
> since I've been using it for 5 years now.

It's the same for me. But when I do ask questions everyone is surprised that I use D1.

-- 
/Jacob Carlborg