Questions regarding D

BCS ao at pathlink.com
Wed Jan 14 12:21:58 PST 2009


Reply to William,

> I use c++ extensivly, however I find several shortcoming of c++ highly
> annoying, and it looks as if D addresses most of these problems for
> me, however I'm not certain on certain points as Ive either been
> unable to find any good info, or the info I found was very out of
> date.
> 
> 1)IDE support: Is there a Visual Studio 2008 plugin avaible for
> programming D? If not are there any windows IDE's for D that are at
> least comparable to VS (ie built in debugger, good autocompletion, can
> go straight to where something was defined/declared, etc)?
> 

The best IDE for D is the Descent plugin for eclipse. It is in development 
so it's not as god as VS.
Regarding debuggers, last I checked there were a few windows debuggers but 
I've never been a big fan of any thing other then the VS debugger and then 
to some extent, not even that.

> 2)Garbage Collection: Can the garbage collector just be removed from
> projects or be completly replaced by a diffrent form of garbage
> collection, eg refrence counting?
> 

The GC is plugable, IIRC Tango and Phobos have different GCs. If you are 
willing to avoid a number of constructs (AA's, the ~ operator, using .length) 
you can turn off the GC and get by with manual memory management. This is 
not recommended in most cases. OTOH for embedded systems and that sort of 
thing it is possible.

> 3)Compatibility between D compilers: Does the D standard enforce
> binary compatibility between compilers. Eg if I compiled a libary with
> the DMD compiler and gave the static lib to someone that uses some
> other D compiler, will they be able to use my lib without any
> problems?

At this time there is only DMD, gdc, and an LLVM based compiler. On Linux 
DMD and gdc should work together (them might be some issues regarding different 
versions of the standard lib so don't take that as gospel). On windows, I 
seem to recall that gdc doesn't work well so it's not really an issue. as 
for the LLVM thing I don't know.

> 
> 4)Support for directX: Specificaly I need to  be able to use d3d9,
> d3dx9, d3d10, d3dx10 and xAudio2.
> 

I think they work, I know someone who was playing with them. In general, 
any C lib can be used assuming you can get stuff to link (There ares some 
tools for this but I've never been forced to use them).

> 5)Support for classes in dynamic libaries, and the ability to
> dynamicaly load these libaries.
> 

D supports DLLs (for the most part, there are some issues you would need 
to be aware of but last I head there were no roadblocks) but doesn't have 
any special devices for that. I've never used them.




More information about the Digitalmars-d-learn mailing list