Junto con los compiladores de distintos lenguajes de programación sea este C++ por ejemplo, se incluyen ciertos archivos llamados bibliotecas más comúnmente librerías. Las bibliotecas contienen el código objeto de muchos programas que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar números, realizar funciones matemáticas, etc.
Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos y como imaginarás existen muchísimas librerías disponibles y todas con una función específica.
Definición
Se conoce como librerías (o bibliotecas) a
cierto tipo de archivos que podemos importar o incluir en el programa. Estos
archivos contienen las especificaciones de diferentes funcionalidades ya construidas
y utilizables que pueden agregar en dicho programa, como por ejemplo leer del
teclado o mostrar algo por pantalla entre muchas otras más.
Ahora
bien en ciencias de la computación, 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. Ahora
bien un freeware no posee una definición ampliamente aceptada, pero es
utilizada para programas que permiten la redistribución pero no la
modificación, y que incluyen su código fuente.
En
general, el término librería se utiliza para referirse a un conjunto de módulos
objeto .obj / .o (resultados de compilación) agrupados en un solo fichero que
suele tener las extensiones .lib, .bpl, .a, .dll, etc.
Ahora
bien, las librerías no son únicamente archivos externos creados por otros, también
es posible crear librerías propias y utilizarlas en nuestros programas. Las
librerías pueden tener varias extensiones diferentes y algunas más ya no tan
comunes.
Tipos de librerías
1.
Las bibliotecas estáticas
Históricamente, las bibliotecas solo podían
ser estáticas. Una biblioteca estática, también conocido como archivo es un
fichero contenedor con varios archivos de código objeto empaquetados, que en el
proceso de enlazado durante la compilación serán copiados y relocalizados (si
es necesario) en el fichero ejecutable final, junto con el resto de ficheros de
código objeto.
2.
Bibliotecas dinámicas
Las
bibliotecas dinámicas, también conocidas como vinculadas dinámicamente, o de
vínculos dinámicos son ficheros que contienen código objeto construido de forma
independiente de su ubicación de tal modo que están preparadas para poder ser
requeridas y cargadas en tiempo de ejecución por cualquier programa, en lugar
de tener que ser enlazadas, previamente, en tiempo de compilación.
Ventajas
de biblioteca dinámica con respecto a la estática
En cuanto a las ventajas entre estas dos
librerías es por medio enlace dinámico con respecto al estático, radica en que
el dinámico permite la reutilización no solo de código, sino de espacio físico:
un mismo fichero de biblioteca compartida puede ser utilizada por varios
programas sin que estos copien su contenido dentro de ellos.
Puede
reutilizarse memoria principal (RAM) para programas que utilicen la misma
biblioteca (por ejemplo, puede ser necesario cargar las bibliotecas de Qt “framework multiplataforma orientado
a objetos” solo una vez para todos los programas que las utilicen).
Por
otra parte, el mayor inconveniente es el aumento del tiempo de carga (debido a
tener que buscar el fichero de la biblioteca, cargarlo y relocalizar las
llamadas en el programa) y el aumento de una indirección a la hora de llamar a
las funciones de la biblioteca.
Lo
importante para cualquier librería o framework
que se elija es que exista la posibilidad en el futuro de reemplazarlo sin
estar encadenados a él y sin tener que reescribir el proyecto entero, esto
forma parte de las más básicas buenas prácticas de desarrollo, precisamente las
aplicaciones que se desarrollan en capas y los frameworks que separan modelo, de vista, de controlador tratan
de minimizar ese impacto.
Cuadro comparativo entre librerías estáticas y dinámicas.
Librerías en algunos los lenguajes de programación
Para
programar hay una abundancia tendencia de lenguajes, librerías, frameworks, tecnologías,
etc… disponibles para desarrollar un proyecto. Esto es muy bueno ya que se
puede elegir una combinación de cualquiera de ellas que se ajuste más a las
necesidades del proyecto.
El
lado malo de esta abundancia es que requiere analizar seguramente no todas pero
al menos las más nombradas, más usadas, con mejor documentación o con un
mantenimiento activo. Por la cantidad de opciones dicha tarea de análisis
requiere tiempo y esfuerzo ya que cualquiera de ellas puede servir para un propósito específico.
1.
Librería en java
En Java y en
otros lenguajes de programación más, existe el concepto de librerías. En Java
una librería se puede entender como un conjunto de clases, que poseen una serie
de métodos y atributos. Lo que es realmente interesante de estas librerías en
Java facilitan muchas operaciones. De una forma más completa, las librerías en
Java permiten reutilizar código, es decir que puede hacer uso de los métodos, clases
y atributos que componen la librería evitando así tener que implementar
nosotros mismos esas funcionalidades.
Java cuenta con
una extensa lista de librerías disponibles dentro del JDK o desarrolladas por
terceros, pero también las librerías en Java, los programadores pueden crear las librerías y hacer uso de
ellas al interior de los proyectos. Básicamente un paquete en Java puede ser
una librería, sin embargo una librería Java completa puede estar conformada por
muchos paquetes más. Al importar un paquete se puede hacer uso de las clases,
métodos y atributos que lo conforman, así que eso de las librerías no es solo
trabajo de otros sino que se puede crear librerías propias y usarlas.
Al hacer uso de
librerías tanto propias como externas, o librerías propias de Java, es bastante
fácil. Básicamente lo único que se debe hacer para importar librerías es usar
la palabra clave import seguido de
la "ruta" del paquete o clase que deseamos agregar al proyecto.
2.
Librería en PHP
Las
bibliotecas son archivos PHP que se pueden incluir en cualquier otro archivo
PHP. Las bibliotecas se suelen utilizar para centralizar fragmentos de código
que se utilizan en varias páginas. De esa manera, si se quiere hacer alguna
modificación, no es necesario hacer el cambio en todas las páginas sino
únicamente en la biblioteca.
Por
ejemplo, si definimos en la biblioteca una función que imprima la cabecera de
las páginas, desde cualquier página se puede incluir la biblioteca mediante la
construcción incluye y llamar a la
función como si se hubiera definido en la propia página:
Se pueden crear
todas las bibliotecas que se necesiten e incluir cualquier número de
bibliotecas en cualquier punto de un programa. Las bibliotecas pueden a su vez
incluir otras bibliotecas.
Normalmente, las
bibliotecas suelen contener funciones, definiciones de constantes o
inicialización de variables, pero en realidad pueden incluir cualquier tipo de
código PHP, que se ejecutará en la posición en la que se incluya la biblioteca.
En la guía de
estilo PSR-1 comenta que en cualquier fichero de una biblioteca se pueden
definir funciones, constantes, clases, etc. o se puede incluir parte de la
lógica del programa (generar salida, modificar variables, etc.), pero prescribe
que no se hagan las dos cosas en un mismo fichero.
3. Librería Estándar C++
Para
poner un poco de orden, el Estándar C++ define la denominada Librería Estándar
que debe acompañar a cada implementación del compilador que se adhiera al
estándar. Es decir: la norma determina cuales son, como se llaman y como se utiliza
este conjunto de algoritmos que deben acompañar (como mínimo) a cada
implementación del compilador que quiera llamarse "Estándar". Un
ejemplo de esto es la famosa librería iostream que parte de la STL que contiene
los algoritmos de entrada/salida.
Uso de librerías
Al momento de crear proyectos, y para el
correcto funcionamiento de los mismos, se deben usar las librerías.
Se
debe asegurar de añadir aquellas librerías que se necesiten dentro del
proyecto, por ejemplo: Si se desea agregar una funcionalidad que se encuentra
ya programada (como herramienta de terceros) en el proyecto, se copia la librería
en el compilador y luego se puede incorporar o se puedes agregar a este de una
sola vez.
Al
hacer un buen uso de las librerías con definiciones de diferentes funcionalidades
puede ahorrar gran cantidad de cosas, imaginemos por ejemplo que cada vez que
necesitemos leer por teclado, debamos entonces crear una función que lo haga
(algo realmente complejo), al poder contar con las librerías en diferentes
lenguajes de programación podremos hacer uso de una gran variedad de funciones
que nos facilitaran la vida y aumentarán la modularidad de nuestros códigos.
La tecnologías, lenguajes, librerías, frameworks, son herramientas a usar
para conseguir un fin que es hacer realidad el proyecto, producto o servicio
con un componente informático, las herramientas no son un fin en sí mismo, no
son lo más importante, lo más importante es resolver la necesidad de alguien
normalmente con restricciones de tiempo y coste, pero desde luego no son
irrelevantes y no da igual usar cualquiera. Son las herramientas equivalentes
de un fontanero, pintor, carpintero u otros profesionales que tienen cantidad
de ellas para realizar multitud de tareas específicas de forma efectiva y
rápida junto con su conocimiento y experiencia.
Ventajas de la implementación de librería o bibliotecas
- No tener que volver a escribir el código (o hacer copy-paste),
- Nos ahorra el tiempo de compilar cada vez ese código que ya está compilado. Además, ya se sabe que mientras hace un programa, proba y se corrige, se debe compilar entre muchas y “muchas más” veces.
- El código ya compilado estará compilado y será fiable. No las primeras veces, pero si cuando ya se haya usado en 200 programas distintos y se haya ido corrigiendo los errores.
Ya para culminar, una biblioteca es una colección de objetos y funciones que
sirven para un propósito en particular. Mientras que un framework es una colección de patrones para ayudarte en la
construcción de una web, App.
Se puede ver entonces analógicamente a
una biblioteca
como un complemento y el framework como el
esqueleto.
En
conclusión: Las librearías son archivos (no siempre externos) que nos permiten
llevar a cabo diferentes tareas sin necesidad de preocuparnos por cómo se hacen
sino simplemente entender cómo usarlas. Las librearías permiten hacer nuestros
programas más modulares y reutilizables, facilitando además crear programas con
funcionalidades bastante complejas en unas pocas líneas de código y un framework , aportar productividad, define
limitaciones y genera homogeneidad a la hora de trabajar dentro de una
organización.
Marianyel Guariman
Las librearías son archivos (no siempre externos) que nos permiten llevar a cabo diferentes tareas sin necesidad de preocuparnos por cómo se hacen sino simplemente entender cómo usarlas. Además de los lenguajes anteriormente mencionados En C++, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya construidas y utilizables que podremos agregar a nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más.
ReplyDeleteAl poder incluir estas librerías con definiciones de diferentes funcionalidades podremos ahorrarnos gran cantidad de cosas, imaginemos por ejemplo que cada vez que necesitemos leer por teclado, debamos entonces crear una función que lo haga (algo realmente complejo), al poder contar con las librerías en C++, podremos hacer uso de una gran variedad de funciones que nos facilitaran la vida y aumentarán la modularidad de nuestros códigos.
Las librerías no son únicamente archivos externos creados por otros, también es posible crear nuestras propias librerías y utilizarlas en nuestros programas. Las librerías pueden tener varias extensiones diferentes, las más comunes son: .lib, .bpl, .a, .dll, .h y algunas más ya no tan comunes.
This comment has been removed by the author.
ReplyDeleteLas librerías en términos muy simples, es un archivo que consiste en algún código útil. Este código podría ser una función simple o una colección de funciones, variables, clases, estructuras de datos.
ReplyDeleteEn general, una biblioteca es un código que le permitirá interactuar con un aspecto particular del sistema operativo.. Esto nos facilita mucho la programación y hace que nuestro programa sea más sencillo de hacer y luego de entender. Las librerías son colecciones de código que facilitan la interconexión de sensores, pantallas, módulos electrónicos, etc. Existen infinidad de librerías desarrolladas por terceros en internet con sus correspondientes forks, que nos ayudarán a conectar prácticamente cualquier dispositivo a nuestras tarjetas con arduino. El uso de las librerías según el lenguaje. En C y C ++, primero "incluye" uno o más archivos de encabezado. El comando del preprocesador #include, en tiempo de compilación, traerá dinámicamente los archivos, especificados a la "secuencia de código" del compilador, como se llamara (en realidad no se coloca el archivo de encabezado en el archivo fuente, ya que eso complicaría el trabajo).
Los archivos de encabezado contienen declaraciones de tipo para valores definidos y funciones (en el caso de C y C ++) y posiblemente clases definidas (en el caso de C ++) que están en una o más bibliotecas. Estas definiciones son necesarias para que el compilador cree el código correcto para vincular nuestro código con el código de la biblioteca.
Las librerías son conjunto muy grandes de clases con métodos y atributos ya pre-programados incluidos en un lenguaje de programación determinado que proporcionan diversas funcionalidades, preparados cada uno para ser usadas, existen distintas librería con respecto a cada lenguaje que se puedan usar; una librería suministra funcionalidades usuales, puesto que ya han sido resueltas anticipadamente por otros programadores y evitan la duplicidad de código. Al tratar aprender su utilización no necesariamente se deben aprender todas; ya que esto sería técnicamente imposible debido a que resultan ser muy extensas, es bastante recomendable manejar una librería y conocerla lo suficiente, para así poder conseguirle a la problemática a resolver de una forma mas rápida y eficaz la solución . Entonces partiendo de esto me gustaría saber ¿Cuáles de las librerías y en que lenguaje ustedes recomendarían aprender y por qué? ¿Qué tiene de especial la misma?
ReplyDeleteAhora bien mencionaron algunas ventajas al utilizar las librerías tales como: No tener que volver a escribir el código, el ahorrarnos el tiempo de compilar cada ese código que ya está compilado y que una vez haya sido compilado estará allí y será fiable; excelente toda esta parte pero mi curiosidad va más profunda y me gustaría que hicieran mención con respeto a las desventajas que presenten en las librerías.
Como se ha dicho, las librerías son fundamentales a la hora de programar, pero siempre generan dudas al momento de utilizarlas, sobre todo en los programadores más novatos. Los desarrolladores que se encuentren en proceso de aprendizaje, casi siempre se preguntan cómo es posible aprender todos los métodos de una cantidad tan grandes de librerías ya existentes. La respuesta a esto, es que es recomendable no aprenderlas, al menos no todos los elementos de esta, es imposible debido a lo extensa que son las librerías en la mayoría de los casos, y más si como desarrollador se trabaja con distintos lenguajes de programación, haciendo aún más difícil la tarea. Lo mejor que se puede hacer es simplemente aprender cómo moverse a través de una librería para encontrar el elemento que se necesite, no vale para nada la pena aprender el 100% de una biblioteca que posiblemente solo se termine utilizando el 10% de su código, solo se logrará perder el tiempo que se podría dedicar para solucionar problemas o aprender al momento de programar. Así que, como recomendación para programar, no es necesario aprender todo un conjunto de código o métodos en concreto, con saber de forma general como está estructurada la librería y cuál es la función de los métodos más importantes y utilizados que la componen bastará para poder utilizarla de forma eficiente.
ReplyDeletelas librerias son muy importantes a la hora de programar como ya lo han dicho pero a veces No se conoce exactamente el funcionamiento interno aunque esto no importa mucho), pero si El uso excesivo de librerías puede ocasionar un aglomeramiento de archivos, y a veces tambien
ReplyDeleteNo es posible modificar es código pero sí extenderlo.
Sin embargo, para usuarios avanzados las desventajas no son muchas (por no decir ninguna) ya que pueden usar técnicas conocidas como “Reflection” (Reflexión), desensamblar la librería, entre otros.
Además de conocer para que se usan las librerías y cuales son sus beneficios es importante saber cuales son las más usadas. En java por ejemplo entre las librerías o bibliotecas más populares y mas descargadas para implementar en una extensa cantidad de proyectos esta “Mockito” esta es una librería de Java que permite la creación de Mock Objects (en español objetos simulados, para aclarar estos se utilizan para comprobar a otros objetos en las pruebas unitarias que esperan mensajes de una clase en específico para sus método) ampliamente usados en pruebas unitarias de Test Driven Development y basado en EasyMock. Una de las principales ventajas que ofrece esta librería es su simplicidad de uso que esta muy acoplada a su potencia ya que se ha convertido en una de las más escogidas entre aquellos desarrolladores que quieren escribir tests para validar el desarrollo de su software.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteCuando se habla de librerías, sabemos que nos estamos refiriendo a una de las principales bases necesarias a la hora de desarrollar, representan un archivo o conjunto de archivos de código que se encargan de facilitar la programación y volverla más sencilla de entender, dichos archivos son creados por los programadores y también se conocen como *bibliotecas*. Las librerías normalmente se encuentran clasificadas de acuerdo al tipo de trabajo que realizan por ejemplo: hay unas que son de entrada y salida, otras de manejo de memoria, etc. Existen muchas disponibles pero cada una cumple con una función específica. Como he dicho anteriormente, ellas contienen especificaciones de diferentes funcionalidades y son las que podemos agregarle a nuestros programas para lograr facilidades en nuestro código.
ReplyDeleteEs 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...La mayoría de los sistemas operativos modernos proporcionan bibliotecas que implementan los servicios del sistema. De esta manera, estos servicios se han convertido en una "materia prima" que cualquier aplicación moderna espera que el sistema operativo ofrezca. Como tal, la mayor parte del código utilizado por las aplicaciones modernas se ofrece en estas bibliotecas.....Como ya se sabe cada lenguaje de programación tiene sus propias librerías, como podemos ver en este articulo hablan de algunas de ella como la de java, php y c++, pero en c# sabemos que .NET es su libreria, y aveces muchos podríamos preguntarnos si hay algo que nos ayude a conectarnos con la base de datos( esto es en el caso de c#); y si lo hay pero no es parte del lenguaje, sino de la librería .NET.....No se hablo mucho sobre las bibliotecas dinámicas, pero es importante aclarar que cuando la aplicación que se ejecute requiera acceder a las rutinas almacenadas en una biblioteca dinámica, y ejecute la función de esbozo, el cargador de enlaces dinámicos podrá sustituir esta llamada por la función real de la biblioteca dinámica, cargándola en memoria si no lo estuviera ya, y mapeando las páginas de esta en el espacio de memoria del proceso del programa. La tecnología que permite enlazar bibliotecas de forma dinámica es muy útil para la construcción de plugins, sobre todo cuando unas bibliotecas pueden ser sustituidas por otras con una interfaz similar, pero diferente funcionalidad. Se puede decir que un software tiene una "arquitectura de plugin" si utiliza bibliotecas con una funcionalidad básica con la intención de que puedan ser sustituidas. Sin embargo, el uso de las bibliotecas enlazadas dinámicamente en la arquitectura de una aplicación no significa necesariamente que puedan ser sustituidas.
ReplyDelete¿Cómo diferenciamos una librería de una función?
ReplyDeleteUna librería a diferencia de las funciones debe estar al menos en un fichero diferente con extensión .h y opcionalmente en otro .cpp, y además debe ser llamada con la instrucción #include desde el sketch y estar en una ruta accesible desde el IDE, ya sea el mismo directorio del sketch o en algunas de las rutas establecidas para librerías. Las funciones son aquellas que nos permiten abstraer el contenido de lo que vayamos a programar, mientras que las librerías no son más que ese conjunto de funciones que vamos a invocar.
La ventaja de usar librerías frente a las funciones es que no es necesario incluir el código cada vez que se va a reutilizar sino que con tener la librería instalada en el IDE y llamarla mediante #include ya la puedo usar en mi código. El uso de cualquiera de éstas va a depender de la posibilidad de reutilizar el código o de la experiencia que tenga el programador con el uso de librerías.
Una librería es una recopilación de elementos, un conjunto de rutinas, en este caso código, que casi siempre suelen tener un propósito concreto. Ejemplo pueden ser funciones financieras, clases para trabajar con gráficos o procedimientos para importar o exportar a Excel, PDF o cualquier otro formato. Diría que una librería es una colección de rutinas que a menudo tienen un propósito específico. La librería es una herramienta con un sólo propósito o con propósitos muy específicos por lo general son muy ligeras en cuanto a peso, no ocupan gran memoria, y se suelen utilizar junto con frameworks. una librería solo suministra funciones que pueden ayudar a agilizar y optimizar ciertas características de un sistema.
ReplyDeleteComo por ejemplo las librerías estándar de C++. lo importante es que para cualquier librería que prefiramos tengamos en un futuro la posibilidad de reemplazarlo sin estar atados a él y sin tener que reescribir el proyecto entero, esto forma parte de las más básicas buenas prácticas de desarrollo.
Este tema es muy conocido por todo tipo de desarrolladores. Y efectivamente, como se mencionó en este blog y muchos ya han comentado, una librería es una colección o conjunto de subprogramas usados para desarrollar software o un sistema. En una librería tu código es el que está al mando, utilizando las funciones de alguna librería que estés manipulando como quiere puesto que lo puedes llamar desde tu propio código para ayudarte a hacer las cosas de manera más rápida y fácil. Pero a veces las librerías chocan con otros elementos, los frameworks ¿Cuál es la diferencia? Esta es una pregunta muy frecuente y es a veces difícil de entender sobre todo cuando uno está empezando, pero de forma sencilla; un framework es mucho más complejo, además es el que tiene mando y tu código debe encajarse en su estructura y normas. Mientras una librería es la unión de métodos y objetos (dependiendo del lenguaje de programación) que son reutilizables y que generalmente cumplen una función específica en particular ¿Cual usar? Eso depende del desarrollador y lo que desea.
ReplyDeleteUno de los temas bastante hablados por los desarrolladores son el uso de librerías, por que las mismas realizan labores y simplifican también las lineas de código, ya que, simplemente importándolas, tenemos una paleta de estructuras que realizan labores de una manera fácil. ahora, labores que realizábamos con varias lineas de código, podemos realizarlas manejando estas estructuras que simplifican la vida de un programador, es por ello que son muy empleadas en la programación hoy en día y las mismas avanzaron un poco mas en el uso o diseño por componentes ya que los frameworks tienen librerías que son manejadas por los mismos e importadas por el desarrollador para simplificar procesos.
ReplyDeleteLas bibliotecas son colecciones de archivos de objetos. Si está trabajando con C o C ++, es posible generar un archivo de un objeto. Esto no es "objeto" como en "orientado a objetos". Simplemente significa que es una salida de compilador en un lenguaje intermedio. Dichos archivos tendrán un sufijo ".o". Davor mencionó bibliotecas dinámicas. Nunca he trabajado con eso (excepto en Windows (DLL - Dynamic Link Libraries)), pero tal vez haya un indicador especial para crear archivos de "objeto compartido" que se conviertan en "bibliotecas compartidas" (lo que Davor llamaba "bibliotecas dinámicas"). De todos modos, solo para demostrar un poco de lo que está sucediendo, puede generar un archivo de objeto corriente mediante uno de sus propios archivos de origen (.c o. cpp) e invocar la opción del compilador para generar un archivo de objeto. En una línea de comando típica de Unix / Linux, esto sería "-c", como encc -c myfile.c. Esto creará un archivo de objeto, "myfile.o". Imagínese si tuviera una serie de archivos .o que quisiera compartir con otros programadores. Al usar una herramienta en el entorno de desarrollo, puede empaquetar estos archivos de objetos y crear una biblioteca.
Como no recordar al profesor de programación orientada a objetos , cuando nos empezaba a explicar sobre la sintaxis del código del programa, era fundamental colocar la librería, en ese momento lo hacía simplemente lo porque él lo decía y no tenía un conocimiento completo de su utilización o de su importancia dentro del código
ReplyDeleteLas librerías como ya se ha dicho anteriormente en un código que permite implementar funciones, y estas se encuentras codificadas en un lenguaje de programación, es decir una misma librería no puede ser usada por todos los lenguajes de programación, se encuentran adaptadas para cada uno, a diferencia de un programa ejecutable. También se puede decir que una librería es un conjunto de recursos (algoritmos) prefabricados, que pueden ser utilizados por el programador para realizar determinadas operaciones. Usar librerías puede ser beneficioso en pequeños programas, donde se necesita la funcionabilidad mínima, para los programas que requieren de múltiples bibliotecas, usar librerías compartidas puede reducir la memoria del programa (tanto en disco y en memoria en tiempo de ejecución). Esto se debe a que múltiples programas pueden usar una biblioteca compartida al mismo tiempo, por lo que un solo ejemplar de la biblioteca es necesaria en la memoria a la vez. Con una biblioteca estática, cada programa en ejecución tiene su propia copia de la biblioteca.
This comment has been removed by the author.
ReplyDeleteLas Librerías se pueden ver como una abstracción de funcionalidades de lenguaje de programación que son básicos al momento de programar, como es leer por teclado, lectura de archivos,generar archivos, imprimir por pantalla entre otras cosas.
ReplyDeletelas ventajas e inconvenientes de cada uno son que un programa compilado con librerías estáticas es más grande, se puede llevar a otro ordenador sin necesidad de llevarse las librerías, es más rápido en ejecución. Cuando llama a una función de la librería, la tiene en su código y no tiene que ir a leer el fichero de la librería dinámica para encontrar la función y ejecutarla. Y puede que nos preguntemos cual usar, pues las librerías estáticas son mas para programas pequeños fáciles de portar, pero las librerías dinámicas son para programas enormes, como por ejemplo el sistema operativo Linux que puedes ir agregando funcionalidades al sistema a través de repositorios en la internet.
¿ Habría alguna diferencia en la programación hoy en día si no existieran las librerias?
ReplyDeleteSabemos que las librerias son muy utilizadas por los programadores para el desarrollo de los sistemas, y se conoce que son extremadamente utiles para ese fin, es por ello que es dificil imaginarse la programación sin el uso de ellas, ya que como ha sido antes mencionado tanto en el post como en los comentarios, las ventajas que se pueden obtener en terminos de reduccion de tiempo y reutilizacion de codigo.
No obstante, hay que mencionar un aspecto importante del uso de librerias, y es que los programadores tienen que adaptarse a lo que otro programador codifico en las librerias que le toca utilizar, saber cuales son todas las funcionalidades que estas ofrecen, al igual que sus alcances y limitaciones. Tambien hay que tener cuidado al momento de utilizarlas, debido a que se puede incurrir en un sobrecargo de librerias haciendo el sistema mas pesado lo que conlleva a un menor rendimiento al desplegar el sistema en produccion.
En definitiva la programación si sería distinta sin las librerias, pero seguramente de igual forma habrian desarrollado algun metodo para la reutilizacion de codigos y eficiencia para el desarrollo de programas.
El código de la librería está organizado de tal manera que puede ser utilizado por múltiples programas que no tienen conexión entre sí, mientras que el código que es parte de un programa está organizado para ser utilizado solo dentro de ese programa. Esta distinción puede ganar jerarquía cuando un programa crece en miles de líneas de código. En ese caso, puede haber librerías internas que sean reutilizadas por subpartes del programa macro. La característica distintiva es que una biblioteca está organizada con el propósito de ser reutilizada por programas o subprogramas independientes, y el usuario solo necesita conocer la interfaz, y no los detalles internos de la biblioteca. Una analogía sería consultar un libro en una biblioteca, simplemente buscamos la información del tema en particular que necesitamos. El único problema es que no podemos modificar el libro. Igual ocurre al realizar un programa, importamos la librería y mágicamente nos ahorra el tiempo que ya muchos programadores en el pasado invirtieron al crearlas, pero tenemos que regirnos por como ya están hechas con funciones que incluso desconocemos. Esto implica tener que aprender a usarlas antes de implementarlas, para evitar el mal funcionamiento del software debido a un exceso de librerías con las mismas funciones, y por ende afectando su rendimiento.
ReplyDeleteGracias a este post podemos decir que las librerías son un grupo de archivos que tienen una funcionalidad pre construida por terceros, y que puede ser usadas por cualquier ejecutable. Las librerías contienen en su interior variables y funciones, se conoce como librerías o bibliotecas a cierto tipo de archivos que podemos importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya construidas y utilizables, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más. Al poder incluir estas librerías con definiciones de diferentes funcionalidades podremos ahorrarnos gran cantidad de cosas.
ReplyDeletePara el mundo de la informática este tema de librerías es muy común ya que forma parte fundamental a la hora de desarrollar.