<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Producir software de calidad no es fácil</title>
	<atom:link href="http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/</link>
	<description>aportando otro punto de vista...</description>
	<lastBuildDate>Sun, 01 Jan 2012 13:51:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: maeghith</title>
		<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/comment-page-1/#comment-17</link>
		<dc:creator>maeghith</dc:creator>
		<pubDate>Sun, 16 Dec 2007 16:45:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/#comment-17</guid>
		<description>&lt;blockquote&gt;En el caso de que aparece un bug o una compatibilidad en uno de los componentes, la empresa se calla la boca y se soluciona en el siguiente release.&lt;/blockquote&gt;

Eso es el mejor de los casos, que es cuando el bug lo descubre la propia empresa desarrolladora. ¿Y si lo descubre alguien de fuera?.

Y  por otro lado, con el sistema de dependencias, tampoco el usuario necesita saber cual de los paquetes depende de cual otro, para eso están los sistemas de paquetes con gestión de dependencias. Y si la cosa es ocultar las dependencias, pues en realidad te da igual: 
- los usuarios que no se preocupan, no se van a poner a investigar ahora,
- y un usuario de &quot;los que sí se preocupan&quot; lo hará, uses el sistema que uses.</description>
		<content:encoded><![CDATA[<blockquote><p>En el caso de que aparece un bug o una compatibilidad en uno de los componentes, la empresa se calla la boca y se soluciona en el siguiente release.</p></blockquote>
<p>Eso es el mejor de los casos, que es cuando el bug lo descubre la propia empresa desarrolladora. ¿Y si lo descubre alguien de fuera?.</p>
<p>Y  por otro lado, con el sistema de dependencias, tampoco el usuario necesita saber cual de los paquetes depende de cual otro, para eso están los sistemas de paquetes con gestión de dependencias. Y si la cosa es ocultar las dependencias, pues en realidad te da igual:<br />
- los usuarios que no se preocupan, no se van a poner a investigar ahora,<br />
- y un usuario de &#8220;los que sí se preocupan&#8221; lo hará, uses el sistema que uses.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pau Sanchez</title>
		<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/comment-page-1/#comment-16</link>
		<dc:creator>Pau Sanchez</dc:creator>
		<pubDate>Thu, 13 Dec 2007 23:23:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/#comment-16</guid>
		<description>Jose el nombrar Perforce como ejemplo, no es para decir que es un sistema de control de versiones cojonudo, que lo es, (subversion tampoco está mal, no quiero entrar en polémicas), a lo que me refiero en el artículo es que realizar código multiplataforma que sea &lt;b&gt;fácilmente instalable por los usuarios&lt;/b&gt;(expertos o inexpertos) y que &lt;b&gt;evite problemas de compatibilidad&lt;/b&gt;, no es algo que muchas empresas consigan.

Dar soporte de un software para distintas versiones de distintos sistemas operativos es un quebradero de cabeza. Y Perforce tiene soporte para Linux 2.4.x y 2.6.x en arquitecturas x86, x64 y IA64; para MS Windows en x86,x64 e IA64 también; para MAC OS X en PPC, x86 y x64; Solaris, FreeBSD, AIX... y ya paro de enumerar.

El punto clave de este comentario y de este artículo no es que sea multiplataforma como muchas otras aplicaciones GNU (como por ejemplo subversion), el punto clave es que es superfácil instalarlo, y a mi de momento siempre me ha funcionado a la primera, ya sea en Windows o en Linux. Y me juego el cuello a que en MAC también va perfectamente.</description>
		<content:encoded><![CDATA[<p>Jose el nombrar Perforce como ejemplo, no es para decir que es un sistema de control de versiones cojonudo, que lo es, (subversion tampoco está mal, no quiero entrar en polémicas), a lo que me refiero en el artículo es que realizar código multiplataforma que sea <b>fácilmente instalable por los usuarios</b>(expertos o inexpertos) y que <b>evite problemas de compatibilidad</b>, no es algo que muchas empresas consigan.</p>
<p>Dar soporte de un software para distintas versiones de distintos sistemas operativos es un quebradero de cabeza. Y Perforce tiene soporte para Linux 2.4.x y 2.6.x en arquitecturas x86, x64 y IA64; para MS Windows en x86,x64 e IA64 también; para MAC OS X en PPC, x86 y x64; Solaris, FreeBSD, AIX&#8230; y ya paro de enumerar.</p>
<p>El punto clave de este comentario y de este artículo no es que sea multiplataforma como muchas otras aplicaciones GNU (como por ejemplo subversion), el punto clave es que es superfácil instalarlo, y a mi de momento siempre me ha funcionado a la primera, ya sea en Windows o en Linux. Y me juego el cuello a que en MAC también va perfectamente.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose</title>
		<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/comment-page-1/#comment-15</link>
		<dc:creator>Jose</dc:creator>
		<pubDate>Thu, 13 Dec 2007 06:46:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/#comment-15</guid>
		<description>Mi voto por Subversion.

No tienes que gastar dinero y para trabajar con varios &quot;trunks&quot; va de perlas.

Muchos problemas de multiplataforma tienes que tener para justificar el gasto en Perforce.</description>
		<content:encoded><![CDATA[<p>Mi voto por Subversion.</p>
<p>No tienes que gastar dinero y para trabajar con varios &#8220;trunks&#8221; va de perlas.</p>
<p>Muchos problemas de multiplataforma tienes que tener para justificar el gasto en Perforce.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pau Sanchez</title>
		<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/comment-page-1/#comment-14</link>
		<dc:creator>Pau Sanchez</dc:creator>
		<pubDate>Wed, 12 Dec 2007 14:28:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/#comment-14</guid>
		<description>También existe otra opción en ese caso. Lo que comunmente viene llamandose: Plan B.

En el caso de que aparece un bug o una compatibilidad en uno de los componentes, la empresa se calla la boca y se soluciona en el siguiente release.

Si el bug es del propio programa te da igual hayas hecho enlace estático o dinámico, y en el otro caso, efectivamente te expones, pero por otra parte terceras personas no tienen porque saber que componentes utilizas.</description>
		<content:encoded><![CDATA[<p>También existe otra opción en ese caso. Lo que comunmente viene llamandose: Plan B.</p>
<p>En el caso de que aparece un bug o una compatibilidad en uno de los componentes, la empresa se calla la boca y se soluciona en el siguiente release.</p>
<p>Si el bug es del propio programa te da igual hayas hecho enlace estático o dinámico, y en el otro caso, efectivamente te expones, pero por otra parte terceras personas no tienen porque saber que componentes utilizas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maeghith</title>
		<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/comment-page-1/#comment-13</link>
		<dc:creator>maeghith</dc:creator>
		<pubDate>Tue, 11 Dec 2007 14:34:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/#comment-13</guid>
		<description>&lt;blockquote&gt;Sobre lincado estático, la ventaja que tiene para la empresa es que nadie va a romper compatibilidad con el binario. Se van a ahorrar muchas llamadas a soporte técnico. Imagina que usan lincado dinámico, y el cliente depende del paquete X. Ahora supon que los desarrolladores del paquete X deciden hacer un pequeño cambio que soluciona algún tipo de bug, pero que produce incompatibilidades.&lt;/blockquote&gt;

Si aparece un bug entonces la empresa tendrá que elegir:
- cubrirse el culo y corregir el bug, arriesgandose a perder compatibilidad, pero asegurandose que está actualizado: toca llamar a soporte en caso de que se pierda compatibilidad;
- o seguir trabajando sin corrergir el bug (por que han visto en el changelog que no les afecta), arriesgandose a que el bug le impida trabajar en algún momento futuro o que suponga un riesgo de seguridad que no pueden solucionar por otros medios (firewall, etc..): toca llamar a soporte en caso de que se queden con el culo al aire o de que el bug no les deje trabajar.

A soporte se acaba llamando, antes o después, es inevitable XD</description>
		<content:encoded><![CDATA[<blockquote><p>Sobre lincado estático, la ventaja que tiene para la empresa es que nadie va a romper compatibilidad con el binario. Se van a ahorrar muchas llamadas a soporte técnico. Imagina que usan lincado dinámico, y el cliente depende del paquete X. Ahora supon que los desarrolladores del paquete X deciden hacer un pequeño cambio que soluciona algún tipo de bug, pero que produce incompatibilidades.</p></blockquote>
<p>Si aparece un bug entonces la empresa tendrá que elegir:<br />
- cubrirse el culo y corregir el bug, arriesgandose a perder compatibilidad, pero asegurandose que está actualizado: toca llamar a soporte en caso de que se pierda compatibilidad;<br />
- o seguir trabajando sin corrergir el bug (por que han visto en el changelog que no les afecta), arriesgandose a que el bug le impida trabajar en algún momento futuro o que suponga un riesgo de seguridad que no pueden solucionar por otros medios (firewall, etc..): toca llamar a soporte en caso de que se queden con el culo al aire o de que el bug no les deje trabajar.</p>
<p>A soporte se acaba llamando, antes o después, es inevitable XD</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pau Sanchez</title>
		<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/comment-page-1/#comment-12</link>
		<dc:creator>Pau Sanchez</dc:creator>
		<pubDate>Sun, 09 Dec 2007 10:24:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/#comment-12</guid>
		<description>Acabo de verificar que tanto &quot;p4&quot;, &quot;p4d&quot; y &quot;p4v&quot; son binarios de linux (con formato ELF). P4V no es una aplicación java, aunque yo no descartaría que hubieran metido directamente una maquina virtual java en el EXE, y tuvieran varias llamadas a funciones nativas, y por eso al ejecutar &quot;nm p4v&quot; salen tantas funciones.

Sobre lincado estático, la ventaja que tiene para la empresa es que nadie va a romper compatibilidad con el binario. Se van a ahorrar muchas llamadas a soporte técnico. Imagina que usan lincado dinámico, y el cliente depende del paquete X. Ahora supon que los desarrolladores del paquete X deciden hacer un pequeño cambio que soluciona algún tipo de bug, pero que produce incompatibilidades.

Sobre las dependencias, ahora la verdad es que están bastante pulidas, aunque sigo echando en falta la funcionalidad de deshacer la última instalación (superutil cuando algo falla después de actualizar).

En cualquier caso, aun con las dependencias funcionando bien, ellos no tienen que preocuparse de definirlas en el instalador.

Conclusión: el único incoveniente que le veo a esta solución es el tamaño de los ejecutables: ~530KB (p4), ~1.6MB (p4d), ~14MB (p4v).</description>
		<content:encoded><![CDATA[<p>Acabo de verificar que tanto &#8220;p4&#8243;, &#8220;p4d&#8221; y &#8220;p4v&#8221; son binarios de linux (con formato ELF). P4V no es una aplicación java, aunque yo no descartaría que hubieran metido directamente una maquina virtual java en el EXE, y tuvieran varias llamadas a funciones nativas, y por eso al ejecutar &#8220;nm p4v&#8221; salen tantas funciones.</p>
<p>Sobre lincado estático, la ventaja que tiene para la empresa es que nadie va a romper compatibilidad con el binario. Se van a ahorrar muchas llamadas a soporte técnico. Imagina que usan lincado dinámico, y el cliente depende del paquete X. Ahora supon que los desarrolladores del paquete X deciden hacer un pequeño cambio que soluciona algún tipo de bug, pero que produce incompatibilidades.</p>
<p>Sobre las dependencias, ahora la verdad es que están bastante pulidas, aunque sigo echando en falta la funcionalidad de deshacer la última instalación (superutil cuando algo falla después de actualizar).</p>
<p>En cualquier caso, aun con las dependencias funcionando bien, ellos no tienen que preocuparse de definirlas en el instalador.</p>
<p>Conclusión: el único incoveniente que le veo a esta solución es el tamaño de los ejecutables: ~530KB (p4), ~1.6MB (p4d), ~14MB (p4v).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maeghith</title>
		<link>http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/comment-page-1/#comment-11</link>
		<dc:creator>maeghith</dc:creator>
		<pubDate>Sat, 08 Dec 2007 12:44:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.pausanchez.com/es/2007/12/08/producir-software-de-calidad-no-es-facil/#comment-11</guid>
		<description>¿El cliente de p4 de linux lincado estático?, creía que linux usaba el cliente java (por eso parece que no tenga dependencias).

Hay proyectos en linux que utilizan lincado estático, como el klik (http://klik.atekon.de/).

Y el problema que se le achaca al lincado estático es el de falta de seguridad por desactualización: si se actualiza una biblioteca de la que dependen 20 paquetes, hay que actualizar los 20 paquetes por separado y puede que alguno no se actualice por el motivo que sea, mientras que si se usa un sistema de dependencias, al actualizar el la bibioteca en el sistema, se actualizan automáticamente todos los paquetes.

Ahora, esto lleva el problema de las dependencias rotas, cíclicas y demás historias harto conocidas, aunque últimamente está bastante pulido el tema (creo yo).

Conclusión: cada decisión acarrea sus inconvenientes, y cuando no se pueden corregir, hay que saber aceptarlos y convivir con ellos :)</description>
		<content:encoded><![CDATA[<p>¿El cliente de p4 de linux lincado estático?, creía que linux usaba el cliente java (por eso parece que no tenga dependencias).</p>
<p>Hay proyectos en linux que utilizan lincado estático, como el klik (<a href="http://klik.atekon.de/" rel="nofollow">http://klik.atekon.de/</a>).</p>
<p>Y el problema que se le achaca al lincado estático es el de falta de seguridad por desactualización: si se actualiza una biblioteca de la que dependen 20 paquetes, hay que actualizar los 20 paquetes por separado y puede que alguno no se actualice por el motivo que sea, mientras que si se usa un sistema de dependencias, al actualizar el la bibioteca en el sistema, se actualizan automáticamente todos los paquetes.</p>
<p>Ahora, esto lleva el problema de las dependencias rotas, cíclicas y demás historias harto conocidas, aunque últimamente está bastante pulido el tema (creo yo).</p>
<p>Conclusión: cada decisión acarrea sus inconvenientes, y cuando no se pueden corregir, hay que saber aceptarlos y convivir con ellos :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

