bearophile wrote:
Walter Bright Wrote:
Progress on implementing D on .NET.<
- This sounds quite incredible :-)
Cristi is an awesome and prolific developer. (He wrote the Zerobugs D
debugger for Linux.)
- The more implementations of D
there are, the more the language will have a chance to stick and
become used, so I think this is a good thing, regardless what I say
below.
Yes.
- But is the dotnet able to support all things D supports?
Yes. (!)
For example can you implement unions?
Yes.
Inline Asm code?
Yes (but it will be .net assembly code, not x86 assembly).
How about the interface with compiled C code?
Yes.
Etc. - One of the advantages of D,
that is it produces true compiled executables, is lost here.
That's like saying that an advantage of D is that it can run under
Windows, an advantage that is lost when one runs it under Linux. <g>
D.Net expands the options, not shrinks them.
- I think performance on dotnet can be good enough for most programs, but
a good C++-grade compiler like LLVM (LDC) can sometimes give even
more running speed.
Native D compilers aren't going away. There's no plan and no way D will
become a .net-only language. All it is is expanding D's domain.
- D is supposed to be a system language, but I
don't know if you can write system languages on dotnet, maybe not.
You're right, but that doesn't matter. Use a D native compiler to do a
system app. Use D.net to write an application that wants to interact
with the .net ecosystem.
- C# is not that far from D, and it has several advantages (named
arguments, better lambda, is much more widely used, more built-in
reflection, LINQ, a way to support duck typing, run-time compilation
of code, etc etc), so how can D compete with C#? While I can see how
normal compiled D may compete with C# in some lower level niche, I
don't see yet how D.net may compete with C#. What has D# to offer
over C#? Maybe nothing?
Advanced generative and metaprogramming capabilities for starters.