由boost网络库说起...

文末这篇Email是2006-03-22的,而今天已经2006-8-5日了,我看到asio的soureforge的主页上说.

20 June 2006 - asio version 0.3.7 (development) released.
This release includes major interface changes arising out of the Boost review of asio.
The asio library was accepted into Boost and will appear in a future Boost release.

不过Boost release到现在还是

boost 1.33.1 December 5, 2005.

asio不知道还要等到什么时候才在Boost release放出,真是望穿秋水啊.
C++0x标准也是这样,等就一个字.
由此而观,国外C++社区真是小心谨慎,稳定第一,在他们的理念中C++更类似于一件艺术品.反观Java,.Net的日新月异,可以说是功能第一,方便第二,速度第三.商业与学院的区别真是不辨自明.

而在我的理念中,对于面向普通桌面用户(不是专业/行业软件)的由于功能的类似(即使你有一个很有创意的软件,不出几天就会有软件的翻版),界面和速度可能就是生存的关键.对与C++的Gui这一块,我感觉是极端不适应(也许是我水平太差),幸而firefox和Google的一些小程序提供有了一种新的界面思路:一个后台服务+一个微型web服务器+网页界面.利用Ajax技术可以写出很好界面来(我写了一个默写单词软件网页界面的试验品,兼容firefox和IE6,下载地址:
http://groups.google.com/group/go2program/browse_thread/thread/5ee588253b70df77
中的附件 source.rar
)

所有在cpp@codingnow.com中高人的指点下我知道了asio.从而有了上面这些感慨.

下面是我翻译的关于宣布asio成为boost一员的Email,这是我第一次逐字逐句的翻译.水平有限(6级没过),望多指教.

原文:Jeff Garland
翻译:张沈鹏 http://blog.csdn.net/zuroc or http://www.cppblog.com/zuroc

大家好-
我很高兴的宣布asio(注:网络库)正式成为boost库的一员.正如其他Boost库的审查一样,asio的审查产生了许多的讨论,观点和争辩.评价归结于赞美,包括在工程中成功运用的例子,严肃的(库结构)设计方面的意见.公平的说,在我看来,asio是了一个通用,可靠的库,已经可以被加入Boost库--提供了开发者强烈要求的关键领域的应用.

当然,一如往常,asio还谈不上完美--不少关键性的问题这次审评并没有考虑.在此我仅列举审评中许多的意见中的一部分:

- 修正动态内存分配的问题
- 更改接口以在运行时ipv4和ipv6的无缝切换
- 改进以适应强类型的socket接口(????什么意思,请高手指教)

Chris已经获知了大量关于动态内存分的配解决方案,并且我会就接口和其他方面的问题在Boost的邮件列表上进行跟踪讨论以期能尽善尽美.

其他可以作为进一步增强重要的改进包括:

- 尽可能减少c风格的接口
- 和iostream进一步的整合
- 性能优化
- 改进文档(不要成为Boost w/o this one //???怎么翻译)

Chris has a much longer list of changes garnered from the review and is well on his way to addressing many of them.
Chris有着一个更长的针对审评意见的改进计划表,同时他与建议者有着很好的连续.

注意,有几个讨论是关于性能的,这是asio所涉及领域的核心问题.其中一个就是上面提到的动态内存分配.一般而言,审评者对此的期望很高.然而,在审评讨论之后,在我的印象中许多开发者发现asio只要改进内存分配,它的表现就已经足够胜任重要的工程.(但)我希望Chris在开发asio余下的时间里,可以采纳审评者的一些其他方面的性能意见.

再一次我为Boost社区延迟公布审评结果而抱歉.这次推迟完全是由于我的时间安排问题,与asio无关.再次感谢所有的审评者的贡献,尤其向Chris为Boost添加asio而作出的巨大努力致敬.

原文:
From: Jeff Garland

All -

I'm pleased to announce that asio has been accepted into Boost. As usual with a Boost review, the asio review generated plenty of discussion, issues, and controversy. Comments ranged from high praise,including success stories of projects in production, to serious design concerns and issues. On balance, in my judgment, asio provides a generally solid library that is ready for inclusion into the Boost library -- providing key functionality in an area that developers have a strong need.

Of course, like anything else, asio is not perfect -- a number of key issues were uncovered during the review. In terms of required changes I'm only going to cite a few:

- Fixes to dynamic memory allocation issues
- Interface changes to support ipv4 and ipv6 seamlessly at runtime
- Improvements to support strongly typed socket interfaces

Chris has communicated a couple possible solutions to the memory allocation issue and I'll ask that the interface and other changes for this issue continue to be discussed on the Boost list so consensus can be achieved on the best resolution.

Other key improvements that should be explored as future enhancements include:

- Possible removal of some of the c-style interfaces
- Exploration of higher level iostream integrations
- Performance improvements
- Improved documentation (wouldn't be Boost w/o this one)

Note that there were several threads and discussions about performance,which is particularly critical for the domain covered by asio. One of the performance issues is the dynamic memory allocation issue cited above. In general, the reviewers have extremely high expectations here. However, after reviewing the discussion and library it's my belief that
many developers will find asio performance sufficient to build significant projects with only the memory allocation changes. I expect Chris will be able to address some of the other performance issues cited by reviewers in asio over time.

Once again I'll apologize to the Boost community for the delay in the review results. The delay was entirely due to my own personal scheduling issues and should not reflect on asio in any way. Thanks again to all the reviewers for their effort and especially to Chris for his tremendous effort in bringing asio to Boost!

Jeff

posted on 2006-08-05 23:45 张沈鹏 阅读(736) 评论(0)  编辑 收藏 引用 所属分类: C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理