March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | Andrei Alexandrescu:
> I am opposed to making functions final by default.
Walter has agreed to make functions final by default. And this now compiles:
class Foo {
virtual void bar() {}
}
void main() {}
I think it's a change for the better. Are we changing direction again? Do you want to remove the virtual keyword again? I am confused.
Bye,
bearophile
|
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mathias LANG | Mathias LANG:
> 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.
Please add it to bugzilla.
Bye,
bearophile
|
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steve Teale | 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 I think the only thing lacking—and some people already alluded to this—is a formalized DIP process that results in acceptance or rejection. The DIPs are kind of becoming an idea graveyard. The long community discussions are just a sign of a health community trying to address hard problems with no clear right or wrong answer. I'm happy with the leadership roles D has. They tend to only step in on serious matters, not little disagreements over design decisions that don't affect the big picture. A much more heavy handed approach would probably alienate the community. http://wiki.dlang.org/DIPs |
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Colvin | On 3/11/14, 1:45 PM, John Colvin wrote:
> 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?
If explained a good use case, I would.
Andrei
|
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | 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
What ???
|
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | Dicebot:
> Not in 2.065
> 2.066 will introduce "virtual" keyword
> 2.067+ will change the defaults if it will still be considered good idea
What's the point of having "virtual" if the default doesn't change?
Bye,
bearophile
|
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On 2014-03-11 21:16:28 +0000, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> said: > On 3/11/14, 1:45 PM, John Colvin wrote: >> You do support the introduction of the virtual keyword though, yes? > > If explained a good use case, I would. class Foo { final: void bar(); void baz(); virtual: void crack(); void crunch(); final: void dodge(); void damp(); virtual void divert(); void doh(); } -- Michel Fortin michel.fortin@michelf.ca http://michelf.ca |
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Tuesday, 11 March 2014 at 21:24:22 UTC, bearophile wrote:
> Dicebot:
>
>> Not in 2.065
>> 2.066 will introduce "virtual" keyword
>> 2.067+ will change the defaults if it will still be considered good idea
>
> What's the point of having "virtual" if the default doesn't change?
>
> Bye,
> bearophile
frequently mentioned example:
class Something
{
final: // want all to be final by default
// ...
virtual void foo() {} // but this one function
}
I think just keeping "virtual" but not changing defaults is a good practical compromise.
|
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | On Tuesday, 11 March 2014 at 21:29:00 UTC, Dicebot wrote:
> final: // want all to be final by default
>
> // ...
>
> virtual void foo() {} // but this one function
Doesn't this make room for undetected bugs?
Generally the syntax should have enough redundancy to prevent a single typo (missing ":") from completely changing the semantics.
Ola.
|
March 11, 2014 Re: Broken? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | 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
Have a link to where that was decided? I was under the impression that virtual was accepted as a compromise so people could just stick "final:" at the top of their classes have have something acceptably close to final-by-default. I can't remember if I actually managed to keep up with that behemoth of a thread though.
|
Copyright © 1999-2021 by the D Language Foundation