On Wednesday, 20 February 2013 at 08:38:00 UTC, rumbu wrote:
On Wednesday, 20 February 2013 at 00:15:00 UTC, David Piepgrass
wrote:
How is "looking" like C# relevant? D looks 90% like C++ too,
and D is still better. Certainly D is more powerful than C# on
the whole.
This is not a debate C# vs D. D is clearly more powerful than
C# with the current language semantics. But, once D will be
adapted to generate IL code, most of advantages will be lost.
You cannot have assembler code (may be IL code, but this can be
achieved using Emit in C# also), compile time reflection will
become redundant because of the intrinsic runtime reflection,
most of the templates will be constrained to generic types. In
a pottential D#, Phobos will not be used since you have the
.net framework. Also because of lack of some D features (like
readonly, mutiple interface implementation of the same method,
namespaces), more keywords will be needed to describe the code
and that will make it similar to C# more than expected.
The irony is the fact that digging in the forum history, you
will find how D has evolved to be more and more C# like. Just
look at the recent changes, "alias" has evolved to the exact
syntax of "using" from C#.
If the initial audience of D was the C++ programmer, I think
it's time to make a step forward and look also to lure the C#
programmer since the syntax is very similar. The most important
argument for the C# programmer to use D is the fact that D
compiles to native code. Offering something like D# to the C#
programmer is out of his interest, imho.
A problem here is that Microsoft is probably in the process of
also offering standalone compilation for .NET languages as well.
Windows Phone 8 .NET applications get compiled to native code,
they are not JITted.
They might as well decide to use the same solution instead of
NGEN on the desktop.
--
Paulo