Sesión 6 actividad 2

Entrevista

Linus Torvalds - Creador de Linux, no necesita presentación.

Cómo aprendió a programar? ¿Las escuelas le resultaron de alguna utilidad? ¿O acaso ni siquiera se molestó en terminar la escuela? 

Linus Torvalds: No aprendí a programar en la escuela, sino por mi cuenta leyendo libros y practicando (inicialmente en una Commodore VIC-20, más tarde en una Sinclair QL).

Dicho esto, creo que en especial la Universidad me resultó muy útil. En vez de ir a una universidad de ingeniería, fui a la Universidad de Helsinki, que es bastante teórica, así que la enseñanza no se centra mucho en la programación (que era una pequeña parte, y de todas formas terminé haciendolo "por otro lado"), sino que la mayoría de los cursos se enfocaban en los conceptos fundamentales y en cosas como análisis de complejidad.

Si bien puede parecer aburrido e incluso una pérdida de tiempo, creo que fue útil y lo disfruté la mayor parte del tiempo. Y probablemente soy un mejor programador gracias a eso.

Cuál cree que es la habilidad más importante que debería tener un programador?

Linus Torvalds: Es una cosa llamada "gusto". Suelo juzgar a las personas que trabajan conmigo no por su aptitud: algunas personas pueden escribir mucho código, sino más bien por cómo reaccionan al código de otras personas, y luego obviamente viendo cómo se ve el código que ellos mismos escriben, y que enfoquen toman. Esto me dice si tienen "buen gusto" o no, y la cosa es, una persona sin "buen gusto" en general no es buena para juzgar el código de otras personas, y su propio código termina siendo no del todo bueno.

Pero bueno, no es lo único. Una cosa que es muy útil, especialmente en proyectos de código abierto, es la habilidad de comunicar bien lo que se quiere hacer, y cómo se va a hacer. La habilidad de explicar a otros porqué hacés algo de determinada manera es muy importante, y no todos tienen esta habilidad.

Dicho esto, también hay personas que simplemente generan buen código. No son buenas explicándolo, e incluso puede que no tengan buen gusto, pero el código funciona. A veces necesitás a otra persona (una que si tenga ese "buen gusto" tan dificil de definir) para masajear el código y que resulte útil en forma más amplia, pero tan solo la habilidad de escribir código claro para problemas dificiles es obviamente una parte bastante fundamental de cualquier programador.

Cree que las matemáticas o la física son un conocimiento importante para un programador? ¿Por qué?

Linus Torvalds: Personalmente creo que es bueno tener conocimientos sólidos en matemática. No estoy tan seguro en cuanto a la física, pero estoy convencido que comprender matemática y tener una buena base te ayuda a ser un programador mejor. Así sea tan sólo porque usan modelos mentales similares - podés construir un conjunto de reglas de cualquier tipo que quieras, pero siempre debe ser consistente consigo mismo.

Cuál cree que será la próxima "gran cosa" en la programación? ¿Programación orientada a X, el lenguaje Y, computación cuántica, o qué cosa?

Linus Torvalds: No creo que veamos un "gran salto". Vimos muchas herramientas que nos ayudan a simplificar las tareas de todos los días - lenguajes de alto nivel y quizás la integración de bases de datos simples dentro de lenguajes. Pero la mayoría de estas modas tuvieron un uso limitado.

Por ejemplo, personalmente creo que "Visual Basic" hizo más por la programación que los "Lenguajes Orientados a Objetos". Y sin embargo, la gente se rie de VB y dice que es un lenguaje malo, mientras hablan de los lenguajes OO por décadas.

Y no, Visual Basic no es un gran lenguaje, pero en mi opinión las interfaces simples para bases de datos en VB fueron fundamentalmente más importantes que la orientación a objetos, por ejemplo.

Así que creo que van a ocurrir muchas mejoras incrementales, y las mejoras en hardware van a hacer más facil la programación, pero no espero ningúna gran mejora en la productividad o una revolución en la forma que la gente hace las cosas.

Al menos no hasta que comenzamos con la inteligencia artificial real, y no creo que la IA real sea algo que "programemos".

 

Si tuviera tres meses para aprender una tecnología relativamente nueva, ¿cuál eligiría?

Linus Torvalds: Hmm. Me encataría hacer FPGAs, pero siempre estuve demasiado ocupado para sentarme y aprender. Me encanta la noción de jugar con el hardware: obviamente es una de las razones por las que terminé haciendo sistemas operativos, ya que (junto a los compiladores) es lo más cerca que puedes llegar a jugar con el hardware, sin tener que diseñarlo o construirlo tu mismo.

Comentarios

Entradas más populares de este blog