Łuk*_*Lew 9 d tango standard-library phobos
有两个Phobos和Tango.据我所知,它们是多余的,不相容的.有没有计划加入他们?如果是的话,什么时候会发生?
dsi*_*cha 13
为D2建立了一个名为druntime的通用核心.低级运行时的东西,比如垃圾收集和线程,以前是同一项目中Phobos和Tango互操作的障碍.Phobos的更高级功能取决于Phobos运行时,同样适用于Tango.
Phobos的重大更新已经发布(事实上就在昨天(4/20/20)).此更新尝试使用D2的一些新功能,并引入了范围的概念,它类似于迭代器,但更易于使用且功能更强大.D2 Phobos与其动力不足的D1对手非常不同.
Tango是迄今为止D1更好的标准库.D2端口正在进行中,当D2稳定时,可能会更快地进展.一个很大的问题是Tango开发者是否会更新它以充分利用D2功能,或者他们是否只是专注于使其与D2一样使用D2.
对比这两个库,Phobos倾向于更多地关注简单的事情,语法糖,方便性以及推动标准库中可以完成的工作.这是STL和Python标准库之间的交叉,听起来很奇怪.Tango倾向于拥有更多类似Java的感觉.它更专注于广泛的功能和优雅地处理不寻常的用例.它更多地保留在D的理智子集中(没有那么多的模板元编程等,尽管可以说D的一个主要特征是将模板元编程推广到理智的子集状态),并采用更实用的API设计方法.
我自己的猜测(猜测,但它有很多意义)是Phobos将变得类似于STL,即真正标准的核心功能库,Tango将成为一个实用程序库,有点像Boost,因为它的核心更多功能被吸收到Phobos和/或druntime.
最后,正如其他人所说,D1应该是稳定的,因此这里没有任何变化.