tags:

views:

1092

answers:

9

For those who had developed applications with D,

  • which libraries did you use to build your application?
  • those libraries were good documented?
  • did you use Tango?
  • do you feel that D is ready to build big applications?
  • which IDE did you use? Descent maybe?

    Thanks in advance. Jonathan.

+4  A: 
  • Tango
  • Yes, albeit a little more examples could be good
  • Ummm, ¿yes?
  • Yes, I think so. But if the programmers are used to full-fledged IDEs (MS Visual Studio), they problably wouldn't like D
  • I use a small custom-made Scintilla-based editor, with options to build applications using bud, dsss or dmd.
Care to share your editor?
Dan
+4  A: 
  • I generally don't work on top of libs (aside from the std lib) as I tend to do vary low level stuff, so "none"
  • I use Phobos, but that;s because I'm lazy and that's all that was around when I started.
  • I'm using it in a commercial app. But we are vary much in the early adopter segment.
  • Descent is really making good progress. However for the stuff I do (very heavy template work) it is not up to the task, however for most things that should not be nearly as much of an issue.
BCS
+3  A: 

I used tango libraries + dfl and a bit of my own. Tango documentation is excellent. DFL not bad. Yes I did use tango then but tried phobos at first. Ready for big apps? depends on what you mean. In production use I have only used it for frontends and updaters. So far I've only used vim to code and entice to design gui because I couldn't find the right ide for me.

Tim Matthews
+1  A: 
  • DFL (GUI), Decent (for OpenGL), CUDA (GPGPU)
  • DFL was decently documented, but lacked cross referencing. Decent/ CUDA are mainly C wrappers, though D made making nice internal API for CUDA very easy.
  • No, I've been using Phobos
  • Yes, though there are certain types of big applications which would be much faster to write in another language.
  • I've been using Code::blocks for my principal IDE and Entice for GUI design.
Hi! Could you post a link to that CUDA wrapper, please? I can't find it in google... ThankS!
alvatar
+1  A: 
  • Other than the core library (in my case, Tango), I'm not using any external libs.

  • Tango documentation is decent. It's a large library, and I'd say there's documentation for about 80% of it, off the top of my head. And, of those documented classes, I'd say about 80% of them are complete and correct. Given the size of the library, the amount of documentation is impressive. But it's still not quite where it needs to be. In order to really use Tango right now, you have to read the source code (which is clean and well-written).

  • I don't know whether D is ready for big applications. My application is pretty small, and I'm pretty happy with it. From a language-design perspective, I prefer C# (or Java, to a lesser extent). In comparison, the D language design strikes me as somewhat clunky and awkward. Really, the only reason I chose D for this project was because A) I needed to be able to compile my code to a DLL which could be linked by an arbitrary third party; B) I needed my code to be portable between Win, Lin, and Mac; and C) I didn't want to write in C/C++.

  • I'm using Descent (an Eclipse IDE plugin). It provides reasonably good syntax highlighting and project navigation. Auto-complete still leaves much to be desired, and the integration with a "builder" like dsss is still lacking. But it's better than notepad :)

benjismith
+2  A: 
  • I use Tango, Jive stacktrace, dconstructor, dunit, and selfmock. I maintain the last three of those, though.

  • Tango has reasonable documentation. I've run into a few places where it had less documentation than I needed; in these cases, I've made tickets requesting better documentation. Jive doesn't require documentation. I hope the others I use have reasonable documentation; I've been working on that a fair bit.

  • Yes, I use Tango.

  • You can create large applications in FORTRAN; D is better. The main issue is library support. Things like cryptography aren't well supported in D, as far as I know. But it's been pretty easy to find everything that I have needed. Anything else, you can probably write a wrapper around an existing library in C without much trouble.

  • I usually use vim, but now I'm switching to Descent. Its autocompletion is far better than Vim's.

+11  A: 

Note that any C library can be used with D, as D fully supports the C ABI. D has some limited support for C++ libraries, though not C++ template libraries.

Walter Bright
I wish D would support the C++ ABI. It doesn't need to support all of the c++ namespaces and template mess. But it would be nice if I at least had a way to define an extern c++ function in `D` that mapped to an extern c++ template function in a namespace.
caspin
That would require C++ to have a specified ABI. Maybe in few years...
Klaim
+2  A: 
  • Mainly those I develop myself - SDWF and Stewart's Utility Library.
  • I hope so.
  • No.
  • Yes, though I'm not sure that libraries and IDE support are quite ready yet. And D isn't quite ready for significant third-party implementation, which might play a part in reaching this stage.
  • I do most of my editing in TextPad. Which admittedly isn't fully compatible with D (two missing syntax highlighting features, and doesn't support Unicode), but it works.
+1  A: 

code blocks is good see How to

bioinfornatics