[阅读: 351] 2005-11-30 03:58:43
标准和现实世界
ISO 标准对 C++ 社区来说是很重要的, 但是它显然只是影响 C++ 程序开发的一小部分因素. 先不提的语言, 现有的数量巨大的系统和库, 是 C++ 现状的一部分. 这影响到了我们对于语言特征和库的考虑. 更进一步的是, 大多数对语言和库的扩展建议都或多或少的以 "做 X 语言能做的" 这样的方式开头. 我猜想大概任何语言的每个不错的特性, 都在某个时候被建议到 C++ 了. 作为专业人士, 大多数委员会成员相当熟悉多种语言. 我们在这方面的经验指导着我们的设计决策. 对于 C++ 和 ISO C 之间的关系的一些技巧问题, 请参见 [9].
C++0x 的开发必须及时进行以便能够得到开发商的支持. 新的语言特性必须要比 C++98 [ISO, 1998] 的大多数困难的特性来得容易实现. 作为程序员 - 特别是作为在许多种系统上工作的程序员 - 我们不喜欢方言. 不过方言总是会存在的. 与操作系统, 数据库, 中间件的绑定以及某种喜好是非标准的方言的主要来源. 对标准以前的部件的支持是另一个来源. 第三个来源是为了支持 "少数的" 需求; 那些对于某个小型的社区是基本的功能, 但是却与大多数 C++ 社区无关. 我的建议是, 程序员们只要可能就要避免使用非标准的特性. 当没法做到的时候 - 就像在大型系统的一部分里 - 我建议把对非标准特性的使用局部化, 并通过一个使用 ISO 标准 C++ 写的接口来访问它们. C++ 增强通用抽象机制的一个目标就是使得对这种非标准代码的封装变得更容易些. 否则就会变得与供应商锁定了.
总结一下: 我们不可能做所有事. 我们所做的受到了实际的软件开发关系, 兼容性, 以及语言设计方面的限制.
若你在年轻时上过水木, 它会一生跟随着你, 如一场浮动的盛宴
禁色和禁果仍被保存吗?
这世界有否给潜移默化?
离过家回了家仍住中环吗?
-----信有带到新居里烧吗?
一切美好的都会消失
人要是没有理想, 跟咸鱼有什么两样?
“把人们引向艺术和科学的最强烈动机之一,是要逃避日常生活中令人厌恶的粗俗和使人绝望的沉闷,是要摆脱人们自己反复无常的欲望的桎梏。一个修养有素的人总是渴望逃避个人生活而进入客观直觉和思维的世界。”
不要忘了,这个世界穿透一切高墙的东西,它就在我们的内心深处,他们无法达到,也接触不到,那就是希望。(FROM《肖申克的救赎》)