Questions tagged «d»

8
C ++比D有什么优势?
我最近一直在学习D,并且开始对这种语言有所了解。我知道它提供了什么,我还不知道如何使用所有东西,并且我对D习语等不了解很多,但是我正在学习。 我喜欢D。这是一种很棒的语言,以某种方式对C进行了巨大的更新,并且做得很好。似乎没有一个功能可以“实现”,但实际上是经过深思熟虑和精心设计的。 您会经常听到D是C ++ 应该是的(我要问的是每个人都应该自己决定是否这样做,以避免不必要的火焰战争)。我还从几位C ++程序员那里听说,他们对D的喜欢远超过C ++。 我自己,虽然我知道C,但是我不能说我知道C ++。如果有人认为C ++比D 作为语言要好,那我想听听他们都知道C ++和D的东西(这不是通常的“它具有更多的第三方库”或“有更多的资源”或“需要C ++的工作多于D”。) D是由一些非常熟练的C ++程序员(在D社区的帮助下)由Walter Bright和Andrei Alexandrescu设计的,旨在解决C ++所遇到的许多问题,但是到底有没有真正变得更好的东西?他错过了什么吗?您认为不是更好的解决方案吗? 另外,请注意,我所说的是D 2.0,而不是D 1.0。

8
现代的OO语言可以与C ++的数组存储性能竞争吗?
我只是注意到,我至少有点熟悉的每种现代OO编程语言(基本上只是Java,C#和D)都允许协变量数组。也就是说,字符串数组是对象数组: Object[] arr = new String[2]; // Java, C# and D allow this 协变量数组是静态类型系统中的一个漏洞。它们使得可能在编译时无法检测到的类型错误,因此必须在运行时检查对数组的每次写入: arr[0] = "hello"; // ok arr[1] = new Object(); // ArrayStoreException 如果我进行大量阵列存储,这似乎会降低性能。 C ++没有协变数组,因此不需要进行此类运行时检查,这意味着不会降低性能。 是否进行了任何分析以减少必要的运行时检查次数?例如,如果我说: arr[1] = arr[0]; 有人会说这家商店不可能倒闭。我敢肯定,我还没有想到其他很多可能的优化方法。 现代编译器实际上是在进行这类优化吗?还是我不得不忍受这样一个事实,例如Quicksort总是执行O(n log n)不必要的运行时检查? 现代的OO语言是否可以避免因支持协变量数组而产生的开销?
40 c#  java  c++  d 

6
为什么LMAX的团队为什么要使用Java并设计架构以避免不惜一切代价避免GC?
为什么LMAX的团队为什么要用Java 设计LMAX Disruptor,但所有设计都着眼于最大限度地减少GC使用?如果不想运行GC,那么为什么要使用垃圾回收语言? 他们的优化,硬件知识水平和他们的想法都很棒,但是为什么要使用Java? 我不反对Java或其他任何东西,但是为什么要使用GC语言?为什么不使用不带GC的D之类的语言或其他语言却允许高效的代码呢?是团队最熟悉Java还是Java拥有我没有看到的某些独特优势? 假设他们使用带有手动内存管理功能的D进行开发,会有什么区别?他们将不得不考虑低级(他们已经是),但是他们可以从系统本身中榨取最佳性能。

5
为什么C ++不能在其概念实现中采用D的方法?
众所周知,概念,C ++约束模板参数可能类型的方法未能包含在C ++ 11中。 我了解到D编程语言2.0的通用编程具有类似的功能。在我看来,其解决方案非常优雅和简单。 所以我的问题是,为什么C ++无法使用类似的方法。 C ++概念的目标可能大于D的实现所提供的目标? 还是C ++的传统使它无法采用这种方法? 还是其他? 感谢您的回答。 ps要查看D的通用编程能力的一些示例,请参阅:https : //stackoverflow.com/questions/7300298/metaprogramming-in-c-and-in-d/7303534#7303534
19 c++  templates  d 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.