Coge las direcciones de correo públicas de respetables programadores y envíales un correo con una pequeña entrevista con preguntas como; ¿como aprendieron a programar?, ¿les sirvio de algo la Universidad?, ¿qué es lo que más valoran de un programador?, ¿sirven de algo las matemáticas o físicas para programar?, ¿cuál será el próximo boom en programación?, eso es lo que hizo
Stiff.
(este es un pequeño resumen de lo que me ha parecido más interesante)
Estrellas invitadas:
Linus Torvalds - Autor del
Linux kernel
Peter Norvig- Director de desarrollo de Google, famoso Lisper, autor de famosos (en algunos circulos al menos) sobre IA. Su página personal.
Guido Van Rossum- El creador del lenguaje Python
Bjarne Stroustrup - El creador de C++ , su página web aquí
James Gosling - El creador del lenguaje Java
PREGUNTAS
1. ¿Cómo aprendiste a programar?
Linus Torvalds: No aprendí a programar en la Universidad. Lo hice leyendo libros y programando (al principio con un Commodore VIC-20 y luego con un Sinclair QL).
Peter Norvig: Realicé cursos en el instituto y en la Universidad, pero siempre sentí que aprendí más por mi cuenta.
Guido Van Rossum: Fuí a la Universidad donde había un gran mainframe y había varios cursos de programación.
Bjarne Stroustrup: En la Universidad (Aarhus y después Cambridge).
James Gosling: Inicialmente yo era autodidacta. Tuve mi primer trabajo de programador antes incluso de ir a la Universidad. Me divertí mucho.
2. ¿Te sirvio de algo la Universidad?
Linus Torvalds: Especialmente pienso que la Universidad fue muy útil. En lugar de ir a una escuela de Ingeniería, fuía a la Universidad de Helsinki, que es muy teórica, por lo que la enseñanza no se centraba mucho en la programación (que era sólo una pequeña parte, y en la que termine trabajando más), la mayoría de los cursos eran sobre conceptos fundamentales y cosas como análisis complejos.
Lo cual puede parecer aburrido e incluso un gasto de esfuerzo muchas veces, pero creo que fue útil, y muchas veces me divertía. Y creo que soy un mejor programador por ello.
Peter Norvig: Creo que aprendía más por mi cuenta.
Guido Van Rossum: Fue muy importante para mí.
Bjarne Stroustrup: Las Universidades me enseñaron mucho que era útil, incluido muchas de las bases de mi futuro trabajo. Además aprendí también programación por dinero, donde la comprensión de los problemas del mundo real, correciones, mantenimiento, entrega a tiempo, etc, era más estresante que en el entorno Universitario.
James Gosling: Estuve en la Universidad hasta que finalicé el PhD.
3. ¿Cual piensas que es la habilidad más importante que todo programador debiera tener?
Linus Torvalds: Es algo que yo llamo "gusto".
Tiendo a juzgar a la gente con la que trabajo no por su eficiencia a la hora de trabajar: mucha gente puede tirar mucho código, sino por como reaccionan al código de otra gente, y obviamente también al tipo de código que escriben y que enfoques toman. Esto me indica si tienen "buen gusto" o no, y el tema es que, una persona sin "buen gusto" a menudo no es muy buena juzgando el código de otra gente y su propio código termina siendo malo.
Pero esta no es la única cosa. Algo que es muy útil, especialmente en un proyecto Open Source es simplemente la habilidad de comunicar bien lo que vas a hacer, y como lo vas a hacer. La habilidad de explicar a los otros "por qué" vas a hacer algo de tal modo, es muy importante, y no todo el mundo tiene esa habilidad.
Peter Norvig: No creo que haya una, pero diré concentracíon.
Guido Van Rossum: Sus cuestiones son un tanto generales y difíciles de contestar. :-) Supongo que ser capaz de cocinar un huevo para desayunar es algo incalculable.
Bjarne Stroustrup: La habilidad para pensar claramente: Un programador tiene que comprender problemas y mostrar soluciones.
James Gosling: Ser capaz de motivarse a si mismo. Para ser realmente bueno, tienes que amar lo que haces.
4. ¿Crees que las matemáticas o física es una destreza importante para un programador?, ¿Por qué?
Linus Torvalds: Personalmente creo que una buena base de matemáticas viene muy bien. No estoy tan seguro que con física también, pero estoy convencido que sabiendo matemáticas y teniendo una buena base ayuda a ser un mejor programador. Ya sea solamente porque los modelos mentales son similares.
Peter Norvig: Sí. Muchas de las ideas son inherentemente matemáticas: inducción, recursión, lógica, etc.
Guido Van Rossum: Matemáticas, sí (alguna parte; No me importan las ecuaciones diferenciales, pero la álgebra y lógica son importantes). La física, no creo excepto que es siempre útil interesarse por muchas cosas.
Bjarne Stroustrup: Depende del programador y de las tareas de programación. Algunas partes de matemáticas son frecuentemente útiles, la física menos que ella, pero aprender física es una de las mejores maneras de aprender matemáticas prácticas.
James Gosling: Sí. Te enseñan lógica y dedución. Y a tener un ojo análitico. Y no hay nada que sustituya a las matemáticas cuando se trata de analizar los algoritmos.
5. ¿Cual crees que sera la próxima gran innovación en programación?
Linus Torvalds: No creo que veamos un "gran salto". Hemos visto un montón de herramientas que nos facilitan las tareas diarias - con los lenguajes de alto nivel y quizás la integración de bases de datos simples en los lenguajes serán una de ellas. Pero la mayoría de lo que se ha comentado publicamente ha sido de un uso muy limitado.
Peter Norvig: Procesamiento distribuido a larga escala.
Guido Van Rossum: Lo siento, no soy una persona con una bola de cristal. Predije el CGI unos 5 años despues de que hubiera sido inventado. :-)
Bjarne Stroustrup: No lo se, no me gustan las suposiciones.
James Gosling: Los dos temas por los que estoy ocupado ahora son la copia con paralelismo y complejidad.