Remove ads
来自维基百科,自由的百科全书
编程语言的标准库是该语言的每种实现中都按例提供的函式庫。在某些情况下,编程语言规格说明中会直接提及该函式庫;另一些情况下,标准库的内容由编程社区中的非正式惯例决定。
根据宿主语言构成要素的不同,标准库可包含如下要素:
大多数标准库都至少含有如下常用组件的定义:
标准库设计的哲学多种多样。比如,C++的设计者 Bjarne Stroustrup 写道:
C++标准库应该是什么?程序员的一个理想是在库中找到所有有趣、重要、适度通用的类、函数、模板等等。然而,这里我们问的不是“某个库里应该有什么?”而是“标准库里应该有什么”回答“所有!”对前者来说是一个合理的答案,而对后者不然。标准库是每一个实现者都必须提供的东西,以便让每一个程序员能够依赖于它。[1]
这就是相对较小的标准库,只包含“每一个程序员”在构建多种软件时都实际可能需要的要素。这就是 C和C++标准库中的哲学。
相对的,Python 的设计者 Guido van Rossum 对标准库的看法要更倾向于包容,他在 Python 教程中写道:
Python 有“已含电池”的哲学,这从它的庞大软件包复杂而又可靠的能力中就可以看出端倪。[2]
Van Rossum 于是列举了处理 XML、XML-RPC、电子邮件信息、和本地化的库,这些都是被 C++ 标准库所忽略的。这种哲学经常可以在脚本语言(如 Python 和 Ruby)和使用虚拟机的语言(如 Java 和 .NET框架 语言)中找到。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.