70 cosas que todo programador pragmático debería tener en cuenta

desarrollo, libros 0 comentarios »

Acabo de leer The Pragmatic Programmer: From Journeyman to Master, todo un clásico sobre el desarrollo ágil, y me ha parecido bastante interesante. Muy recomendable si quieres huir de la metodogía tradicional en cascada o si no sigues ninguna metodología. Si eres de los que lleva tiempo en el mundo Rails, los temas tratados te resultarán de sentido común, pero recuerda que el sentido común es el menos habitual de los sentidos.

El libro nos va resaltando las cosas que todo programador pragmático debería tener en cuenta. Os las enumero aquí para que os hagáis una idea de los temas tratados en el libro. Muchos de los puntos se entienden por sí sólos. Para entender otros será necesario que leáis el libro.

  1. Mima tu obra
  2. ¡Piensa!, sobre tu trabajo
  3. Proporciona opciones, no excusas
  4. No vivas con ventanas rotas
  5. Sé un catalizador del cambio
  6. Ten perspectiva
  7. Haz de la calidad un requisito
  8. Invierte regularmente en tu conocimiento
  9. Analiza críticamente lo que lees y oyes
  10. Importa lo que dices y cómo lo dices
  11. No te repitas
  12. Haz que sea fácil la reutilización
  13. Elimina las interacciones entre cosas no relacionadas
  14. No hay decisiones finales
  15. Utiliza balas trazadoras para encontrar el objetivo
  16. Prototipa para aprender
  17. Programa cerca del dominio del problema
  18. Estima para evitar sorpresas
  19. Replanifica según codificas
  20. Mantén el conocimiento en texto plano
  21. Utiliza el poder de los comandos de la shell
  22. Aprende a utilizar un editor a fondo
  23. Utiliza siempre control del código fuente
  24. Arregla el problema, no busques culpables
  25. Evita el pánico
  26. “select” no se ha roto
  27. No lo asumas, pruébalo
  28. Aprende un lenguaje de manipulación de textos
  29. Escribe código que escriba código
  30. No puedes escribir software perfecto
  31. Diseña con contratos
  32. Haz que los errores aparezcan pronto
  33. Si no puede ocurrir, asegúrate de que no ocurra
  34. Utiliza excepciones para problemas excepcionales
  35. Acaba lo que empieces
  36. Minimiza el acoplamiento entre módulos
  37. Configura, no integres
  38. Pon las abstracciones del código en metadatos
  39. Analiza el flujo de trabajo para mejorar la concurrencia
  40. Diseña utilizando servicios
  41. Diseña siempre pensando en la concurrencia
  42. Separa las vistas de los modelos
  43. Utiliza el patrón pizarra para coordinar los flujos de trabajo
  44. No programes por coincidencia
  45. Estima el orden de magnitud de tus algoritmos
  46. Comprueba tus estimaciones
  47. Refactoriza pronto, refactoriza a menudo
  48. Diseña para testear
  49. Testea tu software, ya que si no lo harán tus usuarios
  50. No utilices asistentes de código que no entiendas
  51. No recojas requerimientos, escava para encontrarlos
  52. Trabaja con un usuario para pensar como un usuario
  53. Las abstracciones viven más que los detalles
  54. Utiliza un glosario en tus proyectos
  55. No pienses fuera de la caja, encuentra la caja
  56. Escucha a tus dudas persistentes — Empieza cuando estés preparado
  57. Algunas cosas se hacen mejor que se describen
  58. No seas un esclavo de los métodos formales
  59. Las herramientas caras no producen mejores diseños
  60. Organiza alrededor de la funcionalidad, no de los puestos de trabajo
  61. No utilices prodedimientos manuales
  62. Testea pronto, testea a menudo, testea automáticamente
  63. La codificación no termina hasta que todos los tests hayan pasado
  64. Utiliza saboteadores para testear tus tests
  65. Testea pensando en los estados de tu aplicación, no en las líneas de código
  66. Busca los bugs sólo una vez
  67. Utiliza tu lengua como otro lenguaje de programación (documenta)
  68. Genera tu documentación de la manera más automática posible
  69. Excede las expectativas de tus usuarios
  70. Firma tu trabajo

