# Biblioteca estàndard

En programació d'ordinadors, una biblioteca estàndard és la biblioteca disponible a través d'implementacions d'un llenguatge de programació. Aquestes biblioteques es descriuen convencionalment a les especificacions del llenguatge de programació; tanmateix, els continguts de la biblioteca associada a una llengua també poden estar determinats (en part o en la seva totalitat) per pràctiques més informals de la comunitat d'una llengua.

## Visió general

La biblioteca estàndard d'un idioma és sovint tractada com a part del llenguatge pels seus usuaris, encara que els dissenyadors poden haver-la tractat com una entitat separada. Moltes especificacions d'idioma defineixen un conjunt bàsic que ha d'estar disponible en totes les implementacions, a més d'altres parts que es poden implementar opcionalment. Per tant, la línia entre una llengua i les seves biblioteques difereix d'una llengua a una altra. De fet, alguns llenguatges estan dissenyats de manera que els significats de determinades construccions sintàctiques ni tan sols es poden descriure sense fer referència a la biblioteca central. Per exemple, a Java, un literal de cadena es defineix com una instància del java.lang. classe de corda; de la mateixa manera, a Smalltalk, una expressió de funció anònima (un "bloc") construeix una instància de la classe BlockContext de la biblioteca. Per contra, Scheme conté múltiples subconjunts coherents que són suficients per construir la resta del llenguatge com a macros de biblioteca, de manera que els dissenyadors del llenguatge ni tan sols es molesten a dir quines parts del llenguatge s'han d'implementar com a construccions del llenguatge i quines s'han d'implementar com a parts. d'una biblioteca.

## Continguts

Les biblioteques estàndard solen incloure definicions per als algorismes d'ús habitual, estructures de dades i mecanismes d'entrada i sortida. Depenent de les construccions disponibles per l'idioma amfitrió, una biblioteca estàndard pot incloure:
* Subrutines
* Definicions de macro
* Variables globals
* Definicions de classe
* Plantilles
La majoria de biblioteques estàndard inclouen definicions com a mínim per a les instal·lacions d'ús habitual següents:
* Algorismes (com ara algorismes d'ordenació)
* Estructures de dades (com ara llistes, arbres i taules hash)
* Interacció amb la plataforma host, incloses les trucades d'entrada/sortida i del sistema operatiu

## Exemples de biblioteques estàndard

* Biblioteca estàndard C, per al llenguatge de programació C
* C++ Standard Library, per al llenguatge de programació C++
* Framework Class Library (FCL), per a NET Framework
* Java Class Library (JCL), per al llenguatge de programació Java i Java Platform
* Factor biblioteca estàndard, per al llenguatge de programació Factor
* Biblioteca estàndard Ruby, per al llenguatge de programació Ruby
* Biblioteca estàndard de Python, per al llenguatge de programació Python
* Biblioteques estàndard (CLI)

## Referències

* ↑ Laboratories, Monocasual. «What are the C and C++ Standard Libraries?» (en anglès). [Consulta: 11 desembre 2023].
* ↑ Top 12 Python Libraries For 2021- Codersera Blog (en anglès), 2021-02-16.
* ↑ «The Python Standard Library» (en anglès). [Consulta: 11 desembre 2023].
* ↑ «A Tour of the Standard Library» (en anglès). [Consulta: 11 desembre 2023].