Cualquiera puede programar, aunque no cualquiera puede escribir código de calidad

El otro día te hablaba sobre el negocio dle siglo.

Te contaba la importancia que tiene escribir código de calidad, que se entienda.

Así a como te lo expliqué parece simple.

Déjame desmontarte esa idea.

Te explico.

Cuando yo empecé a programar, a los 15 años, me aburría de narices.

Más tarde, en la universidad, suspendí la primera asignatura de programación.

(Si, soy de los que han hecho la carrera. Ya te digo que no es importante en nuestro mundillo, aunque si que aporta una forma de pensar diferente. También te digo que en mi equipo actual, soy el único con la carrera de Informática acabada).

Bueno, a lo que iba. Que pierdo el hillo.

Pues eso, que suspendí la primera asignatura de programación.

Al volverla a hacer, como que tuve un cambio de chip y deboraba los ejercicios y los exámenes como Taz, el león de Tasmania de los Loonie Toons.

Tenía la sensación de que programar era pan comido. Y así fue a lo largo de las diferentes asignaturas de la carrera.

Mi pensamiento era: “Cualquiera puede programar”.

Empecé a trabajar y seguía pensando lo mismo.

Entonces, hace un par de años tuve otro cambio de chip. Fue escuchando una clase sobre complejidad del software. Esa clase fue de dos horas. Yo te la voy a resumir en un ejercicio.

El ejercicio es el siguiente:

  • Para cada una de estas secuencias de números, intenta recordarla durante 3 segundos, luego escríbela en un papel y compruebas si has acertado.

1234 4321 5555 7489 9239 6371

  • Lo más probable es que hayas acertado a las 3 primeras. La razón es porque siguen un orden lógico.
  • También es problabe que las últimas 3 te hayan costado algo más y aún así hayas acertado.
  • Vamos a complicarlo un poquito más. Haz lo mismo con estas 3 secuencias. Intenta recordarlas durante 3 segundos y escribelas en un papel.

8723409 8149147 71938546

  • De estas 3, lo más probable es que no aciertes ninguna. Si has acertado todas, en mi opinión no solicitada de hoy, eres un genio. Te invito a que dejes de leerme.

Por qué no has acertado todas? Ahí entra el concepto complejidad.

Un tal George A. Miller quiso buscar los límetes de nuestra capacidad de procesar la información. Llego a la conclusión que el número de objetos que una persona promedio puede tener en la memoria de trabajo es 7 ± 2. A eso se le llama el Número mágico de Miller.

Pues eso también aplica al software.

  • Es posible que entiendas mejor un método de unas pocas líneas que uno de 30 .
  • Es posible que seas capaz de interpretar un método con una lista de parámetros corta, 2 o 3, que un método con 5, 6, o 7 parámetros.
  • Una aplicación puede tener más de 10.000 líneas de código.
  • Y así un sinfín de ejemplos.

Entonces alguien dijo, no recuerdo quien: Jamás la humanidad se enfrentó a algo tan complejo como el software.

Y entonces pasé del “cualquiera puede programar” al “programar es muy complejo y requiere de mucho conocimiento”.

Y si crees que no es así, te invito a que dejes de leerle. En mi opinión no solicitada del día, entender que el software es complejo es la base para empezar a escribir código de calidad.

He intentado resumirte una clase de dos horas en un email de unas 600 palabras.

Le puedes sacar provecho o no. Eso es cosa tuya.

Lo puedes compartir con tus compañeros o no. Eso es cosa tuya.

En mi última opinión no solicitada del día, no darte cuenta de esto te llevará a chocarte con la ley del cambio continúo siempre.

Que tengas un buen día y lo disfrutes,

Josué.


Soy Josué Alcántara y cada día envio un mail con una idea para escribir software de calidad. ¿A quién se la envío? A mi lista de suscriptores. Día que estás fuera, idea que te pierdes. Así de fácil.