D语言之路-第1篇 库函数之争

D语言有着两个不同的库,分别为Phobos[i]和Tango[ii]。这对于像我这样的初学者来说面临着一个选择,你是愿意和跳探戈呢(tango with D,事实上Tango的标准教材之一是《learn to tango with D》[iii],中译版《学习D语言的tango》[iv]),还是作为一颗忠实的卫星(Phobos即火卫一)。对于Java这种具有统一的标准库和运行平台的语言来说,这不成问题,但是D语言这个新锐语言在其发展的当前阶段,出现两个运行时语言库相与争锋、各有千秋的现象。

我们先来看看上场的两位选手都有什么优势。

Phobos优势:

1.Phobos官方认证的标准运行时库。Phobos最初由D语言之父WalterBright开发。事实证明,在任何情况下,有一个给力的老爸都不吃亏。Phobos由此顺利地被戳上了D语言官方认证库的招牌。

2.Phobos紧跟D语言规范的步伐,尤其是在D语言版本2推出之后,更是在对新特性的支持上把Tango牢牢甩在了脑后。作为一门发展速度极快的语言的库,轻装上阵的Phobos因其小而精,更因其官方标准库的身份,紧跟D语言的发展脚步,某种扮演着编程实例和测试用例的角色。

Tango优势

1.Tango开发更多由社区驱动。Walter Bright作为D语言的设计者和编译器的重要开发者之一,为D语言社区做出的贡献是无以伦比的,可是人家毕竟还带有digitalmars公司的老总的头衔。马云说,公司想挣钱是正常的,不想挣钱是不正常的,商业是门严肃的学问。以WalterBright为首的digitalmars公司会不会考虑到商业利益,利用对D语言和Phobos的控制权,把精力用在开发商用库函数之上,而间接阻碍了D语言的发展状态,适得其反地影响了用户的使用呢?这是一个值得思考的问题。

2.Tango具有比Phobos强大得多的功能,与Tango相比,Phobos更像是最新D语言编译器的unnittest。如果只使用Phobos,有一些Tango的拥趸们甚至觉得D语言编程的乐趣将难以维系。相比C++或Java来说,D语言的库函数支持仍非常不足,如果用Phobos来比较,那更是一毛之于九牛,也因此很大程度上造成了业界对D语言的观望态度。D语言社区也在致力于解决这个问题。

比较糟糕的是,Phobos和Tango两者不可得兼。这是因为两者核心系统函数的实现方式存在着的巨大的差异。我们都知道D语言的内存管理严重依赖于垃圾回收器。Phobos和Tango对于它们的实现竟然完全不同,这就导致了在D程序中无法同时使用两者。而且,两者想要完全融合或兼容,在短期之内完全看不到希望。在这种水生火热的情况下,tangobos诞生了。显然,它的爸爸是Tango,它的妈妈是Phobos,与所有不睦家庭的新生儿一样,他扮演着两者之间的粘合剂。它是将Phobos向Tango的移植的成果,有了他,在Phobos上开发的D程序大多能在Tango上运行。如果它是个人,那它更像母亲一点,因为tangobos基本上是Phobos的源码拷贝,除了修改了一些底层部分。

Phobos和Tango的分立是D语言发展到一定阶段的产物。我大言不惭地揣测,一方面是Walter Bright、Andrei Alexandrescu等人对于D语言和Phobos的控制过于强大;一方面是D语言新兴粉丝们对向D语言库中添加新功能的火热之情难以倾泻。在这种D语言库函数严重匮乏又急需发展的情况下,自然而然地催生了一个精小的官方库和一个粗犷的社区库的两立相争情况的出现。