La ilusión del emprendedor

citas, libros 0 comentarios »

Los errores del emprendedor no suelen ser de gestión, sino errores propiciados, paradójicamente, por la misma fuerza que induce a emprender: la ilusión.

Fernando Trías de Bes, en El libro negro del emprendedor.


Ruby es el octavo lenguaje de programación que más libros vende

libros, ruby, rails 1 comentario »

O’Reilly ha publicado su estudio anual sobre el estado del mercado de libros informáticos. Los datos utilizados son los que proporciona BookScan y se refieren al mercado de EEUU.

lenguajes programación 2007

De este estudio me gustaría destacar que:

  • Ruby es el octavo lenguaje de programación que más libros vende.
  • El incremento en las ventas de libros de Ruby ha sido de un 10% en 2007.
  • Se venden más libros de Ruby que de Perl o Python.
  • En el primer puesto sigue estando java, por encima de C# y PHP.
  • De los 7 lenguajes que venden más que Ruby, el único que ha incrementado sus ventas ha sido C#.

¿Es Amazon Kindle el futuro de la lectura?

internet, libros 1 comentario »

Amazon Kindle es un dispositivo que permite leer libros electrónicos. Su lanzamiento en noviembre de 2007 tuvo bastante notoriedad en los medios, tanto nuevos como tradicionales. Hubo grandes titulares del tipo “Amazon Kindle es el futuro de la lectura”. También hubo personas, como Eduardo Arcos de ALT1040, que opinaron prácticamente todo lo contrario.

kindle versus libro

¿Qué queda de todo aquello? Como podéis observar en la siguiente gráfica de Google Trends, el número de búsquedas y de noticias relacionadas se ha desinflado bastante.

tendencia kindle

Yo creo, sin haber tenido la oportunidad de tener un Amazon Kindle en mis manos, que este dispositivo puede ser un primer paso en el camino hacia un visor electrónico de libros. Pero, desde luego, ni es el producto definitivo ni los libros en papel van a a desaparecer en un futuro inmediato.

Este debate siempre me trae a la memoria el relato corto de Isaac Asimov titulado “El Dispositivo Holmes-Ginsbook”. Si no quieres que te desvele en gran medida el argumento del relato no leas el siguiente párrafo.

El relato transcurre entrado ya el siglo XXI. La humanidad ha olvidado la Historia, aunque el desarrollo científico y tecnológico es muy elevado. Los libros no existen y en su lugar se utilizan unos dispositivos electrónicos de visionado muy sofisticados, los cuales tenían algún que otro incoveniente que no voy a contar. Dos científicos trabajan en un nuevo dispositivo que permita leer de manera más cómoda. Tras continuados esfuerzos y prototipos, consiguen inventar el libro. Por ello reciben el premio Nobel. Os destaco una frase del relato:

El avance tecnológico que suponía el utilizar los músculos oculares en lugar de costosos aparatos era enorme.

– Isaac Asimov, en El Dispositivo Holmes-Ginsbook

El relato está disponible en español en Opus 100, publicado por Alianza Editorial.


Firmin

libros 1 comentario »

Firmin
Sam Savage
Seix Barral, 224 páginas
ISBN 978-84-322-2824
4 estrellas

Firmin es un lector empedernido que vive en el sótano de una librería de Boston en los años 60. Firmin tiene cuerpo de rata y es un personaje muy humano y conmovedor. Es un relato sorprendente desde el principio. La próxima vez que vea un rata la miraré con otros ojos.

Firmin

Además, en una nueva estrategia en el mercado literario español, Seix Barral ha adquirido los derechos de traducción mundiales de la novela. Hasta ahora ninguna editorial española había comprado los derechos mundiales de una obra no escrita en castellano. Y según leo, parece que el negocio no les está saliendo nada mal.

Aquí podéis ver el video de presentación de la novela: