Moving back to .NET

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 30 05:21:08 PDT 2015


On Tuesday, 29 September 2015 at 17:33:04 UTC, Chris wrote:
> This is not my impression. Even "geeks" don't touch D (I know 
> this from personal experience), even when there's no risk 
> involved, e.g. when writing a small internal tool. As soon as 
> they hear they have to learn about ranges and map!(a => 
> to!string(a)) and the like, they lose interest. Fear or plain 
> laziness ("couldn't be ar*sed"), one of the two. "I certainly 
> won't learn D" is a comment I've heard myself.

But that does what is happening here, when people who have 
invested time in D complain. Also generators, iterators and 
functional style programming (D ranges) is something many 
languages provide one way or the other. In my experience that is 
of limited use and more often than not explicit loops are more 
transparent and maintainable. Although if a language offers 
comprehensions I use those.

And yes, I know what Phobos offers and how people who publish 
Phobos-centric code write their D code. There is nothing 
particularly surprising about Phobos.

>> Projecting "fear" onto professional decision making is just a 
>> way to make excuses for D's shortcomings.
>
> The shortcomings D has wouldn't even interest the majority of 
> those who reject D. They wouldn't get deep enough in their 
> daily tasks to find out.

Then we perceive reality quite differently. What I see is that 
people do try D, like qualities like syntactical familiarity and 
flexibility and then get disappointed. So basically people play 
with D, realize it is not where they expect it to be at, leave, 
then some time later they download D again, same shortcomings, 
leave... etc. Then at some point they share their frustration.

> You've said it again. Java's design is orthodox, so IBM 
> embraced it. Again, people prefer simple set menus, rules and 
> strict guidelines. It's more of a psychological thing than 
> objective risk aversion.

D isn't particularly novel either, lots of Simula67/C++ 
influence, so I don't really see how this works. IBM did it for 
competitive reasons.

> One example that come immediately to mind is data processing in 
> Python. A lot of it is parsing and counting which is much 
> faster and often easier to do in D/Phobos.

D can work as a replacement solution for parts of Python's 
domain. IMO Python "replaced/complemented" 
sed/awk/perl/bash/php/etc, so that would be a rather small 
portion of Python usage. And that is the primary reason for 
Python's adoption, I think, it replaced not a single tool, but 
people got to use one tool instead of multiple tools.

> I think it is. It took me a while to realize this. Why is there 
> this passionate hostility towards D? I don't go to a Go or Rust 
> forum to tell them that I don't like this or that feature and 
> that it's all crap. I've decided they're not the right tools 
> for what I need and that's it.

Ok, but this is actual D users complaining, not Go and Rust users.

The reason is much more likely that the expectations are set at a 
level where D does not deliver. If you want a production 
environment to be judged favourably it is a good idea to set the 
expectations one notch below what you deliver. There is a bit too 
much hubris in how D is portrayed and therefore you get a 
backlash, from actual D users.

People also complain in Go fora, and certainly in C++ fora (lots 
of sulking over accumulated syntax bloat), but with Go they know 
that the language is set in stone because the language designers 
are very clear in their communication. So the complaints is more 
along the lines of "Go is kinda boring, but I can use it for XYZ, 
then use other languages for W".

In Rust the moderation is quite harsh and the language is also 
too new for users to "give up" on it.



More information about the Digitalmars-d mailing list