Applications development with D language
Asked Answered
A

9

20

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?
Amaya answered 14/11, 2008 at 2:33 Comment(3)
Which D? There are at least a few D's aroundCheltenham
Are you referring to the D version?Amaya
He refers to the D programming language, digitalmars.com/d and dsource.org/projects/tangoChromaticness
H
15

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.

Humphreys answered 16/11, 2008 at 4:32 Comment(1)
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.Was
E
4
  • Tango
  • Yes, albeit a little more examples could be good
  • Yes
  • Yes, I think so. But if the programmers are used to full-fledged IDEs (MS Visual Studio), they probably wouldn't like D,
  • I use a small custom-made Scintilla-based editor, with options to build applications using bud, dsss or dmd.
Elstan answered 15/11, 2008 at 1:42 Comment(3)
@Dan: SciTe is a highly customizable editor; maybe it's interesting to you.Kuntz
@phresnel: I actually have been using SciTe a lot over the years. Great little editor!Ululant
@Dan: Indeed. When I am forced onto Windows, I use either code::blocks or Notepad++; both's editor are scintilla based (as is SciTe) :)Kuntz
F
4
  • I generally don't work on top of libs (aside from the std lib) as I tend to do very 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 very 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.
Feticide answered 15/11, 2008 at 1:44 Comment(0)
L
4

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.

Lachesis answered 15/11, 2008 at 2:0 Comment(0)
G
2
  • 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.

Gentry answered 16/11, 2008 at 3:44 Comment(0)
L
1
  • 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.
Likely answered 15/11, 2008 at 17:57 Comment(1)
Hi! Could you post a link to that CUDA wrapper, please? I can't find it in google... ThankS!Tullis
G
1
  • 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 :)

Gastrostomy answered 15/11, 2008 at 18:26 Comment(0)
E
1
  • 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.
Engross answered 16/11, 2008 at 16:45 Comment(0)
D
0

Code blocks seems to support D.

Dentil answered 4/9, 2010 at 12:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.