sábado, diciembre 31, 2005
Los jóvenes y la programación
Parece que estoy haciendo una serie. Pero es que Joel Spolsky me lo pone a huevo.
Ha perpretado uno de sus siempre bien escritos artículos sobre los jóvenes programadores. Dice que hace años cuando en una entrevista le dejaba al candidato libertad para elegir el lenguaje en el que programar, en el 99% de los casos el elegido era C. Pero ahora es Java. Y eso no le gusta.
Dice que Java es demasiado fácil. Que un buen programador tiene que entender punteros y recursión (para lo que habla de Scheme). Y, en cierto modo, dice lo mismo que el artículo anterior sobre hacer ciencia:
Vamos, que al final, ser un buen programador es pensar en abstracto.
El problema, según él, es que se ha bajado el nivel de la carrera, porque a él le parecía bien que fuese un filtro:
¿Pensarán los mismos los alumnos de primer año en la universidad? (Sí, es una pregunta retórica.)
Ha perpretado uno de sus siempre bien escritos artículos sobre los jóvenes programadores. Dice que hace años cuando en una entrevista le dejaba al candidato libertad para elegir el lenguaje en el que programar, en el 99% de los casos el elegido era C. Pero ahora es Java. Y eso no le gusta.
Dice que Java es demasiado fácil. Que un buen programador tiene que entender punteros y recursión (para lo que habla de Scheme). Y, en cierto modo, dice lo mismo que el artículo anterior sobre hacer ciencia:
But beyond the prima-facie importance of pointers and recursion, their real value is that building big systems requires the kind of mental flexibility you get from learning about them, and the mental aptitude you need to avoid being weeded out of the courses in which they are taught. Pointers and recursion require a certain ability to reason, to think in abstractions, and, most importantly, to view a problem at several levels of abstraction simultaneously. And thus, the ability to understand pointers and recursion is directly correlated with the ability to be a great programmer.
Vamos, que al final, ser un buen programador es pensar en abstracto.
El problema, según él, es que se ha bajado el nivel de la carrera, porque a él le parecía bien que fuese un filtro:
I've seen all kinds of figures for drop-out rates in CS and they're usually between 40% and 70%. The universities tend to see this as a waste; I think it's just a necessary culling of the people who aren't going to be happy or successful in programming careers.
¿Pensarán los mismos los alumnos de primer año en la universidad? (Sí, es una pregunta retórica.)