Discusión:Biblioteca (informática)

message: Por qué al comienzo del artículo se dice que en ciencias de la computación [...] (nótese el destino del enlace)?
No sería más correcto decir, directamente, en informática [...] ?
Voy a cambiarlo, porque:
* Existen ambos conceptos en la base de artículos: informática vs. ciencias de la computación
* Veo más razonable que siga apuntando a informática, pues una biblioteca, aunque se estudia por las ciencias de la computación para, por ejemplo, definir sus características de vinculado estático o dinámico(en); pero su utilidad ocurre en la práctica, y no en su estudio teórico.
No sé si me he explicado bien, si hay cualquier problema, reviertan la edición o comenten ;) --Usuario:Santhy (disc. • contrib.) 13:32 2 jun 2013 (UTC)
replies: text: Totalmente de acuerdo con el cambio. Saludos, Farisori » 08:55 11 jun 2013 (UTC)
thread_title:  ¿Ciencias de la computación? 

message: No estoy muy de acuerdo con lo que versa el primer párrafo. Lo copio en su edición actual:
: En informática, una biblioteca (del inglés library) es un conjunto de subprogramas utilizados para desarrollar software. Las bibliotecas contienen código y datos, que proporcionan servicios a programas independientes, es decir, pasan a formar parte de estos. Esto permite que el código y los datos se compartan y puedan modificarse de forma modular. Algunos programas ejecutables pueden ser a la vez programas independientes y bibliotecas, pero la mayoría de estas no son ejecutables. Ejecutables y bibliotecas hacen referencias (llamadas enlaces) entre sí a través de un proceso conocido como enlace, que por lo general es realizado por un software denominado enlazador.
 
Por varias razones (todas precedidas por un en mi opinión):
* Una biblioteca, además de procedimientos y funciones también puede contener otro material relevante, como constantes, con lo que me parece inexacto decir que es un conjunto de subprogramas.
* Además, código y datos es la forma en la que internamente se organizan los fragmentos de memoria de un programa, tanto en el fichero ejecutable como en el programa residente en memoria, pero no es que lo contengan por ser bibliotecas, sino que es propio de ellas al igual que lo es de un programa ejecutable cualquiera.
* No tiene mucho sentido decir que proporcionan servicios a programas independientes y a continuación decir que pasan a formar parte de estos. Pero además es inexacto: una biblioteca, en sí misma, es algo autónomo, que contiene cierto comportamiento que es independiente de un programa. Sin embargo, que forme o no parte de un programa cuando se compile éste va a venir determinado por cómo se compila la biblioteca junto con el programa:
** si se trata como un fichero objeto más y se incluye una copia en el programa, entonces pasa a formar parte de él, pero el programa ya no necesitará el fichero original de biblioteca que se incrustó al compilarlo;
** mientras que si se trata como una biblioteca compartida y se enlaza al programa ejecutable mediante un vínculo dinámico entonces no formará parte de él (sino que el programa será dependiente de ella), y simplemente habrá metadatos que referencian este vínculo, en el programa tan solo constarán esbozos (en forma de secciones @plt en los ficheros ELF por ejemplo) que le pedirán al entorno del enlazador de vínculos dinámicos (ld.so) el código real de la función ,cargando el fichero de la biblioteca compartida.
* Por otra parte, no solo son utilizados para desarrollar software, sino que además son necesarias en muchos casos tenerlas residentes en el equipo final. Por ejemplo, los recursos para el tiempo de ejecución de .NET para Windows son necesarios hasta el usuario final para que las aplicaciones que los utilizan funcionen.
Si bien todo esto es un razonamiento más profundo de lo que cabe en un primer párrafo, así que teniendo esto en cuenta, he considerado editarlo para que verse así:
: En informática, una biblioteca (del inglés library) es un conjunto de implementaciones de comportamiento, escritas para un lenguaje de programación, que tienen una interfaz bien definida para el comportamiento que se invoca. A diferencia de un programa ejecutable, el comportamiento que implementa una biblioteca no espera ser utilizada de forma autónoma (un programa sí: tiene un punto de entrada principal), sino que su fin es ser utilizada por otros programas, independientes y de forma simultánea. Por otra parte, el comportamiento de una biblioteca no tiene porqué diferenciarse en demasía del que pudiera especificarse en un programa. Es más, unas bibliotecas pueden requerir de otras para funcionar, pues el comportamiento que definen refina, o altera, el comportamiento de la biblioteca original; o bien la hace disponible para otra tecnología o lenguaje de programación. Las bibliotecas pueden vincularse a un programa (o a otra biblioteca) en distintos puntos del desarrollo o la ejecución, según el tipo de vínculo que se quiera establecer, tal y como se detalla en el apartado de #Tipos.
Tal vez lo haya dejado un poco embrollado, invito a cualquiera a corregirlo y simplificarlo, si lo considera.
Del mismo modo también modifico más abajo lo referente a bibliotecas dinámicas, con  ánimo de explicarlo en más profundidad.
--Usuario:Santhy (disc. • contrib.) 22:17 21 jun 2013 (UTC)
thread_title:  Primer párrafo