Dando una alternativa a las barras de progreso

no_progress_bar

Hoy en día estamos acostumbrados a encontrarnos con «barras de progreso» por todas partes (al cargar el sistema operativo, al arrancar un programa…) que nos van indicando visualmente como va el proceso de carga de la aplicación.

A través de JavaHispano llego a una alternativa propuesta por Romain Guy. La idea consiste en suprimir dicha barra de progreso y, en su lugar, hacer que el logo de la aplicación se muestre en blanco y negro al iniciar y que vaya cogiendo color mientras se va cargando llegando a la máxima tonalidad de color al finalizar la carga.

Romain Guy considera que las barras de progreso son aburridas y que, de esta manera, se conseguiría el mismo efecto de una manera mucho más divertida. Incluso, dada una imagen, muestra un ejemplo programado en Java. También hay un vídeo.

Personalmente coincido con el tercer comentario escrito en JavaHispano en el que «peyrona» asegura que el problema de hacerlo de esta manera es que «no permite al usuario hacerse una idea de cuánto queda para terminar». ¿No os parece?

¿Qué opináis sobre esta alternativa? ¿Conocéis otras? ¿Tan aburridas son las barras de progreso?

¿Alguien ha visto un BUEN programador MOTIVADO?

programmer

Se está montando un buen debate en la blogosfera sobre el artículo escrito por Enrique Dans en Libertad Digital: ¿Alguien ha visto un programador? Opinan: El programador español en el año 2007 (Javier Perez), De la escasez de programadores y escoger informática (Error 500) y Yo he visto unos pocos (Galli).

Como yo me dedico a «eso de picar teclas» (vaya, que programo) me gustaría dar mi punto de vista. A la pregunta que formula Enrique yo respondería: sí, los he visto, los veo y mucho me temo que seguiré viéndolos en un futuro todos los días. Ahora bien, ¿has visto alguna vez a algún buen programador motivado en una empresa? Yo no. A algún power programmer sí, pero… ¿motivado en una empresa? Difícil, muy difícil.

Se diga lo que se diga, el trabajo de programador está asociado a la base de la estructura jerárquica de una empresa. Esto implica: bajos salarios, mala reputación y comerse muchos marrones de las capas superiores de la pirámide. Es un trabajo muy poco agradecido. A pesar de ello se trata de un trabajo necesario e imprescindible por parte de una empresa que se dedica a programar software. Con el auge de las tecnologías de la información la demanda ha crecido exponencialmente. El problema es que la oferta no ha sido suficiente por lo que muchos profesionales que no han encontrado salida en sus profesiones han decidido tomar esta alternativa.

De esta manera, yo no creo que haya problema de falta de programadores. Los hay, vaya si los hay. Lo que no hay tanto son programadores capaces de desempeñar su trabajo de una manera óptima, con buena formación y creatividad tal y como requiere un trabajo de este tipo.

Por todo esto me atrevo a decir: programadores sí, buenos programadores motivados… bufff!!!

Eclipse Europa ya disponible

europa

Siguiendo con el lanzamiento anual de nuevas versiones por parte de Eclipse, ayer día 29 de junio se puso a disposición del público la descarga de esta nueva «major release» conocida con el nombre en clave de Eclipse Europa. Concretamente se trata de la versión 3.3 de este IDE de código abierto.

A diferencia de su predecesor, Eclipse Callisto que se escribió en 7 millones de lineas de código e intervinieron 260 desarrolladores de 12 países diferentes en Eclipse Europa han hecho falta escribir 17 millones de líneas de código y 310 desarrolladores de 19 países distintos. Además, mientras Eclipse Callisto integraba 10 subproyectos, Eclipse Europa cuenta con un total de 21 subproyectos que permiten aumentar el potencial inicial de Eclipse:

  • AspectJ Development Tools (AJDT)
  • Business Intelligence and Reporting Tools (BIRT)
  • Buckminster
  • C/C++ Development Tools (CDT)
  • Data Tools Platform (DTP)
  • Device Software Development Platform – Device Debugging (DSDP.DD)
  • Device Software Development Platform – Target Management (DSDP.TM)
  • Dynamic Languages Toolkit (DLTK)
  • Dash (Eclipse Monkey)
  • Eclipse Communication Framework (ECF)
  • Eclipse Platform, JDT, PDE and Equinox
  • Eclipse Modeling Framework (EMF)
  • Eclipse Modeling Framework – Query, Transaction, Validation (EMF-QTV)
  • Graphical Editing Framework (GEF)
  • Graphical Modeling Framework (GMF)
  • Model Development Tools (MDT)
  • Model to Text (M2T) – JET
  • Mylyn
  • SOA Tools Platform (STP)
  • Test and Performance Tools Platform (TPTP)
  • Web Tools Platform (WTP)

