C++之父Bjarne谈C++的未来发展

C++之父Bjarne谈C++的未来发展,第1张

C++之父Bjarne谈C++的未来发展,第2张

充满活力的语言需要不断的变化和成长,C++也不例外。在这篇文章中,比雅尼·斯特劳斯特鲁普对C++的设计和发展提出了自己的看法。

为了让编译器、工具和类库实现者跟上步伐,让用户吸收标准C++支持的编程技术,委员会在沉寂数年后再次考虑语言扩展的问题。成立了“扩大工作组”,取代了“进化工作组”。名称的改变(由Tom Plum建议)反映了语言特性和标准类库工具的更重要的集成。我仍然是工作组的主席。希望这样可以保证C++版本的一致性和最终结果的一致性。同样,委员会的成员也显示了大量人员和组织的持续参与。幸运的是,出现了许多新面孔,给委员会带来了新的影响和新的专家意见。

我们打算对语言本身的变化持谨慎和保守的态度,重点是兼容性。主要目的是将主要精力引导到标准类库的扩展上。在标准类库方面,我们的目标是大胆进步,利用好每一个机会。

对于标准类库,我希望按照类库技术报告的元素来构建,让它成为更广阔的系统编程平台。例如,我希望看到在某些领域使用类库,如目录/文件夹操作、线程和套接字。也希望委员会同情很多新C++程序员,提供类库工具支持不同背景的新手(不是新程序员,也不是C的难民)。例如,我希望看到一个使用scope检查STL的标准方法。我对标准GUI(图形用户界面)的期望很低,它是最常被要求添加到标准类库中的。然而,奇迹有时会发生——还记得STL吗?

至于语言本身,我想强调支持泛型编程的特性,因为泛型编程是语言的使用已经取得进展的一个领域。在这里,我将研究两个关键部分:

概念:模板参数的类型系统

初始化列表:初始化工具的概括

同过去一样,建议的数量仍然远远超过委员会能够处理的数量和语言能够吸收的数量。记住,不可能接受所有好的建议。
扩展该语言以支持泛型编程的整体目标是为工具提供更大的一致性,允许我们直接用泛型表示用于解决问题的类。

我的另一个重点(以及对泛型编程的更好支持)是更好地支持初学者。目前,有一个明显的趋势是,这些建议照顾提出和评估建议的专家用户。一些简单地帮助那些新手的建议经常被忽视。我认为这是一个潜在致命的设计偏好。除非完全支持新手,否则只有少数人能成为专家。再说,很多人不想当专家;希望他们还是“偶然的C++用户”。比如用C++进行物理计算或者控制实验设备的物理学家,只有有限的时间学习编程技术。计算机专家可能会在编程技术上花很多时间,而不仅仅是期望。我们必须消除采用先进技术的不必要的障碍。

一个非常简单的例子如下:

向量v;

在C++ 98中,这将导致语法错误,因为> >是单个词法标记,而不是封闭模板参数列表中的两个>。v的正确表述可能是:

向量<向量> v;

我认为这是一个障碍。我曾经建议应该解决这个问题,但是现在的规则和进化工作组以一些很好的理由拒绝了我的建议两次。不过这些理由都是关于语言技术的,新手(包括其他语言的专家)不感兴趣。不接受第一个(也是非常)明显的V语句,浪费了用户和老师的时间。希望> >问题和其他类似的“障碍”不会再出现在C++0x中。实际上,我和弗朗西斯·格拉斯博罗等人一起,正在试图系统地消除最常见的“障碍”。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++之父Bjarne谈C++的未来发展

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情