是的 D语言 一个可靠的替代Java和C++?会有什么需要成为一个可信选择?我应该打扰学习?不它应得的福音?

主要的原因我要求的是,与新C++的标准(c++0x)几乎在这里,这是我清楚这种语言已经过去不返回相对于任何人都了解它。我知道这C/C++永远不会死但在某一点上,我们需要移动的。甚至COBOL有其天和Java已经在许多方面撤销C++。所以,下一步是什么?不D填补比尔?

有帮助吗?

解决方案

决定编程语言在实际软件开发中的成功和普及的因素仅与语言本身的质量有关。作为一种纯语言,D可以说比C ++和Java有许多优点。至少它是一种可靠的替代品,作为一种纯语言,所有其他条件都是平等的。

然而,其他事情对软件开发很重要 - 几乎不仅仅是语言本身:可移植性(运行多少个平台),调试器支持,IDE支持,标准库质量,动态库支持,通用API绑定,文档,开发者社区,势头和商业支持,仅举几例。在每一个方面,D都无可救药地支持Java,C ++和C#。事实上,我认为它甚至落后于所谓的“脚本”。这些语言包括Python,Perl,PHP,Ruby,甚至JavaScript。

说实话,你根本无法使用D构建一个大规模的跨平台应用程序。对于一个不成熟的标准库,在任何现代IDE中都不支持(两者都有插件Visual Studio和Xamarin Studio / MonoDevelop),有限的动态/共享库支持,以及很少与其他语言的绑定,D现在根本不是一个选项。

如果您喜欢D所看到的,请务必学习它 - 如果您已经了解Java和C ++,则不应该花很长时间。我不认为传福音会有所帮助 - 此时如果D要取得成功,它真正需要的是更多人静静地使用它并解决标准库和IDE支持等主要缺点。

最后,对于C ++而言,虽然大多数人认为语言太复杂,但成千上万的公司通过只允许更小,定义明确的语言子集,成功地将C ++作为健康语言组合的一部分。当原始性能和小内存使用都需要时,仍然很难击败C ++。

其他提示

只是为了添加我自己的经验:

大约一年前,我参与了一个持续3个月的小规模游戏项目(3个程序员),我们使用D作为主要语言。我们之所以选择它作为一个实验,部分是因为它已经对SDL和我们正在使用的其他一些工具进行了绑定,并且主要是因为它们的好处似乎超过了C ++。

我们喜欢使用它。它学得快,易于编写。它的许多功能被证明是非常宝贵的,我想念它们回到C ++。

然而,以下几点使我们的生活更加困难:

  1. 当时没有好的IDE是一个重大问题。我们最终通过自定义Scite来制作自己的。这工作正常,但并不理想。
  2. 当时没有调试器。我们设法让WINDBG在一个命中或未命中的基础上工作,但它是不可靠的。没有调试器的调试代码有时会让人感到生气。
  3. 当时有2个标准库可供选择(Tango和Phobos)。我们从一个开始,切换到另一个,并且真正需要两者的混合功能(Tangobos!)。这导致了头痛和一些代码重写。
  4. 绑定到其他不可用的工具。最后我们不得不切换到DirectX(原因我不会进入)。 DirectX没有可用的绑定,因此我们必须在C ++中编写自己的绑定,将其构建为.dll并绑定到它。这是相当讨厌的工作,需要一些时间。
  5. 总的来说,我们喜欢写D.它实际上编写代码很容易,而且学得很快。我提到的问题与这个问题所接受的答案相呼应 - 它是“额外”的问题。在D中需要寻址的位,其核心是可靠的。

我同意C ++正在成为一种死胡同的语言 - 在过去17年中使用C ++后,我很难说。

我认为D是C ++的合法继承者。从语言的角度来看,它“做所有正确的事情”。 (即使我不同意每一分钟的决定)。我认为随着C和C ++的衰落,没有其他系统级语言可以真正做到他们所做的,同时在现代语言的世界中保持自己 - 除了D! D不仅填补了这个角色 - 它擅长于此!看看D1.x应该足以说服你 - 但是当你看到D2.0时它会让你感到震惊。我认为,今天没有其他语言能够像D2.0那样与桥接命令性和功能性编程范式相媲美 - 这种范式在未来几年才会变得更加重要。

缺乏主流接受度 - 甚至是可见性 - 以及大规模,成熟的图书馆 - 当然是的障碍。但是我认为你不能因此而写下来。我确信D 成长为未来几年内最重要的语言之一 - 那些现在认真对待它的人将会很好地在那个时候起带头作用来了。

我认为差异将在很大程度上归因于Andrei Alexandrescu的参与。这并不是以任何方式诋毁沃尔特·布莱特,他在将D带入世界方面做了大量工作。但Alexandrescu在C ++社区中确实是一个重要的,引人注目的人物 - 而且大多数潜在的D切换器都将来自这里。他还为D2.0在功能编程方面的支持做出了重要而重要的贡献。

可能仍然会发现D注定要成为系统级语言的Betamax--但是我的钱在未来两年内就会转变。

