由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
分享到:
相关推荐
1. **游戏开发**:利用Boost库中的图形库和网络库可以快速开发高质量的游戏。 2. **科学计算**:Boost库中的数学库、统计库等非常适合于科学计算领域。 3. **金融软件**:Boost库提供了丰富的日期时间处理功能,适用...
5. **多线程(Multi-Threading)**:Boost.Thread库提供了多线程编程的接口,包括线程的创建、同步、条件变量等功能,使C++支持并发编程。 6. **序列化(Serialization)**:Boost.Serialization库可以帮助将C++...
Failed to build Boost.Build engine. Please consult bootstrap.log for further diagnostics. 查看bootstrap.log日志文件,结果是: Unknown toolset: vcunk 然后我打开bootstrap.bat查看(notepad++之类的工具), 我...
1. **Boost.Asio**:这是一个强大的异步I/O库,广泛用于网络编程。它提供了一种统一的接口来处理各种I/O操作,如网络通信、定时器和信号处理。在RPC中,Boost.Asio被用来处理客户端和服务器之间的网络通信,实现高效...
5. **线程与并发**:Boost.Asio是网络编程和异步I/O的基础,而`thread`库提供了线程管理和同步原语,如互斥锁、条件变量等。这些组件为多线程和并发编程提供了强大的支持。 6. **日期和时间**:Boost.Date_Time库...
Boost是一个C++库集合,提供了各种工具来增强应用程序的性能,包括线程管理、正则表达式、图形算法等。在MySQL中引入Boost库,可以进一步提升其性能和功能。 `mysql-boost-5.7.20.tar.gz` 是MySQL的一个特定版本,...
Boost程序库探秘.深度解析C++准标准库.第2版(含封面、目录的完整版 不带书签).part1
基于C++11与boost库实现boost搜索引擎源码.zip基于C++11与boost库实现boost搜索引擎源码.zip基于C++11与boost库实现boost搜索引擎源码.zip基于C++11与boost库实现boost搜索引擎源码.zip基于C++11与boost库实现boost...
6. **兼容性**: Boost.URL库设计时考虑了与其他Boost库的兼容性,可以方便地与Boost.Asio、Boost Beast等库结合使用,实现网络通信功能。 7. **性能优化**: 由于直接操作内存结构而非字符串,Boost.URL库在处理大量...
它涵盖了Boost库的主要组件,包括Boost.Asio(网络编程)、Boost.Filesystem(文件系统操作)、Boost.Thread(多线程支持)、Boost.Serialization(序列化)等,以及如何将这些库集成到实际项目中。 第二本书...
All Operating Systems (Generic) (Architecture Independent), Compressed TAR Archive Includes Boost Headers (mysql-boost-8.0.31.tar.gz)
Boost库多线程.pdf
**Boost.Asio C++ 网络编程**是C++编程领域中专注于网络通信的一门技术,由Boost库提供支持。Boost.Asio是Boost库的一部分,它为C++程序员提供了低级和高级的网络API,使得开发高效、可扩展的网络应用程序变得简单。...
Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,...
5. **正则表达式**:Boost.Regex库提供了强大的正则表达式支持,与C++标准库中的版本相比,功能更为全面,性能更优。 6. **文件系统操作**:Boost.Filesystem库简化了对操作系统文件系统的操作,如文件的创建、删除...
《Boost程序库探秘:深度解析C++准标准库》内容简介:Boost程序库由C++标准委员会部分成员所设立的Boost社区开发并维护,它功能强大、构造精巧、跨平台、开源并且完全免费,被称为“C++‘准’标准库。此版本带目录...
b2.exe是Boost库后续版本中引入的构建工具,它是bjam的升级版,也被称为Boost.Build V2。b2工具在bjam的基础上进行了优化和改进,提供了更强大的功能,如更好的并行构建支持、更灵活的配置选项,以及对现代C++标准的...
Boost程序库探秘.深度解析C++准标准库.第2版(含封面、目录的完整版 不带书签).part2 没有时间做书签
- **发展历程**:Boost库由C++标准委员会的库工作组成员发起,自成立以来,其社区成员数量已经接近2000人,可见其在C++开发领域的重要地位。 - **技术价值**:Boost库不仅为开发者提供了最新、最实用的技术支持,...