On Sunday, 20 September 2015 at 17:32:53 UTC, Adam wrote:
My experiences with D recently have not been fun.
The language itself has a top notch feature rich set. The
implementation, excluding bugs, feels a bit boxy and old
school. .NET has a unified approach and everything seems to fit
together nicely and feels consistent. The abomination of dmd,
though, is it's error messages. Most of them are meaningless
and you have to dive down 2 or 3 levels of assumptions to
figure out what they mean. It's not too bad but because of the
poor tool set it makes it difficult to debug apps.
Visual D, a mighty attempt to bring some sanity to D in
windows, is simply to unpolished to work well. It brings the
looks of Visual Studio but not the feel of how VS works so well
with .NET. I spend over an order of magnitude more time trying
to fix D bugs than I do in .NET. Unfortunately this makes it
infeasible to continue to use D.
For example, I build a ~10k line app in under a week in .NET,
with gui and everything. In D I'm still working on getting the
libraries build. Even with all the power D has, what good is it
if you can't get off the starting line. Some will write this
off making some assumption, So be it.
.NET is a bliss to work in, D is drudgery. If only MS would
build a D compiler similar to what it has done with C#. No
offense to all those who have worked hard on D, someone has to
do it. For me, .NET is like heaven, D is like hell: It's almost
exclusively due to the error messages and IDE. I know many here
will write off such complaints, So be it.
My main concern with .NET is portability and performance. I am
going to give in to the portability and just assume Mono is
good enough. Performance wise, I'd prefer D, but .NET is
performant enough for most apps. Maybe in a few years things
will change, I can't wait that long. Sorry guys! (not that you
will miss me)
Remember, no reason to have the sharpest sword if you can't
wield it.
D is community driven. It's what people want it to be.
One thing: don't expect to master it in two weeks, particularly
if you want it to be like your motherland language, like your
comfort zone. From your conclusion it looks like you want to stay
in your comfort zone, that's up to you but don't give up like
this.
Give a chance on D on your free time to understand it.
Particularly because the standard library let you incredibly free
to choose between data oriented, oop, fp programming and in all
the cases the algorithms will be compatible...that's really a
**major** aspect of D (reflected in the standard lib).