标准库

编程语言标准库是该语言的每种实现中都按例提供的函式庫。在某些情况下,编程语言规格说明中会直接提及该函式庫;另一些情况下,标准库的内容由编程社区中的非正式惯例决定。

根据宿主语言构成要素的不同,标准库可包含如下要素:

大多数标准库都至少含有如下常用组件的定义:

哲学

[编辑]

标准库设计的哲学多种多样。比如,C++的设计者 Bjarne Stroustrup 写道:

C++标准库应该是什么?程序员的一个理想是在库中找到所有有趣、重要、适度通用的类、函数、模板等等。然而,这里我们问的不是“某个库里应该有什么?”而是“标准库里应该有什么”回答“所有!”对前者来说是一个合理的答案,而对后者不然。标准库是每一个实现者都必须提供的东西,以便让每一个程序员能够依赖于它。[1]

这就是相对较小的标准库,只包含“每一个程序员”在构建多种软件时都实际可能需要的要素。这就是 CC++标准库中的哲学。

相对的,Python 的设计者 Guido van Rossum 对标准库的看法要更倾向于包容,他在 Python 教程中写道:

Python 有“已含电池”的哲学,这从它的庞大软件包复杂而又可靠的能力中就可以看出端倪。[2]

Van Rossum 于是列举了处理 XMLXML-RPC、电子邮件信息、和本地化的库,这些都是被 C++ 标准库所忽略的。这种哲学经常可以在脚本语言(如 PythonRuby)和使用虚拟机的语言(如 Java.NET框架 语言)中找到。

标准库举例

[编辑]

参考

[编辑]
  1. ^ Bjarne Stroustrup. The C++ Programming Language. 3rd Ed. Addison-Wesley, 1997
  2. ^ Guido van Rossum. Python Tutorial 互联网档案馆存檔,存档日期2008-09-28..