Why do C++ programmers are not interested in D?

Timon Gehr timon.gehr at gmx.ch
Sat Nov 23 22:08:52 UTC 2019


On 19.11.19 17:11, Steven Schveighoffer wrote:
> On 11/19/19 9:55 AM, Ola Fosheim Gr wrote:
>> On Tuesday, 19 November 2019 at 14:36:06 UTC, Ola Fosheim Grøstad wrote:
>>> Whoever stops evolving their metaprogramming features will fall behind.
>>
>> Btw, Go is also actively pursuing generics now:
>>
>> https://go-review.googlesource.com/c/go/+/187317/
>> https://blog.golang.org/why-generics
> 
> Interesting they use the term "generics", it looks very much like they 
> are putting in templates, which are vastly different from generics on 
> many languages.
> ...

They do the type checking modularly, but it indeed appears they are not 
aiming to support generic methods on interfaces, directly contradicting:

"In Go, we’ve aimed to reduce complexity through independent, orthogonal 
language features that can be combined freely. We reduce complexity by 
making the individual features simple, and we maximize the benefit of 
the features by permitting their free combination. We want to do the 
same with generics."

Also:

- "The contract simply says that T has to implement the String method. 
You may notice that this contract looks like the fmt.Stringer interface, 
so it's worth pointing out that the argument of the ToStrings function 
is not a slice of fmt.Stringer."

- "After all, in Go, only built-in types support operators."


> It also looks like the call syntax does not use angle brackets, but just 
> normal parentheses, a huge win for sure.
> 
> -Steve

It's another orthogonality violation. They don't support curried 
function definitions for other types of arguments.

(Of course, D is no more orthogonal, but it doesn't claim it as a core 
tenet.)


More information about the Digitalmars-d mailing list