domingo, 11 de enero de 2009

10 consejos para un programador novato

He aquí mi primera lista (chispas!!) con algunos consejos que si bien pueden parecer triviales, os aseguro que, a aquellos que estáis comenzando, os vendrán de maravilla:
  1. Comienza tu programa utilizando siempre el invento tecnológico más útil de la humanidad: el lápiz. Haz muchos esquemas con bonitos dibujitos para representar tu programa. Si tu aplicación necesita correcciones o añadidos... vuelve a la mesa de diseño y realiza nuevos esquemas. Te serán de gran utilidad en el proceso de desarrollo.
  2. ¡Divide y vencerás! Hasta los programas más difíciles pueden dividirse en partes más sencillas y estas a su vez en otras tareas más sencillas. Piensa que en lugar de hacer un programa estás haciendo un castillo con legos y que todo muro, por grande que sea, estará compuesto de pequeñas piezas de colorines.
  3. ¡Comenta el código! Sí, sí, ya se que todos somos muy inteligentes y que controlamos mogollón pero... pasados unos días, cuando retomamos el código nos preguntamos... ¿pero qué demonios hacía este procedimiento?
  4. Vuélvete metódico... esto significa que trabajes siempre con métodos (o procedimientos, o funciones, o creando objetos, depende del lenguaje de programación que elijas). Y te recomiendo que tampoco cargues demasiado estos, con argumentos, si necesitas que una función reciba 10 parámetros, eso indica que puedes dividir esa función en dos funciones de cinco parámetros, segúro y además el código será más legible. Si te acostumbras a trabajar así comprobarás para tu alegría que en más de una ocasión, cuando se te presente un problema, tardarás muy poco en adaptar tu código creando un nuevo método porque sencillamente tendrás tu trabajo muy ordenado y estructurado.
  5. Importante: a cada dato asígnale su tipo adecuado y realiza las conversiones de tipo justas y necesarias.
  6. Cada vez que consigas que un procedimiento funcione a tu gusto...¡optimízalo!, si no lo haces y tu aplicación se hace muy grande, quizás compruebas que va más lento de lo que quisieras.
    Resulta paradigmático el caso de los algoritmos de ordenación. En definitiva nos viene a decir que hay muchas formas de realizar una misma tarea y que la forma que elijamos de hacerlo será más o menos eficiente en función de las condiciones iniciales. Para muestra un botón.
  7. Si utilizas bases de datos, procura no cargar a mano los datos cuya entrada dependa del usuario. Programa en primer lugar el interface de entrada y después codifica el resto de elementos que dependan de esa entrada, así evitarás la tentación inconsciente de asignar datos que no te provoquen errores.
  8. Cuando tengas una parte funcionando con eficiencia, pide a alguien que use tu programa y anote los errores.
  9. En tu diseño, utiliza siempre el principio de la navaja de Ockham o principio de economía o de parsimonia el cual dice que en igualdad de condiciones la solución más sencilla es probablemente la correcta. O traducido al lenguaje actual haz que tu interface sea KISS (Keep It Simple, Stupid! - ¡Mantenlo simple, estúpido!) el usuario te lo agradecerá.
  10. Y hablando del usuario... el usuario, ese malévolo ser que impide que tu código sea la entelequia de tu aplicación... ya sabes, si en alguna ocasión dudas sobre la probabilidad de que el usuario realice esa combinación de acciones que provocará que tu programa se bloqueé, no te engañes, a los pocos minutos de uso... lo hará... de modo que... evítales la tentación protegiendo tu código de esos errores "improbables"

Ciencia para niños

¿Eres un profe de cono?
¿Quieres motivar a tu hijo intelectualmente?
O tu mism@, ¿te gusta la ciencia creativa?
Pues en http://www.arvindguptatoys.com/toys.html encontrarás un montón de curiosos y divertidos experimentos pensados sobre todo para niños, pero tan bien explicados y tan sencillos de realizar que seguro que no te resistirás a realizar tú mism@ alguno.


El sextante es muy sencillo de hacer y muy práctico

viernes, 9 de enero de 2009

Gráfico: Densidad Mundial de Robots

He encontrado esta curiosa imagen que nos muestra la densidad mundial de robots. En cada barra se representa el número de robots por cada 10000 trabajadores de manufacturas. De forma absolutamente sorprendente y felicísima, España ocupa el décimo lugar y sólo un puesto por delante se encuentra Estados Unidos.
Para mí es una gran noticia, pues es un indicador fiable del grado de tecnificación de nuestra industria y nos sitúa en una magnífica posición de cara al futuro.
Fuente (lo siento microsiervos me he adelantado): http://spectrum.ieee.org/dec08/7012