A summary of D's design principles

Jonathan M Davis jmdavisProg at gmx.com
Tue Sep 28 12:56:28 PDT 2010


On Tuesday 28 September 2010 12:36:32 retard wrote:
> Tue, 28 Sep 2010 13:22:09 -0400, bearophile wrote:
> > Jesse Phillips:
> >> This is exactly how it should be marketed. It has the productivity of
> >> Python, other dynamic languages, with the performance and power of a
> >> natively compiled language.
> > 
> > Most programmers are able to see that's very false, today.
> > 
> > The main and maybe only advantage of D over C# is that it's
> > multi-platform. But today the Web is very important, and D can't be used
> > in browers.
> 
> I don't find it surprising that people here agree, when one is bashing
> other languages. However, please consider that C# is *higher* level
> language than D and that means it by definition has better portability to
> multiple platforms. You already have a C# virtual machine for all major
> operating systems. C# even runs on a browser (silverlight/moonlight).

LOL. C# only acts like it's cross platform. The only operating system with 
proper support is Windows. C# is for Windows. It's only ever really been 
intended for Windows. Microsoft only likes to claim that it's cross platform. In 
principle, given its VM and whatnot, it really should be cross platform similar 
to how Java is cross platform, but it really isn't. Sure, having Mono is way 
better than nothing, but it's always light years behind the Windows 
implementation, and if you want programs to run both on Windows and on other 
OSes with Mono, you're going to have to use a subset of the language and give up 
a lot of nice stuff.

D is cross platform in the same way that C++ is, the same way that _most_ 
languages are (unlike C#) - they're natively compiled to whatever platform 
you're targetting. Really, I don't see much point in touting a language as cross 
platform unless you're talking about Java's compile once run anywhere kind of 
situation (or you're comparing to a language like C# which is horribly tied to 
one platform). So, it really doesn't make much sense to me to make a big deal 
about D being cross platform unless you're talking about how some of its 
constructs (like version) make it easier to deal with code for different 
platforms in your code. But touting C# as cross platform makes even less sense 
that touting D as cross platform.

- Jonathan M Davis


More information about the Digitalmars-d mailing list