Computer skills in Europe

Gilipolleces, Spain, arte — EwS @ 12:42 am

El último mapa que ha publicado The Economist sobre las capacidades de los europeos con respecto a los bichos con teclas esta tan así, tan desnudo, tan a lo bestia y tan crudo que hasta duele mirarlo.

Viene de un estudio de la Comisión Europea, y o es que no este de acuerdo (si tuviera la más mínima creencia diría que este mapa va a misa). Lo que a uno le extraña es que el país del me bajo la versión nueva del messenger por las caritas, del linux es muy difícil, del windows pirateao, de la adoración mas estúpida a Google y de los superdotados que comentan en masa en ciertos sitios no aparezca relegado a la ultimisima posición que se merece. Visto lo visto, uno no puede más que imaginarse el panorama búlgaro y desear el encontrar un sitio traquilo donde llorar desconsoladame.

Lo que me mosquea de todo el asunto es la falta de datos, contrastes, fuentes o simplemente lo que entieden por capacidades informáticas. ¿Comparan el número de líneas de código escritas por habitante? ¿El uso de metodologías funcionales de programación en lugar de iterativas? ¿Hablan de la capacidad de instalar un windows, usar firefox, usar ubuntu, configurar gentoo o calzarse un openbsd a pelo?

Si hay algo que me he preguntado veces es que hace a uno un buen programador (sea por mi patrón migratorio, sea por pura vanidad) y por lo que se no es respuesta fácil. No se puede contar por número de líneas escritas por día (mis mejores compañeros, que son unos puñeteros mercenarios del código, suelen tener patrones de escritura negativa ya que al final del dia han conseguido simplificar y reducir cualquier programa que se les haya pasado por delante), ni por el número de horas que echan, ni por su educación, ni por su obsesión por el go, ni por el conocimiento de uno u otro lenguaje ni siquiera por el el número de lenguajes que dominan. Hay algo en los ojos y en el comportamiento del que es buen programador que escapa por un lado las capacidades de análisis de este tipo de estudios y por otro hace casi imposible su replicación por métodos enteramente académicos. De forma inconsciente uno empieza a respetar ciertas actitudes tan estúpidas como usar ratpoison o ion3 como gestor de vetanas y cuando me toca sentarme delante de un posible candidato para entrevistarlo (sabiendo el brutal coste que tiene contratar a la persona equivocada) casi me dedico más a charlar y buscarle las cosquillas, sentarme a su lado a ver como edita un fichero con vim o emacs (con la excusa perfectamente académica de que me escriba un par de funciones recursivas) o escuchar como habla de la manera de resolver sus problemas y de lo que le interesa que a preguntarle eso de que te han reducido al tamaño de una moneda y te has caído e ua batidora….

La programación es una forma de entender los problemas de forma lógica y una forma de abstracción y casi si me da el día pedante digo que una manera de entender la vida. Habré escuchado (y pensado) más de una vez que esa tendencia tan cerebral de pensar que todo es información y todo es un problema cuya solución puede encontrarse puede joderte la vida de la manera más miserable y es que pese a que nos intenten siempre poner a los constructores de puentes como modelo de elegacia a imitar en nuestros desarrollos, la programación (el sentarse a resolver problemas sistemáticamete, día a día y del modo más elegatemente posible) tiene mas puntos en común con las artes que con cualquiera de las ciencias. Al fin y al cabo lo que hacemos todos los días (y de ahí mi obsesión con ver como usa el editor los nuevos candidatos) es escribir prosa y no hay universidad que enseñe a escribir (en español, en vasco o en erlang) de forma elegante, usando las mejores costrucciones y los mejores recursos para cada problema, filia o estado de ánimo. Las artes son formas de expresión y esas formas se aprenden y se adquieren por imitación, apreciación, observación meticulosa, práctica y mejora de la técnica en privado. Nuestro arte ha sido analizado y enseñado de la manera más incorrecta posible: intentando racionalizar y esquimatizar hasta lo infinito y obviando que es la copia y la lectura de código ajeno y elegante la mejor manera de enseñar a programar.

Hay pocos libros que enseñen código bello y que inspiren la programación. Uno casi tiene que rascar viejos manuales para encontrar verdaderas joyas (la especificación de una máquina de expresiones regulares de rob pike, el primer apply y evail del manual de lisp 1.5) y tragarse muchos weblogs y agregadores para separar el grano de la paja pero afortunadamente ha caido en mis manos por fin Beautiful Code, un proyecto de Andy Oram y Greg Wilson de casi 600 páginas donde varios de los mejores programadores que hay vivos (desde los bichos que inventaron el Unix original hasta varios de los ingenieros de Google involucrados en el map/reduce original) comentan cual es la pieza de código que más les ha conmovido o entusiasmado. Todos los autores colaboraron por amor al arte y los beneficios íntegros del libro van destiados a Amnistia Internacional por lo que encima sube puntos de karma (pero si uno no tiene posibilidades siempre esta el torrent para echar una mano).

Acerca de mi duda inicial (quien es un buen programador) la manera es, como los artistas, el preguntarle a compañeros de oficio. Es una definición recursiva (necesitas a un buen programador para defiir a otro) pero como el círculo hermenéutico, es construciva y no viciosa y puede bootstrapearse (alerta palabro) econtrando los mejores programadores usando el código libre, hoy por hoy, la manera más bella e interesante de inspirarse por el código. Y un método mucho más científico y claro que el usado en el mapa del economist con el que empezaba el artículo.

6 Comments »

  1. Zas! en toda la boca

    Comment by Guille — October 16, 2007 @ 3:24 am
  2. Brillante, simplemente.

    Comment by Fer — October 17, 2007 @ 3:07 am
  3. Me encanta leer cosas como las que escribes.

    Comment by Moises — October 17, 2007 @ 12:30 pm
  4. Gracias :)

    Comment by EwS — October 17, 2007 @ 3:33 pm
  5. Me ha llegado muy hondo aquello de “la programación es una forma de vida” ya que es algo que llevo pensando desde hace tiempo.

    Un saludo de un valenciano desde Irlanda

    Comment by Jaume — October 28, 2007 @ 8:40 am
  6. Una vez más, genial entrada.

    El capítulo 2 del libro (”Subversion Delta Editor”, por Karl Fogel) está bajo una licencia Creative Commons, así que no hay que acudir al torrent :-P

    El link: http://www.red-bean.com/kfogel/beautiful-code/bc-chapter-02.html

    Actualmente ando trabajando en traducirlo al castellano, por si hay algún lector interesado en colaborar.

    ¡Un abrazo desde Sevilla!

    Comment by penyaskito — November 3, 2007 @ 9:07 am

RSS feed for comments on this post. TrackBack URI

Leave a comment

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.