<div dir="ltr"><div>Muy buen artículo Joaquín!! <br><br></div>¿Alguien más se anima a compartir su opinión?<br><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">El 3 de octubre de 2016, 10:28, Joaquin Ferrero <span dir="ltr"><<a href="mailto:explorer@joaquinferrero.com" target="_blank">explorer@joaquinferrero.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
El 02/10/16 a las 14:12, Pablo Rodriguez escribió:<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Buenos días<br>
<br>
En las cañas posteriores a la reunión hablabamos de las dependencias de los módulos, y que a veces era un criterio muy importante para elegir un módulo u otro. Es decir, elegiamos un módulo porque no tenía dependencias frente a otros que sí tenían.<br>
<br>
</blockquote>
<br></span>
La carga de la complejidad informática que resuelve un problema es casi la misma -el número de líneas que necesitamos para resolver un problema es casi el mismo si usamos muchas o pocas dependencias: no hay atajos en la resolución del problema-. Pero solemos pensar que si usamos un módulo con pocas dependencias reducimos otra complejidad: la de la administración de los módulos de terceros. ¿Realmente es un problema, si estamos seguros que esos módulos funcionan en nuestro entorno?<br>
<br>
<br>
Otro tema que salió por parte de Roberto es que tenían hecho una herramienta que analizaba un directorio cualquiera para sacar las dependencias del código Perl encontrado. ¿Era así, verdad?<br>
<br>
En CPAN encontré Module::Dependency <<a href="https://metacpan.org/release/Module-Dependency" rel="noreferrer" target="_blank">https://metacpan.org/release/<wbr>Module-Dependency</a>>, más en concreto, Module::Dependency::Indexer, que parece que hace algo parecido, pero no lo he probado. Y posiblemente habrá más.<br>
<br>
<br>
Comenté también que había un módulo que permitía cargar un módulo en CPAN en tiempo real:<br>
<br>
CPAN::AutoINC <<a href="https://metacpan.org/pod/CPAN::AutoINC" rel="noreferrer" target="_blank">https://metacpan.org/pod/CPAN<wbr>::AutoINC</a>> - Download and install CPAN modules upon first use<br>
<br>
Mejor dicho: detecta que un programa necesita un módulo que no está en el sistema, y en ese momento lo baja, instala, y el programa continúa en ese punto.<span class=""><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A mi me gusta tener funcionalidad reutilizable, es decir, partiendo de una serie de componentes construir sobre ellos. Personalmente creo que tiene más ventajas que inconvenientes, y no tengo ningún problema en utilizar módulos con muchas dependencias. Si además los autores de los módulos se adhieren a alguna convención, por ejemplo: <a href="https://metacpan.org/pod/SemVer" rel="noreferrer" target="_blank">https://metacpan.org/pod/SemVe<wbr>r</a> mejor todavía.<br>
<br>
¿Qué opinais?<br>
</blockquote>
<br></span>
Por lo que he visto en algunos sitios, a medida de que dependes de más módulos, se te hace imprescindible usar un gestor de módulos, como Pinto y Carton, y no depender exclusivamente de CPAN.<br>
<br>
Un ejemplo: Una vez usé el módulo *Date::Set*, para hacer operaciones de conjuntos con periodos de tiempo (en concreto, "unir" conjuntos de meses). Pues bien, un día ese módulo desapareció de CPAN: el autor lo renombró a *DateTime::Set*. Eso podría provocar un problema a la hora de hacer una reinstalación, si el administrador no se da cuenta del cambio.<br>
<br>
Este artículo es un buen resumen de las herramientas actuales con las que contamos en desarrollo Perl, incluida la gestión de módulos propios y de terceros: <a href="https://engineering.semantics3.com/2016/06/15/a-perl-toolchain-for-building-micro-services-at-scale/" rel="noreferrer" target="_blank">https://engineering.semantics3<wbr>.com/2016/06/15/a-perl-<wbr>toolchain-for-building-micro-<wbr>services-at-scale/</a><span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
JF^D</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<wbr>_________________<br>
Madrid-pm mailing list<br>
<a href="mailto:Madrid-pm@pm.org" target="_blank">Madrid-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/madrid-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/lis<wbr>tinfo/madrid-pm</a><br>
</div></div></blockquote></div><br></div></div></div></div></div>