viernes, noviembre 23, 2007

Algunas apreciaciones sobre el oficio de programador por Ricardo Galli

.
Ricardo Galli es un profesor español y ferviente "evangelizador" de las bondades del software libre. En su vida académica es Doctor e Investigador de la Universidad de las Islas Baleares, desde donde ha aportado numerosas publicaciones sobre el movimiento "open source". Ha colaborado con la docencia a partir de analizar los aspectos éticos del soft utilizado para docencia e investigación.

De este personaje hoy solo quería compartir algunas reflexiones sobre el oficio de programador, las cuales extraje de una entrada en su blog: "Diez señales de que no eres tan buen programador como piensas":

"Reconoces inmediatamente a Jobs, Gates o Torvalds pero no sabes quiénes son y/o qué han hecho Turing –además de su modelo matemático tan conocido–, von Neumman –además de su famosa definición de “arquitectura”–, Dijkstra, Knuth, Wirth, Kernighan, Ritchie, Engelbart, Corbató, Hoare, Minsky…"

"¿Irías a un médico que no sabe qué ha hecho Pasteur o Ramón y Cajal? Pues eso. (No significa que saber la vida de esos personajes garantiza ser buen médico, pero un buen médico seguro que lee mucho sobre su profesión, si no sabe es que ni siquiera se preocupa en leer más allá de lo que le exigieron en la carrera, y que además se le olvidó una gran parte)."


"Piensas que en la universidad deberían enseñar Java desde el primer curso y que enseñar Pascal no tiene sentido. "

"Este es el típico argumento de los que piensan que la universidad sólo debe enseñar lo que “demanda el mercado”, o aún peor, que él o ella sólo debe aprender lo que demanda su mercado.
El primer objetivo cuando se empieza a programar es aprender qué es un algoritmo, cómo se representa en un lenguaje de alto nivel, estructurado, secuencial e imperativo –es el modelo más usado y con más métodos formales de diseño y verificación–. Lenguajes como C++ o Java son antes que nada estructurados, secuenciales e imperativos.Estos son conocimientos previos necesarios para aprender correctamente las abstracciones y estructuras orientadas a objetos, empezar con estos lenguajes con abstracciones y construcciones más complejas sólo introducen problemas y ruido en el aprendizaje, y lo que es peor, introduce vicios que luego son muy difíciles de eliminar."

No hay comentarios.: