Is it a fake website?

19 septiembre 2008

5 gran preguntas a 5 de los grandes programadores

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.

24 comentarios:

Anónimo dijo...

No sabes cuánto me anima todo eso..., no me hace sentirme mal por no haber hecho la carrera, y llevo programando 20 años ya.

José Cristóbal Martín Gómez dijo...

Claro, pero es que no se estudia una carrera informática para picar código.

Anónimo dijo...

espero algun dia ser de los grandes como estos tipos!

Anónimo dijo...

Exelente articulo, realmente exelente. Muy motivante.

Emilio dijo...

Gracias por los comentarios. Sí, el artículo es muy interesante, os animo a que continueis con el original.
#varg, el artículo es motivante y me divertí leyendolo a la vez que lo traducía. :)

El artículo original es del año 2006 y me llamó la atención que no se hubiera visto por ahí. Por eso lo publiqué.

Anónimo dijo...

Guido Van Rossum es un poco borde, no?

Emilio dijo...

En la entrevista lo puede parecer, sus respuestas difieren un tanto de las de los demás. Pero lo cierto es que estos tipos son todos un tanto especiales en cuanto a su carácter. No hay más que ver alguno de los correos característicos de Linus
http://article.gmane.org/gmane.linux.kernel/706950

Pero son más accesibles de lo que pueda parecer, hace tiempo intercambie algún correo con Stroustrup.

Anónimo dijo...

Van Rossum va de chulo. O tal vez la entrevista le parece una chuminada.

Leonardo dijo...

Pues muy bien el articulo es excelente, en algunos paises sino tenes el carton de ingeniero no puedes a entrar a trabajar aunque sea como programador.

Realmente yo siempre he dicho que la universidad te da como un 30% de las bases de programacion, asi que la parte de ingeniero en el desarrollo de programas esta en la gran capacidad de uno como desarrollador.

Realmente los que somos programadores y seamos o no ingenieros lo que buscamos es dar soluciones a los problemas que se originan.

Asi que motivemonos a buscar soluciones que ayuden a las demas empresas a resolver sus problemas, Saludo

Anónimo dijo...

llevo 15 años en la profesion y para ser un gran programador se necesitan dos cosas: una buena base matematica que de consistencia a tus algoritmos (el lenguaje utilizado no deja de ser mas que la implementacion de esos algoritmos) y muchas, muchas horas picando codigo que te dan el punto de experiencia necesario para que tu software sea de calidad.

AntuanF1 dijo...

Grandísimo aporte, en los años 80 casi todo el mundo empezó con los videos juegos y de forma autodidacta, yo con el MSX que me regaló mi tio cuando tenía 11 años. Después llega la carrera que algunas asiganturas aportan más y otras menos, el primer año es el más duro con las matés y l física a saco, pero cuando vas pasando cursos llega la lógica, Inteligencia artificial, Patrones de diseño, informática gráfica, Ingenieria del Sw, que son las asignaturas que realmente te gustan y tienen aplicación directa en la vida real.

Saludos.

Anónimo dijo...

Es Juzgar, con z.. no judgar.

Gracias por tomarte las molestiar para que podamos leerla en nuestro idioma.

Emilio dijo...

#anónimo gracias!
Corregido.

Mvllny dijo...

Excelente!

Unknown dijo...

Interesante articulo, y gracias al propietario del blog por la traduccion al español. Dentro de las habilidades fundamentales de un programador, son obligatorias las matematicas, caso que aca en Latinoamerica se da poco; debido a que personalmente he conocido buen@s programadores que tienen sus problemas con estas. Como programadores, y me incluyo, debemos enfocarnos mas hacia la importancia de las matematicas en nuestra labor de presentar soluciones...

Alfonso E.M. dijo...

Creo que una cualidad importante para ser un gran programador de software libre es... no tener familia ! (distraen demasiado) :-)

Bromas aparte, coincido en que hace falta concentración, además de memoria, amor por las cosas bien hechas y pasión por resolver problemas.

Aldo Zanabria dijo...

muchas gracias por la traducción... muy buena forma de motivar a la gente que somos seres humanos y no gurus.. sin forma...

aldozpuno

Anónimo dijo...

Saludos,

La programación es un arte que esta lleno de pasión. Cualquier puede tomar una pagina y dibujar un paisaje, pero no muchos pueden darle ese realismo que asombre (leonardo da vinci) o diferenciarse pero igualmente impresional creando estilos únicos (picaso).

Para programar te debe en verdad gustar, debes tener conocimiento de logica y matematica.

El buen programador es aquel que de queda horas frente al computador resolviendo un algoritmo y se enorgullese por este e inmediatamente de centra en el siguiente algoritmo. Yo considero el programar la Decima Maravilla del mundo.

No es necesario obtener un título Universitario o Academico para decier que eres programador, pero si te ayudara a obtener un buen trabajo.

En la Universidad se puede aprender mucho, como lo es la base (dependera de tus profesores), pero siempre es necesario avanzar mas por cuenta propia. Acaso en la universidad aprenderas todos los lenguajes que existen o te interesan?

A programar se ha dicho.

Ken Torrealba
El Callao - Venezuela
www.elcallao.net

Anónimo dijo...

Gracias por la traducción.
Casi no hay nada mas adictivo que resolver un algoritmo complejo y solo por el echo de saber como se resulve, ojala algun dia llegue a ser como los 5 grandes del articulo y me tranquiliza que no son jovenes genios.

Rafael Hernampérez dijo...

Un artículo brillante. Coincido plenamente con todos estos gurús.

Anónimo dijo...

Bjarne es un CAPO!!!

des dijo...

Me ha gustado mucho la respuesta de Linus Torvalds a la tercera pregunta. Cómo se adapta un programador al código de otros... no se si es la habilidad más importante, pero sí creo que es fundamental.

Un saludo, y enhorabuena por el blog, lo descubrí hace poco.

Anónimo dijo...

5 grandes? título FAIL.

Anónimo dijo...

You made a few good points there. I did a search about the topic and almost not found any specific details on other websites, but then great to be here, seriously, thanks.

- Lucas