<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comentarios para Te lo dije ...</title>
	<atom:link href="http://eamodeorubio.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://eamodeorubio.wordpress.com</link>
	<description>Ingenieria del Software en el siglo XXI (en español)</description>
	<lastBuildDate>Sat, 16 Mar 2013 21:11:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comentario en ¿Qué son los DSL (Domain Specific Languages)? por Juan</title>
		<link>http://eamodeorubio.wordpress.com/2010/09/13/%c2%bfque-son-los-dsl-domain-specific-languages/#comment-7879</link>
		<dc:creator><![CDATA[Juan]]></dc:creator>
		<pubDate>Sat, 16 Mar 2013 21:11:35 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=363#comment-7879</guid>
		<description><![CDATA[Excelente post]]></description>
		<content:encoded><![CDATA[<p>Excelente post</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en Sobre mí por José María Sánchez</title>
		<link>http://eamodeorubio.wordpress.com/about/#comment-7857</link>
		<dc:creator><![CDATA[José María Sánchez]]></dc:creator>
		<pubDate>Wed, 06 Mar 2013 23:56:39 +0000</pubDate>
		<guid isPermaLink="false">#comment-7857</guid>
		<description><![CDATA[Enhorabuena Enrique, te felicito por tus aportaciones en este mundillo.
Como tu he pasado por un largo periplo en las TI alrededor del desarrollo de aplicaciones, en mi caso más de 30 años, así que te puedes imaginar.
Desde hace menos de un año, decidí formar la Asociación de Programadores Android sin ánimo de lucro, de la que soy presidente y por este motivo me gustaría poder contactar contigo José para desarrollar una tormenta de ideas conjunta dirigida a la evaluación de compartir sinergias, si te parece bien.]]></description>
		<content:encoded><![CDATA[<p>Enhorabuena Enrique, te felicito por tus aportaciones en este mundillo.<br />
Como tu he pasado por un largo periplo en las TI alrededor del desarrollo de aplicaciones, en mi caso más de 30 años, así que te puedes imaginar.<br />
Desde hace menos de un año, decidí formar la Asociación de Programadores Android sin ánimo de lucro, de la que soy presidente y por este motivo me gustaría poder contactar contigo José para desarrollar una tormenta de ideas conjunta dirigida a la evaluación de compartir sinergias, si te parece bien.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en Servicios web (2): ¿Qué es REST? por Miguel Angel</title>
		<link>http://eamodeorubio.wordpress.com/2010/07/26/servicios-web-2-%c2%bfque-es-rest/#comment-7790</link>
		<dc:creator><![CDATA[Miguel Angel]]></dc:creator>
		<pubDate>Fri, 08 Feb 2013 17:41:38 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=294#comment-7790</guid>
		<description><![CDATA[Muy buen post! gracias me ha quedado mucho más claro!]]></description>
		<content:encoded><![CDATA[<p>Muy buen post! gracias me ha quedado mucho más claro!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en ¿Qué son los DSL (Domain Specific Languages)? por Ricardo Wemblein</title>
		<link>http://eamodeorubio.wordpress.com/2010/09/13/%c2%bfque-son-los-dsl-domain-specific-languages/#comment-7378</link>
		<dc:creator><![CDATA[Ricardo Wemblein]]></dc:creator>
		<pubDate>Thu, 10 Jan 2013 19:07:02 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=363#comment-7378</guid>
		<description><![CDATA[Estaba leyendo... muy buen artículo.
No coincido cuando dice &quot;se puede resolver cualquier tipo de problema&quot;.
Sí, se pueden resolver todos los problemas, pero los DSL tienden a desarrollarse para tipos de problemas específicos en un área determinada, de ahí su nombre.
Abrazo!]]></description>
		<content:encoded><![CDATA[<p>Estaba leyendo&#8230; muy buen artículo.<br />
No coincido cuando dice &#8220;se puede resolver cualquier tipo de problema&#8221;.<br />
Sí, se pueden resolver todos los problemas, pero los DSL tienden a desarrollarse para tipos de problemas específicos en un área determinada, de ahí su nombre.<br />
Abrazo!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en noSQL (2): No necesitas ACID por Ivan</title>
		<link>http://eamodeorubio.wordpress.com/2010/05/17/nosql-2-no-necesitas-acid/#comment-6138</link>
		<dc:creator><![CDATA[Ivan]]></dc:creator>
		<pubDate>Wed, 19 Dec 2012 03:45:42 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=186#comment-6138</guid>
		<description><![CDATA[Tremendo artículo. Excelente la forma directa y clara de encarar los temas, me parece que así se debe escribir.

Gracias
IVM]]></description>
		<content:encoded><![CDATA[<p>Tremendo artículo. Excelente la forma directa y clara de encarar los temas, me parece que así se debe escribir.</p>
<p>Gracias<br />
IVM</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en ¿Por qué JavaScript? por jmarranz</title>
		<link>http://eamodeorubio.wordpress.com/2012/04/09/por-que-javascript/#comment-1526</link>
		<dc:creator><![CDATA[jmarranz]]></dc:creator>
		<pubDate>Sat, 27 Oct 2012 12:37:14 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=747#comment-1526</guid>
		<description><![CDATA[Creo que algunas cosas sobre Ruby estático ya las hemos hablado en Twitter

https://twitter.com/eamodeorubio/status/262150915241439232

&quot;no he visto nunca a nadie decir que “en Ruby no se pueden mantener grandes bases de código porque no tiene tipado estático”&quot;

Probablemente porque un significativo porcentaje del &quot;alguien&quot; sólo haya programado en Ruby y porque la inmensa mayoría de los proyectos grandes son Java o C# o C++.  

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 

(ojo tampoco hay que considerar Tiobe como una religión)

La frase &quot;no puedes mantenerlo&quot; es de Anders Hejlsberg no mia, yo soy de los que opina más bien, que sí puedes mantenerlo... pero muy malamente, con un esfuerzo inmenso y con una enorme disciplina de codificación para compensar la ausencia de gestores de código estático.

A mi la detección de errores por el tipado estático me importa poco aunque importa, a mi interesa infinitamente más:

1) La expresividad: soy un perro, soy un gato, soy comida de perro

  La expresividad es impagable cuando la cosa se complica más y más y más y más aun si heredas código de otro. 

2) Gestión de código:  es decir control, control y control. El llamar a References (Eclipse) o Find Usages y mostrarte en 1 segundo todas las dependencias es impagable, el introducir un cambio en ese método y ser capaz en cascada de resolver decenas de implicaciones sin problema, en minutos, con seguridad, con fiabilidad... es impagable. Sin tener que ejecutar cientos de tests y a cada error introducir el cambio y otra vez ejecutar cientos de tests para detectar otro error y otro nuevo cambio etc, y si no tienes esos tests directamente estás muerto.]]></description>
		<content:encoded><![CDATA[<p>Creo que algunas cosas sobre Ruby estático ya las hemos hablado en Twitter</p>
<blockquote class='twitter-tweet'><p>What would you think if <a href="http://twitter.com/search?q=%23microsoft" title="#microsoft">#microsoft</a> invented TypeRuby to fix <a href="http://twitter.com/search?q=%23ruby" title="#ruby">#ruby</a> lack of static type checking? <a href="http://twitter.com/search?q=%23typescript" title="#typescript">#typescript</a> <a href="http://twitter.com/search?q=%23javascript" title="#javascript">#javascript</a>&mdash; <br />Enrique Amodeo Rubio (@eamodeorubio) <a href='http://twitter.com/#!/eamodeorubio/status/262150915241439232' data-datetime='2012-10-27T11:17:03+00:00'>October 27, 2012</a></p></blockquote>
<p>&#8220;no he visto nunca a nadie decir que “en Ruby no se pueden mantener grandes bases de código porque no tiene tipado estático”&#8221;</p>
<p>Probablemente porque un significativo porcentaje del &#8220;alguien&#8221; sólo haya programado en Ruby y porque la inmensa mayoría de los proyectos grandes son Java o C# o C++.  </p>
<p><a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" rel="nofollow">http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html</a> </p>
<p>(ojo tampoco hay que considerar Tiobe como una religión)</p>
<p>La frase &#8220;no puedes mantenerlo&#8221; es de Anders Hejlsberg no mia, yo soy de los que opina más bien, que sí puedes mantenerlo&#8230; pero muy malamente, con un esfuerzo inmenso y con una enorme disciplina de codificación para compensar la ausencia de gestores de código estático.</p>
<p>A mi la detección de errores por el tipado estático me importa poco aunque importa, a mi interesa infinitamente más:</p>
<p>1) La expresividad: soy un perro, soy un gato, soy comida de perro</p>
<p>  La expresividad es impagable cuando la cosa se complica más y más y más y más aun si heredas código de otro. </p>
<p>2) Gestión de código:  es decir control, control y control. El llamar a References (Eclipse) o Find Usages y mostrarte en 1 segundo todas las dependencias es impagable, el introducir un cambio en ese método y ser capaz en cascada de resolver decenas de implicaciones sin problema, en minutos, con seguridad, con fiabilidad&#8230; es impagable. Sin tener que ejecutar cientos de tests y a cada error introducir el cambio y otra vez ejecutar cientos de tests para detectar otro error y otro nuevo cambio etc, y si no tienes esos tests directamente estás muerto.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en ¿Por qué JavaScript? por Enrique Amodeo</title>
		<link>http://eamodeorubio.wordpress.com/2012/04/09/por-que-javascript/#comment-1521</link>
		<dc:creator><![CDATA[Enrique Amodeo]]></dc:creator>
		<pubDate>Sat, 27 Oct 2012 09:56:32 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=747#comment-1521</guid>
		<description><![CDATA[No quiero calentar mucho la polémica. Ya se que a ti simplemente JS no te convence. Yo personalmente quitaría los WTF más hirientes de JS y le añadiría un par de cosas. Lamentablemente no se pueden quitar esos problemas por retrocompatibilidad. De ahí la importancia de conocerlos, saber evitarlos y usar el subconjunto bueno del lenguaje.

Otro tema es el de lenguajes de tipado estático contra los de tipado dinámico. Eso merece otro post. Resulta que JS es de tipado dinámico, y claro, a los que les gusta el tipado estático lo ven como un problema. Lamentablemente sólo encuentro que se esgrime este argumento contra JS, no he visto nunca a nadie decir que &quot;en Ruby no se pueden mantener grandes bases de código porque no tiene tipado estático&quot;. No veo a nadie escribir transpiladores de lenguajes estáticos a Ruby, ni TypeRuby ni nada similar, ¿por qué?

Ya sabes que pienso que haciendo TDD no necesitas que un compilador te detecte errores de tipado estático, ya que TDD detecta éstos y encima detecta bastantes errores &quot;semánticos&quot; (si defines bien tus tests, claro), cosa que ningún compilador hace.

Mi opinión es que los lenguajes de tipado estático son muy beneficiosos para los fabricantes de herramientas de desarrollo de software y de máquinas virtuales: Microsoft, IBM, etc. ¿Para quién trabaja el inventor de TypeScript? ¿Y el de Dart?

Finalmente: &quot;millones de lineas de código&quot; Si tienes una aplicación con millones de lineas de código, seguramente esta sea tan inmantenible como Windows. Las aplicaciones mantenibles no tienen millones de lineas de código. Es más, dime algún sistema con millones de lineas de código que sea mantenible, aunque esté hecho en Haskell, JAVA, C#, Clojure o Scala. Seguro que no encuentras ninguna.]]></description>
		<content:encoded><![CDATA[<p>No quiero calentar mucho la polémica. Ya se que a ti simplemente JS no te convence. Yo personalmente quitaría los WTF más hirientes de JS y le añadiría un par de cosas. Lamentablemente no se pueden quitar esos problemas por retrocompatibilidad. De ahí la importancia de conocerlos, saber evitarlos y usar el subconjunto bueno del lenguaje.</p>
<p>Otro tema es el de lenguajes de tipado estático contra los de tipado dinámico. Eso merece otro post. Resulta que JS es de tipado dinámico, y claro, a los que les gusta el tipado estático lo ven como un problema. Lamentablemente sólo encuentro que se esgrime este argumento contra JS, no he visto nunca a nadie decir que &#8220;en Ruby no se pueden mantener grandes bases de código porque no tiene tipado estático&#8221;. No veo a nadie escribir transpiladores de lenguajes estáticos a Ruby, ni TypeRuby ni nada similar, ¿por qué?</p>
<p>Ya sabes que pienso que haciendo TDD no necesitas que un compilador te detecte errores de tipado estático, ya que TDD detecta éstos y encima detecta bastantes errores &#8220;semánticos&#8221; (si defines bien tus tests, claro), cosa que ningún compilador hace.</p>
<p>Mi opinión es que los lenguajes de tipado estático son muy beneficiosos para los fabricantes de herramientas de desarrollo de software y de máquinas virtuales: Microsoft, IBM, etc. ¿Para quién trabaja el inventor de TypeScript? ¿Y el de Dart?</p>
<p>Finalmente: &#8220;millones de lineas de código&#8221; Si tienes una aplicación con millones de lineas de código, seguramente esta sea tan inmantenible como Windows. Las aplicaciones mantenibles no tienen millones de lineas de código. Es más, dime algún sistema con millones de lineas de código que sea mantenible, aunque esté hecho en Haskell, JAVA, C#, Clojure o Scala. Seguro que no encuentras ninguna.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en ¿Por qué JavaScript? por jmarranz</title>
		<link>http://eamodeorubio.wordpress.com/2012/04/09/por-que-javascript/#comment-1518</link>
		<dc:creator><![CDATA[jmarranz]]></dc:creator>
		<pubDate>Sat, 27 Oct 2012 09:19:46 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=747#comment-1518</guid>
		<description><![CDATA[Enrique el argumento &quot;de un programador de JAVA al que no le apetece aprender JavaScript, HTML5 y CSS3, le parezca muy útil&quot; es un argumento pésimo, yo llevo más de 10 años haciendo cosas en JavaScript y AYER MISMO codifiqué cosas en JavaScript y eso que me muevo ahora en aplicaciones 90% Android nativo y aún así tengo una opinión muy muy gris sobre el mismo y no soy el único, lo oigo decir a curtidos programadores que saben lo que supone hacer sistemas de millones de líneas de código, no juguetillos.
 

JavaScript es un lenguaje que fue concebido para validar formularios y algunos efectillos DHTML y que se mueve en un entorno anémico, la tendencia actual a programar a saco en JavaScript el navegador que no digo que esté mal, tiene mucho sentido común, el problema es la &quot;herramienta&quot; que con el tiempo va a dar en mi opinión muchos disgustos a algunos.

Como dice Anders Hejlsberg el padre de Typescript

http://en.wikipedia.org/wiki/Anders_Hejlsberg

&quot;No, you can write large programs in JavaScript. You just can’t maintain them.&quot;

http://css.dzone.com/articles/you-can-write-large-programs

El que todo el mundo esté haciendo lenguajes alternativos a JavaScript algunos de ellos ESTATICAMENTE TIPADOS y con orientación a objetos completa como Typescript y Dart, no la cosa rara que tenemos habitualmente que hacer para que no sea un todo un spagetti-function, pues es un signo de todo esto. Por no hablar que los futuros estándares de JavaScript empiezan a ser otra cosa.

Ahora bien estoy de acuerdo con lo de la pereza, la pereza NO debería ser la excusa, si merece la pena la tecnología X de turno, si convence... ¡¡pues a saco!!]]></description>
		<content:encoded><![CDATA[<p>Enrique el argumento &#8220;de un programador de JAVA al que no le apetece aprender JavaScript, HTML5 y CSS3, le parezca muy útil&#8221; es un argumento pésimo, yo llevo más de 10 años haciendo cosas en JavaScript y AYER MISMO codifiqué cosas en JavaScript y eso que me muevo ahora en aplicaciones 90% Android nativo y aún así tengo una opinión muy muy gris sobre el mismo y no soy el único, lo oigo decir a curtidos programadores que saben lo que supone hacer sistemas de millones de líneas de código, no juguetillos.</p>
<p>JavaScript es un lenguaje que fue concebido para validar formularios y algunos efectillos DHTML y que se mueve en un entorno anémico, la tendencia actual a programar a saco en JavaScript el navegador que no digo que esté mal, tiene mucho sentido común, el problema es la &#8220;herramienta&#8221; que con el tiempo va a dar en mi opinión muchos disgustos a algunos.</p>
<p>Como dice Anders Hejlsberg el padre de Typescript</p>
<p><a href="http://en.wikipedia.org/wiki/Anders_Hejlsberg" rel="nofollow">http://en.wikipedia.org/wiki/Anders_Hejlsberg</a></p>
<p>&#8220;No, you can write large programs in JavaScript. You just can’t maintain them.&#8221;</p>
<p><a href="http://css.dzone.com/articles/you-can-write-large-programs" rel="nofollow">http://css.dzone.com/articles/you-can-write-large-programs</a></p>
<p>El que todo el mundo esté haciendo lenguajes alternativos a JavaScript algunos de ellos ESTATICAMENTE TIPADOS y con orientación a objetos completa como Typescript y Dart, no la cosa rara que tenemos habitualmente que hacer para que no sea un todo un spagetti-function, pues es un signo de todo esto. Por no hablar que los futuros estándares de JavaScript empiezan a ser otra cosa.</p>
<p>Ahora bien estoy de acuerdo con lo de la pereza, la pereza NO debería ser la excusa, si merece la pena la tecnología X de turno, si convence&#8230; ¡¡pues a saco!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en ¿Por qué JavaScript? por Enrique Amodeo</title>
		<link>http://eamodeorubio.wordpress.com/2012/04/09/por-que-javascript/#comment-1499</link>
		<dc:creator><![CDATA[Enrique Amodeo]]></dc:creator>
		<pubDate>Fri, 26 Oct 2012 09:46:36 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=747#comment-1499</guid>
		<description><![CDATA[Mmm, lo que a mi me ocurre con GWT es que no lo necesito. ¿Qué problema me soluciona GWT? Ninguno. Es cierto que a un programador de JAVA al que no le apetece aprender JavaScript, HTML5 y CSS3, le parezca muy útil.

Como opinión puramente personal, pienso que es mejor aprender las tecnologías y estándares web, para poder trabajar con ellas, que estar anclado en JAVA y depender de cosas como GWT. Pero otras personas pueden tener otros gustos y opiniones, claro.

Salud !]]></description>
		<content:encoded><![CDATA[<p>Mmm, lo que a mi me ocurre con GWT es que no lo necesito. ¿Qué problema me soluciona GWT? Ninguno. Es cierto que a un programador de JAVA al que no le apetece aprender JavaScript, HTML5 y CSS3, le parezca muy útil.</p>
<p>Como opinión puramente personal, pienso que es mejor aprender las tecnologías y estándares web, para poder trabajar con ellas, que estar anclado en JAVA y depender de cosas como GWT. Pero otras personas pueden tener otros gustos y opiniones, claro.</p>
<p>Salud !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comentario en ¿Por qué JavaScript? por Emilio</title>
		<link>http://eamodeorubio.wordpress.com/2012/04/09/por-que-javascript/#comment-1495</link>
		<dc:creator><![CDATA[Emilio]]></dc:creator>
		<pubDate>Fri, 26 Oct 2012 09:24:56 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=747#comment-1495</guid>
		<description><![CDATA[Solo por aportar un poco de visión sobre GWT.

GWT esta centrado 100% en cliente y te permite compartir clases java entre cliente y servidor de forma totalmente transparente. Esto lo diferencia a otras herramientas como JSF, ZK, Eclipse RAP o vaadin (vaadin utiliza GWT para renderizar la parte cliente ) que se basan en la gestión de eventos en el servidor.

Se puede integrar el sistema de logging estándar de java, la validación de JPA, Excepciones y otras características que facilitan la vida a cualquier desarrollador Java.

Es muy sencillo integrar una maquetacion html tradicional utilizando uibinder o incluso el nuevo framework de twitter bootstrap. Aunque también te permite desarrollar la interfaz de usuario utilizando la forma tradicional de las aplicaciones de escritorio basada en paneles y widgets.

Ademas integra una implementacion del patrón MVP + un eventbus que te proporciona una base muy potente para el desarrollo de aplicaciones grandes.

El único inconveniente que tiene GWT es el tiempo de compilación final para obtener el código javascript, el equipo de GWT esta trabajando en ello, aunque tampoco es mucho problema si se utiliza un sistema de integración continua que realice ese trabajo final de compilación y despliegue.

Saludos.]]></description>
		<content:encoded><![CDATA[<p>Solo por aportar un poco de visión sobre GWT.</p>
<p>GWT esta centrado 100% en cliente y te permite compartir clases java entre cliente y servidor de forma totalmente transparente. Esto lo diferencia a otras herramientas como JSF, ZK, Eclipse RAP o vaadin (vaadin utiliza GWT para renderizar la parte cliente ) que se basan en la gestión de eventos en el servidor.</p>
<p>Se puede integrar el sistema de logging estándar de java, la validación de JPA, Excepciones y otras características que facilitan la vida a cualquier desarrollador Java.</p>
<p>Es muy sencillo integrar una maquetacion html tradicional utilizando uibinder o incluso el nuevo framework de twitter bootstrap. Aunque también te permite desarrollar la interfaz de usuario utilizando la forma tradicional de las aplicaciones de escritorio basada en paneles y widgets.</p>
<p>Ademas integra una implementacion del patrón MVP + un eventbus que te proporciona una base muy potente para el desarrollo de aplicaciones grandes.</p>
<p>El único inconveniente que tiene GWT es el tiempo de compilación final para obtener el código javascript, el equipo de GWT esta trabajando en ello, aunque tampoco es mucho problema si se utiliza un sistema de integración continua que realice ese trabajo final de compilación y despliegue.</p>
<p>Saludos.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
