Articulo de referencia

Biblioteca estándar

En programación informática , una biblioteca estándar es la biblioteca disponible en todas las implementaciones de un lenguaje de programación . Estas bibliotecas se describen c...

En programación informática , una biblioteca estándar es la biblioteca disponible en todas las implementaciones de un lenguaje de programación . Estas bibliotecas se describen convencionalmente en las especificaciones del lenguaje de programación ; sin embargo, el contenido de la biblioteca asociada a un lenguaje también puede estar determinado (en parte o en su totalidad) por prácticas más informales de la comunidad de un lenguaje.

Descripción general

La biblioteca estándar de un lenguaje suele ser tratada como parte del lenguaje por sus usuarios , aunque los diseñadores pueden haberla tratado como una entidad separada. Muchas especificaciones de lenguaje definen un conjunto central que debe estar disponible en todas las implementaciones , además de otras partes que pueden implementarse opcionalmente. Por lo tanto, la línea entre un lenguaje y sus bibliotecas difiere de un lenguaje a otro. De hecho, algunos lenguajes están diseñados de modo que los significados de ciertas construcciones sintácticas ni siquiera pueden describirse sin hacer referencia a la biblioteca central. Por ejemplo, en Java , un literal de cadena se define como una instancia de la clase java.lang.String; de manera similar, en Smalltalk , una expresión de función anónima (un "bloque") construye una instancia de la clase BlockContext de la biblioteca. Por el contrario, Scheme contiene múltiples subconjuntos coherentes que son suficientes para construir el resto del lenguaje como macros de biblioteca, por lo que los diseñadores del lenguaje ni siquiera se molestan en decir qué partes del lenguaje deben implementarse como construcciones del lenguaje y cuáles deben implementarse como partes de una biblioteca.

Contenido

Las bibliotecas estándar suelen incluir definiciones de algoritmos, estructuras de datos y mecanismos de entrada y salida de uso común. Según las construcciones que pone a disposición el lenguaje anfitrión, una biblioteca estándar puede incluir:

La mayoría de las bibliotecas estándar incluyen definiciones para al menos las siguientes funciones de uso común:

Filosofías

Las filosofías de diseño de bibliotecas estándar varían ampliamente. Por ejemplo, Bjarne Stroustrup , diseñador de C++ , escribe:

¿Qué debería haber en la biblioteca estándar de C++? Un ideal para un programador es poder encontrar todas las clases, funciones, plantillas, etc. interesantes, significativas y razonablemente generales en una biblioteca. Sin embargo, la pregunta aquí no es "¿Qué debería haber en alguna biblioteca?" sino "¿Qué debería haber en la biblioteca estándar ?" La respuesta "¡Todo!" es una primera aproximación razonable a la respuesta a la primera pregunta, pero no a la segunda. Una biblioteca estándar es algo que cada implementador debe proporcionar para que cada programador pueda confiar en ella. [1]

Esto sugiere una biblioteca estándar relativamente pequeña, que contiene solo las construcciones que "todo programador" podría requerir razonablemente al crear una gran colección de software. Esta es la filosofía que se utiliza en las bibliotecas estándar de C y C++ .

Por el contrario, Guido van Rossum , diseñador de Python , ha adoptado una visión mucho más inclusiva de la biblioteca estándar. Python intenta ofrecer un lenguaje de alto nivel, orientado a objetos y fácil de codificar. [ cita requerida ] En el tutorial de Python, escribe:

Python tiene una filosofía de "baterías incluidas". Esto se aprecia mejor en las capacidades sofisticadas y robustas de sus paquetes más grandes. [2]

Van Rossum continúa enumerando bibliotecas para procesar XML , XML-RPC , mensajes de correo electrónico y localización, funciones que la biblioteca estándar de C++ omite. Esta otra filosofía se encuentra a menudo en lenguajes de scripting (como Python o Ruby ) o lenguajes que utilizan una máquina virtual , como Java o los lenguajes .NET Framework . En C++, estas funciones no forman parte de la biblioteca estándar, sino que se incluyen en otras bibliotecas, como Boost .

Ejemplos de bibliotecas estándar

Referencias

  1. ^ Bjarne Stroustrup. El lenguaje de programación C++ . 3.ª edición. Addison-Wesley, 1997
  2. ^ Guido van Rossum. [1].
Obtenido de "https://es.wikipedia.org/w/index.php?title=Biblioteca_estándar&oldid=1237028953"