您真的认为 C 和 C++ 可以合并为同一种语言吗?
我认为如果它们能合并为同一种语言,对 C/C++ 社群(community)来说实在是再好不过了。也就是说,如果能够系统且完全地消除 C/C++ 的不兼容性,并且有组织地防止它们未来的发展产生新的不兼容性,这就太好了。可能与否那就是另外一回事了。
我的基本观点是,C/C++ 目前的不兼容性源于“历史的偶然”,而非什么特殊的原因,尽管对于某些能人善士来说,它们“在那时看来都是非常好的主意”。 C/C++ 的不兼容性对 C/C++ 社群普遍没有什么好处,反而对社群中的大部分人造成不少严重麻烦,所以应该通过不懈的努力消除它们的不兼容性。
欲了解我对 C/C++ 兼容性的看法的更详细的陈述,请参考我就这个问题写的一系列论文:
B. Stroustrup: C and C++: Case Studies in Compatibility. The C/C++ Users Journal. September 2002. Pdf version.
B. Stroustrup: C and C++: A Case for Compatibility. The C/C++ Users Journal. August 2002. Pdf version.
B. Stroustrup: C and C++: Siblings. The C/C++ Users Journal. July 2002. Pdf version.
B. Stroustrup: Sibling rivalry: C and C++. AT&T Labs - Research Technical Report. TD-54MQZY. January 2002.
我想象着不兼容性(通过同时对 C 和 C++ 进行修改)最终被消除掉后,仍然会存在 C 和 C++ 这两种的语言,但届时,C 就真的可以被称之为 C++ 的子集了。
请注意,这些论文都是 2001 年末到 2002 年初之间写的,那时仍然能够看到一个希望,就是 C 和 C++ 标准委员会相互协作,最终在十年内制定出一个可行的方案。然而,这并没有发生。
原文地址:http://www.research.att.com/~bs/bs_faq.html#merge
本文版权归 蚂蚁的 C/C++ 标准编程 以及 作者 Bjarne Stroustrup 翻译:antigloss 共同所有,转载请注明原作者和出处。谢谢。