Buscar
Social
Ofertas laborales ES
domingo
dic282008

JavaHispano Podcast - 029 - Un año de Android (Entrevista a Android-Spa)

Publicando un nuevo número del podcast de javaHispano. En este número entrevistaremos a los responsables del portal Android-Spa (Roberto Alvarez, Ignacio Garcia y Javier Sanchez) en el cual hablarán de como ha ido evolucionando la plataforma Android y en que estado se encuentra actualmente.

Inicialmente realizaremos una introducción a Android, comentaremos los cambios que se han ido realizando durante este año y explicaremos en que estado se encuentra actualmente. Además hablaremos de programas que existen en la actualidad y de hardware como (G1 o QiGi) donde poder desplegar las aplicaciones. Finalmente hablaremos de Market para vender-comprar aplicaciones.

Direcciónes de interes:

http://www.android-spa.com - Portal de Android en castellano.

http://www.android.com/ - Portal de Android en ingles.

sábado
dic272008

Frases célebres acerca de la programación

Los chicos de Hackification han recopilado una serie de frases de grandes programadores. Las he traducido, para que las penséis durante estas vacaciones navideñas ;-), no tienen desperdicio:

 

"Debugging es dos veces más difícil que escribir el código en primer lugar. Entonces si escribes el código tan astutamente como sea posible, no eres -por definición- tan listo como para debugearlo."

Brian Kernighan

 

"Sólo hay dos tipos de lenguajes: aquellos de los que la gente se queja y aquellos que nadie usa."

Bjarne Stroustrup

 

"Cualquier tonto puede escribir código que un ordenador entiende. Los buenos programadores escriben código que los humanos pueden entender."

Martin Fowler

 

"Hay dos formas de diseñar software: la primera es hacerlo tan simple que obviamente no hay deficiencias y la segunda es hacerlo tan complicado que no hay deficiencias obvias. La primera forma es mucho más difícil.".

C.A.R. Hoare

 

"Mucho del software hoy en día se parece a una pirámide egipcia: con millones de ladrillos apilados uno encima del otro, sin integridad estructural y hecho por pura fuerza bruta y miles de esclavos."

Alan Kay

 

"Medir el progreso de la programación por líneas de código es como medir el progreso en la construcción de aviones por el peso."

Bill Gates



"Si deseas empezar y desarrollar algo grandioso, no necesitas millones de dólares de capitalización. Necesitas suficiente pizza y Diet Coke en la nevera, una PC barata y trabajo y dedicación para realizar tu idea."

John Carmack

 

"Los programas deben ser escritos para que la gente los lea y sólo incidentalmente, para que las máquinas los ejecuten."

Abelson / Sussman

 

"Pregunta: ¿Cómo se atrasa un año un proyecto grande de software? Respuesta: Un día a la vez."

Fred Brooks

 

"Nadie debe empezar un proyecto grande. Empiezas con uno pequeño y trivial y nunca debes esperar que crezca; si lo haces solamente sobre-diseñarás y generalmente pensarás que es más importante de lo que lo es en esta etapa. O peor, puedes asustarte por el tamaño de lo que tu esperas que crezca. Así que empieza pequeño y piensa en los detalles. No pienses acerca de la foto grande y el diseño elegante. Si no resuelve una necesidad inmediata, seguramente está sobre-diseñado. Y no esperes que la gente salte a ayudarte, no es así como estas cosas funcionan. Primero debes tener algo medianamente usable y otros dirán "hey, esto casi funciona para mí" y se involucrarán en el proyecto."

Linus Torvalds

 

A estas frases, yo añadiría esta de Donald Knuth:

 

"Debo confesar un fuerte prejuicio en contra de la moda del código reusable. Para mí, "el código re-editable" es mucho, mucho mejor que una caja negra intocable."

y esta otra que me hizo mucha gracia del usuario [zx81] quien nos compartió su sabiduría en una noticia en este sitio hace unos años:

 