然而,对于开发者来说,出现两个不兼容的开发库实在是一件大不幸之事。这种状况在可见的将来将无法彻底解决。理想情况应该是对D语言库进行某种划分。Java平台就按照适用的系统平台的不同,分为J2ME、J2SE、J2EE。按照这个思想,将库划分成最小语言支持库和扩展支持库。最小语言支持库包括垃圾回收器、多线程库、IO库等必不可少的核心底层支持,扩展支持库包含数据库、高级数学函数、图像处理等高级功能。两者各司其职,互为依赖:精英们继续指向天空划出优雅的轨迹,而大众们则跳起欢快的探戈,他们一起庆祝D语言的成长。

本文章欢迎转载,请保留原始博客链接http://blog.csdn.net/fsdev/article

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: TDC-GP22是一款时间数字转换器,用于实现电子设备中对时间的精确计算和统计。为了更便捷的使用该芯片,生产厂商提供了TDC-GP22的配置函数软件。 该软件主要包括三个部分:驱动程序、API函数和示例程序。TDC-GP22的驱动程序为该芯片提供了一个可控制的环境,允许用户通过软件来控制TDC-GP22并读取其数据。API函数则是对驱动程序进行封装和优化,提供了更高层次的调用接口,方便用户快速调用芯片的各种功能。而示例程序则为用户提供了一个实际操作TDC-GP22的案例,帮助用户更快地了解和掌握这一芯片的使用方法。 开发者可以根据具体的需求对该软件进行二次开发,实现自己特定应用领域的功能需求。在考虑软件适用性的同时,生产厂商也为用户提供了丰富的技术支持和帮助文档,方便用户在使用中遇到问题时及时得到解决。 总的来说,TDC-GP22配置函数的软件实现了TDC-GP22芯片的多种功能,不仅提供了丰富的接口和封装,也为后续开发者提供了便捷的开发和调试环境,是一款十分有价值的软件。 ### 回答2: TDC-GP22是一款时间数字转换器,可以将时间转换为数字信号。为了方便使用和编程,厂家提供了一套配置函数的软件。这套软件可以通过连接PC端和TDC-GP22芯片来实现对芯片的配置和控制。 这套配置函数的软件主要有以下特点: 1. 系统兼容性:该软件可在Windows、Linux和Mac OS操作系统上运行,能够适应不同的开发环境。 2. 简易易用:软件提供了用户友好的界面和操作方式,方便用户进行配置。同时,软件提供了详细的使用说明,使用户无需深入了解芯片原理,即可轻松地控制芯片。 3. 配置强大:该软件提供了丰富的配置选项,包括时钟频率、输出模式、分辨率等。用户可以根据自己的需求和应用场景进行灵活的配置。 4. 软件更新:芯片功能得以不断更新,为了保证软件与新版芯片的兼容性,厂商还会推出软件更新版。 总之,tdc-gp22配置函数的软件为用户提供了一个方便、强大、易用的工具,使得用户可以更加高效地配置和控制TDC-GP22芯片,进而实现更加精确和可靠的时间转换。 ### 回答3: TDC-GP22是一款基于时序数字信号处理技术的高精度时间测量芯片,它具有高精度、低功耗、小体积等优点,被广泛应用于实时系统、自动测量等领域。为了方便用户使用TDC-GP22芯片,TI公司提供了TDC-GP22配置函数的软件,在使用该软件时需要了解以下内容: 1. 软件支持哪些操作系统和软件环境。TI公司提供的软件支持Windows操作系统和LabVIEW、MATLAB等软件环境,用户可以根据自己的需求选择合适的环境。 2. 配置函数的功能和使用方法。TDC-GP22配置函数的主要功能是读取和配置TDC-GP22芯片的寄存器,用户可以根据自己的需求对芯片的工作模式、测量范围等参数进行设置。在使用函数时,用户需要先调用初始化函数,然后根据需要调用其他函数进行数据读取和设置等操作。 3. 软件使用的注意事项和问题解决方法。在使用TDC-GP22配置函数的软件时,用户需要注意一些问题,如软件版本兼容性、硬件连接、API函数参数设置等问题。如果在使用过程中遇到问题,可以查看TI公司提供的用户手册或者寻求技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值