March 11, 2014
On Tuesday, 11 March 2014 at 18:42:23 UTC, Steve Teale wrote:
> On Tuesday, 11 March 2014 at 18:35:57 UTC, Dicebot wrote:
>> On Tuesday, 11 March 2014 at 18:29:35 UTC, Steve Teale wrote:
>>> On Tuesday, 11 March 2014 at 18:14:52 UTC, Steven Schveighoffer wrote:
>>>> On Tue, 11 Mar 2014 13:47:55 -0400, Steve Teale
>>>
>>> Functions final by default? I read the list of changes for 2.065, and that one got by me completely.
>>>
>>> Aargh!
>>
>> Not in 2.065
>> 2.066  will introduce "virtual" keyword
>> 2.067+ will change the defaults if it will still be considered good idea
>
> Well if we're going there, we should go the whole hog and have final, direct, and virtual. It's a system programming language, so you should be able to walk down the street naked as long as you are prepared to put up with the consequences.
>
> Steve

It sounds like what you are wanting is explicit project management.

Possibly D could use a little work in that direction? Something like MS Project or a free alternative available to all(read only or git based with pulls).

If it could be integrated with git then it would truly be powerful with pull requests, bounties, etc all showing up. Anyone could open it and see the current state, blocking issues, etc.

Since Project can find the best "course of action" it would at least be efficient but might take quite a bit of work setting up.

With such project management anyone could load up and see the current state, which I think would make D's direction quite a bit more concrete for people.

March 11, 2014
I'd like to point out that Walter and Andrei can't do it all themselves. It takes a team and part of pulling it off is well defined goals and job descriptions with devoted people.
March 11, 2014
On Tuesday, 11 March 2014 at 18:54:37 UTC, Indica wrote:
> It sounds like what you are wanting is explicit project management.
>
> Possibly D could use a little work in that direction? Something like MS Project or a free alternative available to all(read only or git based with pulls).

There is no point in project management with no team to manage. As far as I understand there is no structured collaboration inside D core team and no strict responsibilities, just group of people working on what they consider important and sometimes communicating to figure out corner cases. At least this is what I see judging by GitHub / NG activity.
March 11, 2014
On Tuesday, 11 March 2014 at 17:47:56 UTC, Steve Teale wrote:
> What D needs at this point is a dictator. There are about 30 pages of discussion about Walter's std.array.front post, and Steve S's counter post.
>
> It reminds me of the way it was maybe 4 years ago, when there was so much bickering that I just gave up for some time, and went away. Who is going to go through all that stuff, and winnow a compromise out of it. Everyone has a job, or some vital preoccupation with their own project.
>
> The buck has to stop somewhere - is it Walter, or Andrei, or can any proposal or comment be stalled by sheer weight of contrary views?
>
> This is probably a management issue, not a technical one. Trouble is there's no manager, and even if their was, he'd have no minions.
>
> What to do?
>
> Steve

It already works that way. Only thing is not obvious is actual decision point as it is rarely announced. And as any such topic is inherently controversial, making decision that satisfies everyone is rarely possible and debates often continue even after decision point.

To be honest I think real problem is directly the opposite - decision process is too vague and limited by the bottleneck of Andrei & Walter participation. Making it more distributed and formalized can help - and this is more of a technical/tooling issue.
March 11, 2014
On 3/11/14, 11:24 AM, Daniel Kozák wrote:
> Steven Schveighoffer píše v Út 11. 03. 2014 v 14:14 -0400:
>
>> Consider how long Walter resisted the call to make functions final by
>> default, until he suddenly switched sides. I think of it like a
>> dictatorship with 1000 advisors. And no death squads :)
>
> What is the current status of this?

I am opposed to making functions final by default.

Andrei

March 11, 2014
On Tuesday, 11 March 2014 at 20:16:50 UTC, Andrei Alexandrescu wrote:
> On 3/11/14, 11:24 AM, Daniel Kozák wrote:
>> Steven Schveighoffer píše v Út 11. 03. 2014 v 14:14 -0400:
>>
>>> Consider how long Walter resisted the call to make functions final by
>>> default, until he suddenly switched sides. I think of it like a
>>> dictatorship with 1000 advisors. And no death squads :)
>>
>> What is the current status of this?
>
> I am opposed to making functions final by default.

Because of the breakage, or because you think virtual-by-default makes more sense?
March 11, 2014
On 3/11/14, 1:18 PM, Vladimir Panteleev wrote:
> On Tuesday, 11 March 2014 at 20:16:50 UTC, Andrei Alexandrescu wrote:
>> On 3/11/14, 11:24 AM, Daniel Kozák wrote:
>>> Steven Schveighoffer píše v Út 11. 03. 2014 v 14:14 -0400:
>>>
>>>> Consider how long Walter resisted the call to make functions final by
>>>> default, until he suddenly switched sides. I think of it like a
>>>> dictatorship with 1000 advisors. And no death squads :)
>>>
>>> What is the current status of this?
>>
>> I am opposed to making functions final by default.
>
> Because of the breakage, or because you think virtual-by-default makes
> more sense?

A combination of both. The change would break a lot of code and it seems to me final vs. virtual by default is a judgment call more than an obvious decision in favor of final. That said, if I'd do things over again I'd advocate final by default. But we're not doing things over again.

Andrei

March 11, 2014
On 3/11/2014 10:47 AM, Steve Teale wrote:
> What D needs at this point is a dictator.


http://www.youtube.com/watch?v=poDaTeyqIm4
March 11, 2014
On Tuesday, 11 March 2014 at 19:27:40 UTC, Dicebot wrote:
> It already works that way. Only thing is not obvious is actual decision point as it is rarely announced. And as any such topic is inherently controversial, making decision that satisfies everyone is rarely possible and debates often continue even after decision point.
>
> To be honest I think real problem is directly the opposite - decision process is too vague and limited by the bottleneck of Andrei & Walter participation. Making it more distributed and formalized can help - and this is more of a technical/tooling issue.

I tend to agree with you. Someone once pointed out that we should set goals for release. Hence, Walter said we should emphasize on ICE for 2.064, and from what I know it turned out to be a good idea.
AFAIK no such thing was done for 2.065, neither for DMD or Phobos (or I missed it).

For example, you can see that the stream API is quite old and needs replacement:
http://dlang.org/library/index.html

However, I didn't see anything related to the deprecation, the why and what's needed, neither in the bugzilla (searched both 'stream' and 'std.stream') nor in the DIPs.
March 11, 2014
On Tuesday, 11 March 2014 at 20:23:59 UTC, Andrei Alexandrescu wrote:
> On 3/11/14, 1:18 PM, Vladimir Panteleev wrote:
>> On Tuesday, 11 March 2014 at 20:16:50 UTC, Andrei Alexandrescu wrote:
>>> On 3/11/14, 11:24 AM, Daniel Kozák wrote:
>>>> Steven Schveighoffer píše v Út 11. 03. 2014 v 14:14 -0400:
>>>>
>>>>> Consider how long Walter resisted the call to make functions final by
>>>>> default, until he suddenly switched sides. I think of it like a
>>>>> dictatorship with 1000 advisors. And no death squads :)
>>>>
>>>> What is the current status of this?
>>>
>>> I am opposed to making functions final by default.
>>
>> Because of the breakage, or because you think virtual-by-default makes
>> more sense?
>
> A combination of both. The change would break a lot of code and it seems to me final vs. virtual by default is a judgment call more than an obvious decision in favor of final. That said, if I'd do things over again I'd advocate final by default. But we're not doing things over again.
>
> Andrei

You do support the introduction of the virtual keyword though, yes?