digitalmars.D - D for Production Use

Hi, there:
I am very interested in D. I need to pursuade peers and management to feel
comfortable to use it in production environment. Can you please share your
experience and/or successful stories of using D in production?
Thanks!
Roy

Hi, there:
I am very interested in D. I need to pursuade peers and management to feel
comfortable to use it in production environment. Can you please share your
experience and/or successful stories of using D in production?

Well, I only did one production project so far, as my company is
somewhat reluctant to use anything other than Java, which everyone here
knows. This one I did solo, so it was OK..
It's a small util that does some geometric processing of GIS data,
around 9k lines of code. It was initially written in Java, and porting
it took about three days (not a lot, if you ask me). After porting, the
real fun started, as D is soooo much better (just inout and templates
alone made several algorithms *far easier* to code efficiently). In the
end, the app ran about 100 times faster, while using about a third of
memory the Java version did. Obviously, the client was quite happy about
that (there's quite a difference between waiting for 13 hours or for 6
minutes :) Another interesting thing was that the final .exe was about
the same size as the initial (minimized) .jar, while not requiring tens
of MBs of Java runtime..
As for problems, the biggest one was compiler bugs. I constantly had
problems with templates ("error: SomeClass!(Something) is used as a
type" when it is indeed a type :) and there was some code generation bug
when using -O with a very complex FP expression. The latter was fixed
within a week (try that with any other language ;), and the first was
solved by using aliases and reordering of files. In short, there were
some annoyances, but no showstoppers.
Phobos is also somewhat lacking (and esp. the docs), but everything I
really needed was there and it was trivial to code what I missed (which
was mostly containers and sorting).
xs0