使用D语言开发应用程序

时间:2008-11-14 02:33:59

标签: d tango

对于那些使用D开发应用程序的人,

  • 您使用哪些库来构建应用程序?
  • 这些图书馆记录良好?
  • 你使用过Tango吗?
  • 你觉得D已准备好构建大型应用程序吗?
  • 你使用哪个IDE?下降也许?

9 个答案:

答案 0 :(得分:15)

请注意,任何C库都可以与D一起使用,因为D完全支持C ABI。 D对C ++库有一些有限的支持,但不支持C ++模板库。

答案 1 :(得分:4)

  • 探戈
  • 是的,虽然有更多的例子可能会很好
  • 是的,我想是的。但如果程序员习惯于成熟的IDE(MS Visual Studio),他们可能不会喜欢D,
  • 我使用一个小型定制的基于Scintilla的编辑器,可以选择使用bud,dsss或dmd构建应用程序。

答案 2 :(得分:4)

  • 我一般不在libs之上工作(除了std lib),因为我倾向于做很低级别的东西,所以“无”
  • 我使用的是Phobos,但那是因为我很懒,当我开始时就是这一切。
  • 我在商业应用中使用。但我们非常关注早期采用者群体。
  • 血统正在取得良好进展。然而,对于我所做的事情(非常繁重的模板工作),它不能胜任任务。但对于大多数事情而言,这不应该是一个问题。

答案 3 :(得分:4)

我使用探戈库+ dfl和我自己的一些。 Tango文档很棒。 DFL还不错。 是的我当时确实使用过tango,但最初尝试过phobos。 准备好大应用了吗?取决于你的意思。在生产使用中,我只将其用于前端和更新程序。 到目前为止,我只使用vim进行编码和诱导设计gui,因为我找不到合适的ide。

答案 4 :(得分:2)

  • 我使用Tango,Jive堆栈跟踪,dconstructor,dunit和selfmock。不过,我保留了最后三个。

  • Tango有合理的文件证明。我遇到过一些文档少于我需要的地方;在这些情况下,我已经制作了要求更好文档的门票。 Jive不需要文档。我希望我使用的其他人有合理的文件;我一直在努力工作。

  • 是的,我使用Tango。

  • 您可以在FORTRAN中创建大型应用程序; D更好。主要问题是图书馆支持。据我所知,D中的加密技术并没有得到很好的支持。但是找到我需要的所有东西都很容易。除此之外,您可以在C中编写一个现有库的包装器而不会有太多麻烦。

  • 我通常使用vim,但现在我正在转向Descent。它的自动完成功能远胜于Vim。

答案 5 :(得分:1)

  • DFL(GUI),体面(适用于OpenGL),CUDA(GPGPU)
  • DFL记录得很好,但缺乏交叉引用。 Decent / CUDA主要是C包装器,虽然D为CUDA制作了很好的内部API。
  • 不,我一直在使用Phobos
  • 是的,虽然某些类型的大型应用程序用另一种语言写得快得多。
  • 我一直在使用Code :: blocks作为我的主要IDE和Entice进行GUI设计。

答案 6 :(得分:1)

  • 除了核心库(在我的情况下,Tango),我没有使用任何外部库。

  • Tango文档很不错。这是一个很大的图书馆,我会说有大约80%的文档,不在我的脑海里。而且,在那些记录的类中,我会说其中大约80%是完整和正确的。鉴于库的大小,文档的数量令人印象深刻。但它仍然不是它需要的地方。为了真正使用Tango,你必须阅读源代码(干净且写得很好)。

  • 我不知道D是否已为大型应用做好准备。我的应用程序很小,我很满意。从语言设计的角度来看,我更喜欢C#(或Java,在较小程度上)。相比之下,D语言设计让我觉得有些笨拙和笨拙。真的,我为这个项目选择D的唯一原因是因为A)我需要能够将我的代码编译成一个可以由任意第三方链接的DLL; B)我需要我的代码可以在Win,Lin和Mac之间移植;和C)我不想用C / C ++编写。

  • 我正在使用Descent(Eclipse IDE插件)。它提供了相当好的语法突出显示和项目导航。自动完成仍然有很多不足之处,并且仍然缺乏与像dss这样的“构建器”的集成。但它比记事本更好:)。

答案 7 :(得分:1)

  • 主要是我自己开发的那些 - SDWF和Stewart的实用程序库。
  • 我希望如此。
  • 没有
  • 是的,虽然我不确定库和IDE支持是否已经准备就绪。并且D还没有准备好进行重要的第三方实施,这可能会在达到这个阶段方面发挥作用。
  • 我在TextPad中进行了大部分编辑工作。诚然,这与D不完全兼容(两个缺少语法高亮功能,并且不支持Unicode),但它确实有效。

答案 8 :(得分:0)

代码块似乎support D