digitalmars.D - D for Production Use
roydebox gmail.com writes:
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
Dec 13 2005
xs0 <xs0 xs0.com> writes:
roydebox gmail.com wrote: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
Dec 14 2005