D标准库的当前状态是什么?

D标准库的当前状态是什么?,d,standard-library,tango,phobos,D,Standard Library,Tango,Phobos,有两个火卫一和探戈。 据我所知,它们是多余的和不兼容的。 有没有加入他们的计划? 如果是这样的话,什么时候会发生呢?看起来像是在10月份,但我不知道从那时起发生了什么 编辑: 我还发现,这似乎表明没有实际合并的计划: 将不会对系统进行任何更改 首被告的情况。然而,截至 版本2.020,已经拆分了火卫一 分为两个库,druntime.lib和 火卫一。这是为了允许一个共同的 与两个火卫一一起使用的运行时 还有探戈。虽然没有计划 合并两个库,甚至包括 探戈与DMD的发布,这将 允许同时使用两个库 同

有两个火卫一和探戈。 据我所知,它们是多余的和不兼容的。 有没有加入他们的计划?
如果是这样的话,什么时候会发生呢?

看起来像是在10月份,但我不知道从那时起发生了什么

编辑:

我还发现,这似乎表明没有实际合并的计划:

将不会对系统进行任何更改 首被告的情况。然而,截至 版本2.020,已经拆分了火卫一 分为两个库,druntime.lib和 火卫一。这是为了允许一个共同的 与两个火卫一一起使用的运行时 还有探戈。虽然没有计划 合并两个库,甚至包括 探戈与DMD的发布,这将 允许同时使用两个库 同时没有兼容性 层


是使两者兼容的一项努力。

在2.0中,Tango将能够在共享核心上作为一个实用程序库。共享核心已经就位,但是Tango项目还没有2.0支持


在1.0中,不会有任何更改。这是因为1.0规范被有效冻结,以允许稳定的目标针对其进行开发。

为D2构建了一个称为druntime的公共核心。低级运行时的东西,如垃圾收集和线程,以前是在同一项目中阻碍Phobos和Tango互操作的障碍。火卫一的高级功能依赖于火卫一运行时,同样也依赖于Tango

火卫一的重大更新已经发布(事实上就在昨天(4/20/09)。此更新尝试利用D2的一些新功能,并引入了范围的概念,范围类似于迭代器,但更易于使用,功能更强大。D2火卫一与动力不足的D1火卫一大不相同

Tango是D1更好的标准库。D2端口正在进行中,当D2稳定时,可能会进行得更快。一个大问题是探戈开发者是否会更新它以充分利用D2的功能,或者他们是否会简单地专注于使其与D2的工作方式与D1的工作方式相同

对比这两个库,Phobos更倾向于使简单的事情变得简单、语法上更灵活、更方便,并推动在标准库中可以完成的工作。这是STL和Python标准库的交叉,听起来很奇怪。探戈更倾向于给人一种Java风格的感觉。它更注重特性的广度和优雅地处理不寻常的用例。它更多地停留在D的健全子集内(没有那么多模板元编程等,尽管D的一个主要特征是将模板元编程提升到健全子集的状态),并对API设计采取更务实的方法

我自己的猜测(推测,但这很有意义)是,火卫一将变得类似于STL,即一个真正的标准核心功能库,而Tango将成为一个实用程序库,有点像Boost,因为它的更多核心功能被吸收到火卫一和/或druntime中

最后,正如其他人所指出的,D1应该是稳定的,所以这里没有任何变化