Slow performance compared to C++, ideas?

David Nadlinger code at klickverbot.at
Mon Jun 3 10:06:53 PDT 2013


On Monday, 3 June 2013 at 16:25:24 UTC, Manu wrote:
> You won't break every single method, they already went through 
> that recently when override was made a requirement. […] A much
> smaller number than the breakage
> which was gladly accepted recently. […] how did the override
> change ever get accepted […]

It appears as if either you have a interesting definition of 
"recently", or you are deliberately misleading people by bringing 
up that point over and over again.

According to http://dlang.org/changelog.html, omitting "override" 
produced a warning since D 2.004, which was released back in 
September 2007! Granted, it was only actually turned from a 
deprecation warning into an actual deprecation in 2.061 (if my 
memory serves me right), but it's mostly a flaw in the handling 
of that particular deprecation that it stayed at the first level 
for so long. The actual language change was made – and 
user-visible – almost six (!) years ago, which is a lot on the D 
time scale.

You are also ignoring the fact that in contrast to requiring 
"override", there is no clean deprecation path for your proposal, 
at least as far as I can see: Omitting the keyword started out as 
a warning, and IIRC still is allowed when you enable deprecated 
features via the compiler switch. How would a similar process 
look for virtual-by-default? As far as am isolated module with 
only a base class is concerned, this is not question of valid vs. 
invalid code, but a silent change in language semantics.

 From DConf I know that you are actually are a friendly, 
reasonable person, but in this discussion, you really come across 
as a narrow-minded zealot to me. So, please, let's focus on 
finding an actually practical solution!

For example, if we had !pure/!nothrow/!final or something along 
the lines, just mandate that "final:" is put at the top of 
everything in your style guide (easily machine-enforceable too) – 
problem solved? And maybe it would even catch on in the whole D 
community and lead to a language change in D3 or a future 
iteration of the language.

David


More information about the Digitalmars-d mailing list