D and the world

Bill Baxter dnewsgroup at billbaxter.com
Mon Apr 23 18:29:33 PDT 2007


David B. Held wrote:
> janderson wrote:
>> Its about time for another round of how D can conquer the world.
>>
>> The way I see it D has 2 options, provide an easy way for C++ users to 
>> switch over or become D.net.  The problem is, it is extremely 
>> impracticable to switch over to D because:
>>
>> 1) Everything is already in C++.  It would take months to switch over. 
>> Time that no one has.
>> 2) Many API's are in C++.  Porting is too dam time consuming.  There 
>> are so many API's that companies use, it is impossible to have them 
>> all ported.
>> 3) Learning.  People are resistant to learning new things.  I think 
>> this hurdle is easiest to jump if the other 2 are in place.
>> [...]
> 
> I think D has a bigger threat from Scala than C#.  Whereas C# is just 
> another Java, Scala is actually Java + FP, and a lot of people are 
> starting to take notice.  I don't see the future as being "more Java", 
> even though that's where the industry is heading right now.  I think 
> that people are starting to realize that software reuse is an actual 
> possibility, despite the failed promises of the OOP revolution; but that 
> reuse really needs full genericity to be implemented usefully (and no, I 
> don't mean Java-style genericity).

VMs and languages running on top of VMs are probably the future for most 
folks.  Java, CLR, and maybe some day Parrot (though I haven't heard any 
news about that lately).  VMs can give you security, very powerful 
reflection, and performance acceptable for ~95% of code that gets 
written.  And they can give a new language instance access to vast 
libraries of code.  VMs just makes a lot of sense now that computers are 
generally fast enough.

But, personally, I won't go near C# or .NET or anything that runs on top 
of CLR until Microsoft officially announces that it intends to support 
.NET equally across all major platforms, or open sources it.   Right now 
their motivations with .NET are just too murky.  From what I can tell 
Microsoft still operates with the monopolist mindset of "do whatever you 
can to lock 'em in".  They will exploit any opportunity they can to sell 
more Windows licenses, because that's what their shareholders demand.

Parrot is still vaporware, so that's out.

So that leaves the JavaVM, which has been cross-platform from the 
beginning, has had a decade of work on VM optimizations under its belt, 
and is now open source to boot.  So if you're going to build a new 
language on top of a VM today, seems to me like the JavaVM would be the 
way to go.

That said, there will always be that 5% of code that really really needs 
the maximum performance the machine can deliver.  I'd definitely rather 
write that in D than Fortran, C, or C++.

--bb



More information about the Digitalmars-d mailing list