Para esta nueva versión, se han «montado» diversos paquetes para descargar en función de tipo de trabajo que vayamos a realizar. Así pues tenemos:

  • Eclipse IDE for Java Developers – 78 MB
  • Eclipse IDE for Java EE Developers – 123 MB
  • Eclipse IDE for C/C++ Developers – 62MB
  • Eclipse Classic – 137 MB

¿Has probado ya esta nueva versión de Eclipse? ¿Prefieres NetBeans? ¿Te quedas con el clásico VIM?

La importancia de mantener el código fuente limpio

source-code

Why you should polish your code es uno de esos artículos que recomendaría leer a todo aquel (yo, el primero) que ha programado alguna vez. Explica, en inglés, la importancia que tiene programar de una manera clara, estructurada y concisa.

Si alguna vez has tenido que mantener una aplicación informática y te has acordado de toda la familia de la persona que la programó inicialmente seguro que lo comprendes. Tal y como dice el artículo original desgraciadamente es muy poco habitual que los programadores dediquemos tiempo a mejorar la calidad del código que escribimos. Los plazos de entrega suelen estar muy ajustados y se le da prioridad a: «que funcione».

Suele ser muy difícil hacer ver a los que no programan que aunque sea más costoso realizar el correcto mantenimiento del código fuente a corto plazo, a medio y largo plazo este coste se compensa exponencialmente en un futuro mantenimiento del mismo.

Entre los problemas que puedes encontrarte si no se «cuida» el código están: código duplicado, nombre de variables y funciones heterogéneas, exceso de dependencia entre diversas partes del código, ficheros de tropecientasmil líneas, 0 documentación…

Soy de los que opina que es necesario preocuparse por estos temas. Creo que debería ser una práctica habitual de todo programador y el equipo con el que trabaja.

¿Qué opináis al respecto?

10 preguntas que un programador debería hacer en una entrevista de trabajo

jobinterview

Acabo de leer el artículo The top ten questions every programmer should ask on a job interview en el que el autor escribe 10 preguntas que un programador debería formular en una entrevista de trabajo. Creo que son buenas preguntas por lo que paso a comentarlas en este blog:

  1. ¿Cuántas horas se trabaja de media a la semana en la empresa?
  2. ¿Cuáles son las probabilidades de viajar?
  3. De media, ¿cuánto tiempo permanece un empleado en la empresa?
  4. ¿Qué tipo de formación puedo esperar de ustedes?
  5. ¿Puede hacerme un resumen del proceso de desarrollo?
  6. ¿Cuál es el cliente más grande de la empresa y qué trabajo hacen para él?
  7. ¿Puede explicarme alguno de los «marrones» más grandes que ha tenido la empresa en los dos últimos años?
  8. ¿Cada cuánto se hacen revisiones salariales / promociones?
  9. ¿Qué tipo de actividades sociales se realizan a lo largo del año?
  10. ¿Me puede decir si tengo la experiencia necesaria?

Por desgracia, debido al alto número de horas que suele trabajarse en el mundo de la programación española y al alto reciclaje de programadores que existen en las empresas informáticas, las primera y tercera preguntas se me antojan imprescindibles.

Me ha sorprendido la séptima puesto que dudo que una empresa te hable claramente en una entrevista de sus problemas y, si lo hace, seguramente mienta. Por no hablar del tema del obtener información sobre el «mejor» cliente. De todas maneras, si más no, está bien formularlas y ver como reacciona el entrevistador. Tal y como dice el autor original del artículo de las reacciones de la persona que entrevista siempre se puede saber más cosas acerca de la empresa y eso hay que aprovecharlo.

Y vosotros, ¿Qué opináis? ¿Os parecen buenas preguntas? ¿Reflejan la realidad?