domingo, 26 de agosto de 2012

¿Que es una librería o biblioteca en informática?

Se emplea el término librería para referirse a una biblioteca, por la similitud con el original inglés library. Ambos términos, biblioteca y librería, son correctos según las definiciones de la RAE, aunque en términos formales, la acepción correcta es biblioteca, porque es la traducción correcta de library.


Independientemente de lo anterior comentado, una biblioteca es un Kit de herramientas software pequeño y autónomo que ofrece una funcionalidad muy específica al usuario. Normalmente se usa junto con otras librerías y herramientas para hacer una aplicación completa, ya que por lo general las bibliotecas no son ejecutables, pero sí pueden ser usadas por ejecutables que las necesiten para poder funcionar.

Imaginemos que estamos haciendo programas de ordenador, nos damos cuenta que algunas partes del código se utilizan en muchos de ellos. Por ejemplo, podemos tener varios programas que utilizan números complejos y las funciones de suma, resta, etc son comunes. También es posible, por ejemplo, que nos guste hacer juegos, y nos damos cuenta que estamos repitiendo una y otra vez el código para mover una imagen por la pantalla. Sería estupendo poder meter esas funciones en un directorio separado de los programas concretos y tenerlas ya compiladas, de forma que podamos usarlas siempre que queramos.

Las ventajas enormes de esto son:
·         No tener que volver a escribir el código (o hacer copy-paste).
·         Nos ahorraremos el tiempo de compilar cada vez ese código que ya está compilado. Además, ya sabemos que mientras hacemos un programa, probamos y corregimos, hay que compilar entre muchas y "más muchas" veces.
·         El código ya compilado estará probado y será fiable. No las primeras veces, pero sí cuando ya lo hayamos usado en 200 programas distintos y le hayamos ido corrigiendo los errores.

La forma de hacer esto es hacer librerías. Ya que hemos quedado que una librería son una o más funciones que tenemos ya compiladas y preparadas para ser utilizadas en cualquier programa que hagamos.
Existen dos tipos de librerías:
·         Librerías estáticas à Es una librería que "se copia" en nuestro programa cuando lo compilamos. Una vez que tenemos el ejecutable de nuestro programa, la librería no sirve para nada (es un decir, sirve para otros futuros proyectos). Podríamos borrarla y nuestro programa seguiría funcionando, ya que tiene copia de todo lo que necesita. Sólo se copia aquella parte de la librería que se necesite. Por ejemplo, si la librería tiene dos funciones y nuestro programa sólo llama a una, sólo se copia esa función.
·         Librerías dinámica à NO se copia en nuestro programa al compilarlo. Cuando tengamos nuestro ejecutable y lo estemos ejecutando, cada vez que el código necesite algo de la librería, irá a buscarlo a ésta. Si borramos la librería, nuestro programa dará un error de que no la encuentra. Windows está construido sobre una gran cantidad deDLL's, y es que Windows guarda sus librerías de enlace dinámico en archivos que tienen extensión DLL.

 Toda librería ofrecerá un Interfaz de programación de aplicaciones (API) que es el conjunto de métodos que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción
Ejemplo: En .Net System.IO.File es una librería que en su API tiene el método GetFileContents()

9 comentarios:

  1. excelente tu definición analítica, me aclaraste todas las dudas y otras que sabia..Gracias!!!

    ResponderEliminar
  2. Disculpa, pero te agradeceria enormemente si puedieras darme las diferencias entre las Librerias o Bibliotecas y los archivos de cabecera porque los encuentro relativamente parecidos.

    ResponderEliminar
  3. Gracias, esta muy claro....

    ResponderEliminar
  4. Gracias, muy buena y clara información

    ResponderEliminar
  5. Muy aclaratorio y fija la diferencia, gracias..

    ResponderEliminar
  6. Excelente, muchas gracias!

    ResponderEliminar
  7. https://exe.io/haisosoeohekrp010

    ResponderEliminar