On Sunday, 11 March 2018 at 07:59:53 UTC, rumbu wrote:
Because, even the language creators seem to not recognize this,
D looks like C# with *native compilation*, the syntax is 95%
identical. Basically, if my source code doesn't use any .NET
framework function, it will compile successfully with dmd
without any (major) change.
Most people do not have issues with the core language of D. You
can come from any of the above mentioned languages ( like C, C++,
Rust, PHP, Python, Nim, ... ) and get going with D. That is what
attracted me in the first place. The language looks good but the
moment you actually start using D its issue after issue.
With the usual response here: "Why do you not fix it yourself or
pay for it". Maybe because most people who come want to use the
tools and be productive and not spend their time fixing up those
tools.
Its a mentality issue that some do not get here. In order to grow
you need consumers for your product. If you force or whine to
them to fix the issues, they leave. When they leave you lose
potential growth. That loss in growth means losing potential
members that can fix and want to fix the issues.
One can call it selfish but every language is based upon this
principle. No growth and community of lots of selfish users means
no other members to fix the issues. It is the 9 Circles of Hell.
I suppose that every C# programmer is enthusiastic on the first
contact with the D language, but fails to keep his enthusiasm
when he sees Phobos. C# programmer's mind is locked in the OOP
world and Phobos looks like a mess from his point of view.
+1!
It has the language mostly right but its everything around it
that is simply a mess. When one compares that to Rust. They are
not having constant discussion about replacing cargo ( as dub in
D has issues ). They do not need to have multiple documentation
generators. The cross platform is simple and fast. Same applies
to Go. And C# ... Resources simple are more focused and enhance
the whole platform as such. D is like a children sandbox where
everybody is playing with their own toys. So when other complain
about the mess of the playground, the responds by some is just as
typical.
The problem is that D stagnates and in the same time C# evolves.
I am sure that lots of D members will be quick to point out, that
C# is run by a commercial company and D has only open source
contributors. Now why did you not contribute! /sarcasm
Sometimes I feel like the C# language team is using D as
inspiration for the new features, starting with C# 7.0, a lot
of D concepts were introduced in the language: local functions,
'_' as digit separator, binary literals, ref returns, tuples,
templates, immutability. Guess what the next version of C# has
on the table: slices.
Yep ... Things are moving faster in the .net camp thanks to the
focus on .net Core and the RyuJit.
Here is a fun one, with Blazer now being part of the official
.net.
https://github.com/aspnet/blazor
Blazer = C# code runable in the browser using WebAssembly.
In the same time, D delegates new features (and sometime
existing ones) to library implementation, instead of assume
them in the language syntax.
My opinion is that the day when C# will compile to native (on
any platform), the C# developer interest in D will drop
instantly.
Personally i am waiting to see CoreRT finalized:
https://github.com/dotnet/corert
-> CppCodeGen/C++
-> RyuJIT codegen
-> Webasm
Its already working and getting better by the day.
Other languages are moving forwards at blazing speeds and D seems
to put it priorities on adding new exiting features. Where as a
large part of the outcry is the issues with the library, lacking
editors support, cross platform issues, ...