"Llevo 16 años trabajando y he pasado por más de media docena de empresas, habiendo participado en proyectos pequeños, medianos y grandes, en el sector público y en el privado. Mi experiencia y la de mucha otra gente es que el método seguido habitualmente es el de tipo "Braveheart", a saber: 

 

  • Te pintas la cara de azul y blanco 
  • Te pones una falda escocesa 
  • Coges el primer objeto contundente que tengas a mano 
  • Corres colina abajo con el resto de tus colegas a ver cuantos ingleses puedes degollar antes de que te degollen a ti 
  • Fin del proyecto."

 

 

Y vosotros, ¿que otras frases conocéis?

viernes
dic262008

Lecciones aprendidas en el uso simultáneo de GWT, Axis y JPA

Dada la problemática encontrada en el uso simultáneo de web services con Axis, Google Web Toolkit (GWT) con ajax para la parte cliente y JPA para la conexión con base de datos, he escrito este artículo indicando unas cuantas lecciones aprendidas que espero os puedan ser útiles.

Dirección del artículo:http://terrazadearavaca.blogspot.com/2008/12/lecciones-aprendidas-en-el-uso-de-gwt.html

El proyecto, por cierto, es el mismo utilizado para la comparativa de implementaciones JPA

martes
dic232008

Comparativa de implementaciones de JPA: Toplink, EclipseLink, Hibernate y OpenJPA

Cansado de buscar en internet comparativas objetivas entre las diferentes implementaciones de JPA, decidí hacer pruebas yo mismo para ver el rendimiento de cada una. Dichas pruebas han dado lugar a este artículo.

Mi sorpresa ha sido que el comportamiento en lo que se refiere a requerimientos de meoria y memory leaks (al menos con la configuración por defecto) es radicalmente distinto, al menos entre las mejores (Hibernate y Toplink, en ese orden) y las peores (Eclipselink y Openjpa, también en ese orden).

En el artículo detallo, incluso con gráficos de memoria, el comportamiento de cada implementación, así como las conclusiones que, en mi humilde opinión, pueden sacarse.

Url del artículo: http://terrazadearavaca.blogspot.com/2008/12/comparativa-de-implementaciones-de-jpa.html 

lunes
dic222008

Consultas con “tipado fuerte” en JPA 2.0

Hace poco en JavaHispano se publicó una noticia sobre LIQUidFORM, para realizar consultas en JPA sin depender de cadenas que no pueden comprobarse en tiempo de compilación. Las ventajas de este tipo de soluciones son incuestionables, ya que permiten que el compilador nos pueda decir si nos estamos equivocando y además abren la puerta al auto-completado, refactoring y demás herramientas que desde un buen IDE nos pueden facilitar mucho la vida.

 

Se ve el grupo que define la especificación JPA no le son ajenos estos conceptos y están pensando en introducir un nuevo API, “Criteria”, para hacer cosas parecidas. Podéis ver una presentación en una entrad del blog de la líder del grupo Linda DeMichiel: Java Persistence 2.0 Public Draft: Criteria API.

 Personalmente creo que es una buena idea, aunque algunas cosas de la propuesta no me gustan demasiado, y dado que para eso estamos en comunidad hice llegar mi opinión. El problema principal para mí es que la propuesta depende mucho del uso de literales en forma de cadenas, que no pueden ser verificados en compilación, ni auto-completados, renombrados... Pero a ese mensaje me contestó Gaving King, el cual forma parte también del grupo y que teniendo en cuenta el “feedback” de la comunidad, ha pensado una alternativa la cual permitiría no tener literales en tu propio código, haberlos los hay pero los genera automáticamente el compilador, y además evita los problemas de las soluciones del tipo LIQUidFORM, que se basan en los getters/setters de los campos, los cuales no son imprescindibles en JPA y además abren la puerta a problemas con campos calculados que tengan su propio método get. Podéis ver su propuesta final en este mensaje: Java 6 compiler plugins and typesafe criteria queries

 

Así que esta noticia es por un lado para que conozcáis lo que se está cociendo, animaros a dar vuestra opinión que para eso está el JCP y la comunidad Java. Con la ayuda de todos es como conseguiremos mejorar las cosas antes de que ocurran, en vez de quejarnos de los cambios “a posteriori”.