Why I Use D
Neil Vice
sardonicpresence at gmail.com
Mon Mar 31 02:31:49 PDT 2008
"bearophile" <bearophileHUGS at lycos.com> wrote in message
news:fsnu26$1a1u$1 at digitalmars.com...
> Neil Vice>the more I use C# the more I'm beginning to hate it - and love D
> =)<
>
> I like D more than C# (despite C# 3.0+ has some things I may like, like
> the syntax of properties, the syntax of lambdas, LINQ, the help the IDE
> gives you, the automatic support of multi core, the fact that it's used by
> more people, the syntax of the "foreach", its associative arrays, some
> parts of its standard library, some of its compilation at run-time, and
> few other bits. Among such things some of them can be added into D too).
I do like the property syntax of C#, though as much as the equivalence with
methods in D has the potential to be confusing, with coding conventions I
think it could work quite well.
The IDE is obviously a big plus and as such I wouldn't attempt a regular
GUI-based Windows app in D myself, I find the IDE pretty unnecessary for
console-based development - a decent debugger not-withstanding.
Run-time compilation can be frustrating - it obfuscates profiling and
requires (as far as I'm aware) digital signing etc. to forcibly pre-compile
for performance.
> Have you written few benchmarks to compare the performance of the garbage
> collector and the associative arrays of C# on dotnet, to those of D (DMD,
> Phobos)?
I haven't written any benchmarks no. What I have observed using C# is simply
that it's performance is "lower than I would expect". Porting code from
Delphi has resulting in typically neater, but slower code. Just the control
that D provides compared to C# and the fact that it is compiled directly to
machine code mean that D is basically guaranteed to be faster provided
sufficient effort is put in if you know what I mean.
I suppose another thing that makes me look more favourable upon D is that my
expectations are lower in certain areas. If a phobos method does something a
bit strange I'm forgiving... if a .NET method which you expect to be
thoroughly documented in the MSDN library throws an exception which is not
in the list of exceptions that it should be able to throw, I get pretty
annoyed =P
More information about the Digitalmars-d
mailing list