some questions about D

bearophile bearophileHUGS at lycos.com
Thu Oct 22 10:04:55 PDT 2009


Luis P. Mendes:

> I'm about to begin a project on artificial intelligence, decision trees 
> and some other algorithmic stuff that needs runtime and development speed.

Very good, D sounds fit for such kind of code.
If you need development speed (with good performance) you may also take a look at Java :-) If you work on Windows (but you have said you use Linux) C# gives some C++ interoperability, and its performance and development speed are usually good.
I can give you some of the answers, and I leave the other questions to other people:

> 1) Can I access a PostgreSQL and/or MySQL database from D?  Are there 
> (fast/reliable) database adapters?

There can be, but there's little that's really reliable in D :-) D is a newish language, and it has very few developers (Walter, Andrei for the std lib Phobos, and recently Don mostly for the as debugger), so things can't be compared to languages that are backed by large firms (C#, Java, etc).


> 2) Is it easy to use C++ libraries?

D is able to use C libraries, and a little of C++ (with D2, mostly).


> 3) D compilers don't yet compile natively in 64 bits processors? Mine is 
> a x86_64 Linux system.

LDC has acceptable 64 bit support on Linux. But then you can't port code to Windows yet.


> 4) I have to use huge (for me) amounts of data, maybe I'll make use of 
> most of my 8GB RAM memory.  Will I find problems due to any compiler/
> language limit?

I don't know. Not many people use D for large purposes yet. You can try, and tell us. Tango developers may find ways to solve some of the problems you find along the way.


> 5) Besides Alexei forthcoming book, is there documentation for the whole 
> language and not only to part of it as in http://compsci.ca/v3/
> viewtopic.php?t=9518 and http://en.wikibooks.org/wiki/A_Beginner%
> 27s_Guide_to_D ?

There's the "Learning to Tango with D" that's mostly about D1 Tango.


> 6) Is D version 2 suitable for a beginner like me starting a new project?

D2 is Alpha status, it's unfinished. It can be used but be ready for a rough ride. It will change in future, so if you want your code to keep working 2 years from now, you will need to update your code every few months.


> 7) What advantages can I have in using Tango? Speed? Ease of development? 
> will it be integrated as standard?

Tango is often less buggy, faster, uses memory better (often no memory allocations unless you want them), and gives you a lot more features.

Bye,
bearophile


More information about the Digitalmars-d-learn mailing list