Biblioteca (programación)

Biblioteca (del inglés  library ) en programación  : una colección de subrutinas u objetos utilizados para desarrollar software (software). Desde el punto de vista del sistema operativo (SO) y el software de aplicación , las bibliotecas se dividen en dinámicas y estáticas.

El término "biblioteca de subrutinas", aparentemente, fue uno de los primeros mencionados por Wilks M. , Wheeler D. , Gill S. como una de las formas de organizar los cálculos en una computadora [1] [2] . Con base en lo que se afirma en su libro, la biblioteca se entendía como un conjunto de "programas cortos y preparados previamente para operaciones computacionales (estándar) individuales y frecuentes" [3] .

Bibliotecas para lenguajes compilados

Bibliotecas Dinámicas

Una biblioteca dinámica es un archivo que contiene código de máquina . Cargado en la memoria del proceso por el cargador de programas del sistema operativo, ya sea cuando se crea el proceso o a petición de un proceso que ya se está ejecutando , es decir, de forma dinámica. [cuatro]

Extensiones de nombre de archivo de bibliotecas dinámicas en diferentes sistemas operativos
Extensión sistema operativo Descifrado Nota
so UNIX inglés  s compartido sobre el objeto
dylib Mac OS inglés  biblioteca dinámica _ _
library sistema operativo amigo Almacenado en el volumen lógico Libs :
dll Sistema operativo Microsoft Windows / 2 inglés  biblioteca de tinta de enlace dinámico

Dependiendo del propósito, hay:

Al escribir un programa, es suficiente que un programador le diga al traductor ( compilador o intérprete ) la ruta a la biblioteca y el nombre de la función . Ni el texto fuente de la función ni su código ejecutable se incluirán en el programa.

ventajas:

Defectos:

Bibliotecas estáticas

Una biblioteca estática es un archivo de objeto en forma de archivo (a menudo se puede entregar junto con el código fuente), cuyo código se inserta de forma selectiva o completa en el programa en la etapa de enlace.

El compilador convierte las bibliotecas distribuidas como código fuente en archivos objeto . El enlazador [6] luego combina los archivos de objeto de la biblioteca y los archivos de objeto de su programa en un solo archivo ejecutable.

Por ejemplo, en los textos fuente se distribuyen:

Las bibliotecas distribuidas como archivos de objetos están listas para vincularse. El enlazador vincula los archivos objeto de las bibliotecas y los archivos objeto de su programa durante la creación del ejecutable.

Extensiones de archivos de objetos de bibliotecas estáticas en diferentes sistemas operativos .

Extensión sistema operativo
" a" UNIX
" lib" Microsoft Windows

Las bibliotecas estándar de muchos lenguajes de programación compilados ( Fortran , Pascal , C , C++ y otros) se distribuyen como archivos de objetos.

ventajas:

Defectos:

Bibliotecas para lenguajes interpretados

Una biblioteca es un archivo que contiene código en un lenguaje interpretado o código de bytes para una máquina virtual .

Por ejemplo, las bibliotecas para el lenguaje Python se pueden distribuir como archivos con código fuente (extensión “ py”), o como archivos con código de bytes [7] (extensión “ pyc”, la letra “c” del inglés  compilado ). Una de las bibliotecas para el lenguaje Python es Tkinter . [ocho]

Véase también

Notas

  1. Wilkes MV, Wheeler DJ, Gill S. Preparación de programas para una computadora digital electrónica. — Addison-Wesley, 1951.
  2. Wilks M., Wheeler D., Gill S. "Programación para máquinas calculadoras electrónicas". Editorial de Literatura Extranjera, 1953
  3. Volchenskova, Nadezhda Ivanovna, Tecnología de implementación multimáquina y soporte vital de bibliotecas de subrutinas matemáticas computacionales en el lenguaje Fortran, resumen de la disertación, 1984 . Consultado el 9 de octubre de 2012. Archivado desde el original el 3 de mayo de 2012.
  4. Savelyev A. M. APLICACIÓN DE LA BIBLIOTECA DINÁMICA TRANSLIB PARA EL CÁLCULO DE LAS PROPIEDADES DE TRANSPORTE DE MEZCLAS DE GASES EN REACCIÓN  (rus.)  // Revista "Aircraft Engines". — 2019.
  5. Robert Elder. Las interfaces son un concepto esencial en el desarrollo de software . — 2020. Archivado el 6 de marzo de 2021.
  6. jsmanifest. Enlazador en JavaScript . — 2020. Archivado el 11 de septiembre de 2020.
  7. Compilación de archivos python Archivado el 6 de febrero de 2021 en Wayback Machine . Documentación de Python en docs.python.org.
  8. BUKHAROV T.A., NAFIKOVA A.R., MIGRANOVA E.A. Descripción general del lenguaje de programación PYTHON y sus bibliotecas  (ruso)  // COLLOQUIUM-JOURNAL. — 2019.

Literatura