我喜欢D是一个天才的作品,主要是一个人 - Walter Bright,他的Zortech编译器当时很棒。

相比之下,即使Bjarne具有影响力,C ++也是委员会设计的过多。太多的附加功能和奇怪的新语法。这种差异反映了学习的简易性和日常使用的便利性,减少了错误。

更连贯的语言可以带来更高的生产力和程序员的喜悦 - 但这是主观的,有争议的! (我想我应该投下自己的答案)

D是一种很好的语言并且非常受欢迎 ,但与所有语言一样,它只是另一种工具。使用哪种工具取决于您的人选类型,您的想法,您工作的环境,语言的哪些限制适用于该计划,最重要的是,程序本身。如果你有时间,我肯定会建议学习D.最糟糕的情况,你永远不会使用它。您更有可能了解自己最喜欢哪些方面,以及在什么条件下最闪亮,并在制作新程序时利用它。

我建议您查看 D对比图表,了解相关功能是为了语言,看看它是否适合你。

D语言是现代的。没有语言是完美的,并没有怀疑这一点。但是,语言是生来让生活更容易。在D语言相比,C++有很多良好的特点,在条款的复杂性。许多其他语言组合的特色是参与,这有助于编码代码速度加快,与顶级的功能,介绍了其他语言。请另见:更多细节D和其他语言

  • D vs C++,是兼容性,在这里巨大的C++语言的是参与和需要的兼容性DD允许已经100%的兼容性C,这是一个很好的取胜。

  • D vs C++、C++是我的意见非常好的语言,但它坚硬代码和耗费时间,需要更多和更多的经验,以获得的成功,但D允许这样做简单

  • D vs C++,我不知道,如果C++,但做不允许任何类型的限制变量分配使用"自动",这是好事,有一个可变的动态,当需要你可以做一个严格的类型

  • D vs C++如果你有其他语言的经验,可以直接开始使用它,它已容易学习的路线图,及其越来越成为强大的有经验的团队,与公司的支持

  • D vs C++,非常好的事情我发现的,该代码的风格,它给人的外观和感觉完全一样喜欢C/C++编码时,它提醒我这样做真正的现代化C/C++这叫D

有很多更好的理由D语言,没有理由要低估任何一种语言,其总的用户选择。

这实际上取决于您的需求 - 服务器端存在用D 编写的大规模商业应用程序,而D(通常使用Tango / Mango)是完美的选择,并且您可能能够提供比任何其他语言/平台更多的请求。

对于协议和交互性方面的更专业的解决方案(许多都是如此),您将在查找所需的库时遇到更多问题,而缺少工具可能会对您产生更多影响。

D非常令人印象深刻,安德烈关于它的书写得很好。但正如其他人所说,您需要工具和平台支持。随着时间的推移,GDC可能是两者的答案。

你见过这个吗?

“GNU Debugger添加D语言支持”: http:// www。 linux.com/news/enterprise/biz-enterprise/358956-gnu-debugger-adds-d-language-support

此外,数字地图网站还有讨论与C和C ++接口的页面(对于那些你不能没有的图书馆)。我想知道在给定C头文件的情况下是否有任何工具可以用来编写D原型。

就个人而言,我不会在D中推动做一个大型项目,但我使用D作为内部工具,获得经验并引入其他人。

最初的问题是D是否是Java和C ++的可靠替代品。我不认为D和Java真的会在实践中竞争太多; D与C ++竞争,现在Go。其他问题解决了D和Go之间的差异,但Go通常被认为更容易使用。所以我怀疑D的未来在很大程度上依赖于C ++(目前的山丘之王)与Go之间的呼吸空间,Go是谷歌支持的更容易的替代品。

更新:我刚刚发现我最喜欢的安德烈书籍章节,并发的那个,可以在线免费获得。绝对值得一读!

这是关于相对优点/目标/方法的讨论Go和D

看起来这个问题已得到解答。与C ++相比,D是更好的语言。

为了实际目的,D是否具有更好的基础设施是次要的。

简而言之,如果它们都是全新的语言而没有任何支持,那么D是更好的语言,因为它是更好的语言。

作为一种语言,我总觉得D比C ++更接近C#。不是在功能和库中,而是在“感觉”中。它更清洁,更好......有趣(比C ++)。 恕我直言,成为可靠替代品的最大障碍是工具,IDE和调试器。如果D克服了广泛使用/采用的一些障碍,将会出现更多的工具和库。 (如果有可用的IDE和调试器,我自己将返回D。)

适合我自己的宠物项目。我将它用于雇主的项目,但不知道在我继续前进之后找他们接管来源有多难。至少在支持的平台上,没有技术上的理由可以避免它。 (敲木头)

一种方法是搜索您所在地区的工作。找到你想做的工作,看看他们要求的技能。如果他们要求C ++或Ruby或Oracle或D,那么这项技能主要是帮助您获得所需的工作。

它看起来像一个设计精良的语言;比C - C ++好得多 - 目标C. 我可以在没有IDE或调试器的情况下生活一段时间,但是没有一个好的,有文档的D 2.0库。

我会在6个月内回来看看......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top