D vs. C#

Bill Baxter dnewsgroup at billbaxter.com
Thu Nov 23 18:39:00 PST 2006


Ary Manzana wrote:
> Frank Benoit (keinfarbton) escribió:
>> Antonio,
>> the points you listed are very good. Well "good" because I know nothing
>> about C#, and this is also true for the things around C# and Dot NET.
>> First time I hear about those "rules".
>>
>> What do you think if you put the focus on the languages itself? Ignoring
>> existing libs, IDEs ...
> 
> I think this days a language isn't just "the language", i.e.: the 
> syntaxis and semantic.
> 
> Questions I want to ask to a language:
> 1. Does it have a great power of expresiveness?
> 2. Will I have to program all the *so common* classes like collections, 
> io, network, etc., or instead of focusing on my problem I'll have to 
> invent the wheel again?
> 3. Will I get my job done quickly?
> 4. Will my programs require some other annoying frameworks, virtual 
> machines and on on the target machine?
> 5. Will my programs be fast?

6. Will my programs be portable?

> 
> My answers would be:
> 1. Yes, and I think it beats C#, although reflection is widely used 
> nowadays, and D dosen't have this (I don't know if this is possible for 
> a compiled-to-native language).
> 2. Well, you'll surely find some good libraries out there. But 
> integration with other systems that use some other libraries will be 
> very painful. And choosing a library is also some time you'll loose. If 
> interfaces (like the ones in java.util) are defined in D, together with 
> a good core library, everything should be easier to do. But I think 
> interfaces are not that efficient in D... am I wrong? And yes, you'll 
> feel that poor performance in your 2Ghz double core processor.
> 3. Not as quick as programming in C# or Java, because you don't have 
> powerful IDEs, and point 2 is also a thing to consider.
> 4. No, and it's one of the things I like most of D: a great power of 
> expressiveness compiled to native binaries.

Amen to that.  Java, C#, python etc may have great libraries, but you 
basically have to install the whole dang library collection on any 
machine that you intend to run your program on.  "Hey I've got this 
great little 10 line script"... kind of loses its cool factor when you 
have to install 50MB or more of other stuff just to use the script.

> 5. Yes, very fast, and that's another point for D.
> 
> But, as far as I know, speed is not (that much) a concern, and everybody 
> has a virtual machine, so...

6.  D code is fairly portable between Windows/Linux/Mac, so with care, 
and judicious selection of external libraries, a recompile for the 
target machine is all that is needed.   Java has an embedded version.  D 
lacks any sort of embedded strategy right now, AFAIK.  Though it should 
be great for embedded stuff.


--bb



More information about the Digitalmars-d mailing list