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