D and the world

Robert Fraser fraserofthenight at gmail.com
Mon Apr 23 10:48:31 PDT 2007


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.
> 
> The C++ option:
> 
> There are several ways this could be done however all would be most 
> effective.
> 
> 1) Provide an easy way to link directly with C++ (preferably MSVC), such 
> that we can write in C++ an D simultaneously and without having to write 
> wrapper code.
> 
> 2) Provide a way to import C++ APIs that takes practically no time to 
> implement.
> 
> 3) Provide a wizard that will convert a C++ project to D.  It needs to 
> be so easy, you don't have to even think about it.
> 
> This seems like its asking for a lot.  However a month or 2 was spent 
> setting up D so it could be integrated with C++ within a couple of 
> clicks, it would pay huge dividends.  This would mean that it would be 
> much easier for anyone at a C++ factory to convince managers of D's cost 
> befits.
> 
> I think many C++ programmers are looking for a better alternative 
> however they can't switch to D because of the afore mentioned problems. 
>   If this was done right, you could practically convert many of the C++ 
> community. Not unlike C++ did to C. I doubt you'll get many C converts 
> though because most of the ones remaining can't leave C for other reasons.
> 
> 
> D.Net option:
> 
> I think may people are turning to C# because it has many of the features 
> D provides.  With products like XNA and a decent development 
> environment, developers are embracing C#.   Providing a version of D 
> that works with net (that was in development ages ago), would give D a 
> foothold for the next generation of programmers.  I do however think 
> that D will be a harder sell on this platform.
> 
> Final comments
> 
> It may be possible for D to find its way into main stream by a nitch 
> market however I think the chances here are low.  Of course one possibly 
> here is the mobile phone industry.  Even so, D runs the risk of being a 
> one-time-wonder that is dependent on the phone companies continued support.
> 
> Note that I discount Java because there is less overlap in 
> functionalities.  Furthermore note that my point of view is from the 
> game industry and the situation may be completely different for business.
> 
> So if D wants to become big (say in the next year), I think some time 
> invested in supporting C++ is its best bet.
> 
> -Joel

The main reason I am looking at D right now is that it is a systems-compiled language. It doesn't require the .NET runtime, which many people don't have (even though it's standard with Vista now) or JRE. To me, D seems like a "best of both worlds" approach that has both the features of a .NET language/Java, but with the power for direct system access and no reliance on a preinstalled runtime. "D.Net" sounds just horrible to me.

This topic has been discussed to death, but I agree with the other posters in this thread. D needs (to become a mainstream language for enterprise-level development):

1. To decide on a standard library (Tango fits the bill better here, since it resembles the Java and .NET standard libraries, which many programmers today are trained in. The libraries each have their own advantages for open-source, etc., development, but Tango seems to be the better choice for enterprise development).

2. An IDE (Descent, if it manages to port as much of the JDT as it's trying to, integrates niceley with a well-known platform, and seems to be as perfect as can be for the job).

3. An easy(ier) way to wrap C/C++ libraries. bcd.gen is going places, but it's not quite there yet.

4. Documentation.

5. A book or two on it.

6. More libraries, preferably all located in a standard location and easy to install (DSSS!!!)

7. Better reflection support.

8. Better unit testing support.

9. Possibly, ideally, a wrapper that allows calling to and from Java and/or .NET _easily_. Like, really easily (transparently). Like, use a Java class in D and a D class in Java without having to write any boilerplate code at all.

10. Some big company to adopt it.

There's my $0.02



More information about the Digitalmars-d mailing list