Respuesta también disponible en Quora: Linus Torvalds piensa que Java y C++ son lenguajes de programación horribles. Entonces, ¿qué lenguaje recomienda para la programación?

En realidad Torvalds puede opinar lo que más le parezca. Obviamente muchas de sus opiniones pueden ser discutibles. Dicho sea de paso, esto ya ha sido discutido hasta la saciedad en la comunidad.

Es cierto que Linus es una persona relevante en la industria (como muchos otros claro), personalmente es también una referencia para mí, especialmente con proyectos como Kernel y Git, pero hazte un favor y no lo tomes tan en serio. Porque para eso, debes primero haber investigado y evaluado los lenguajes a los cuales Torvalds alude.

En mi modesta experiencia como desarrollador de software puedo decirte que los lenguajes que he podido utilizar como: C, Go, PHP, Ruby, JavaScript y Rust, todos ellos tienen puntos a favor y en contra (no he llegado a utilizar completamente todas sus características por supuesto). Y no todos son usados para realizar las mismas tareas que otros. Sería largo explicar esto, te recomiendo buscar información al respecto.

Pero sólo para darte una idea acerca de cuál lenguaje de programación aprender, deberías hacerte dos preguntas muy simples (hay muchas más por supuesto):

  • ¿Satisface tus necesidades informáticas?
  • ¿Te sientes realmente cómodo programado con él?

Ten en cuenta que invertirás tiempo aprendiendo y desarrollando cosas con el lenguaje que elijas, pero ese tiempo debe retribuirte.

Si a mí me preguntas: ¿Qué lenguaje puedo recomendarte? Te diría aprende C para entender cómo funciona un ordenador (RAM, CPU, almacenamiento, red, etc) y por varias razones que nos voy a enumerar aquí (hay mucha información al respecto).

Pero eso no significa que C++ o Java sean pésimas elecciones. De hecho C++ y Java son ampliamente usados y dos grandes referentes en la industria (¿Debe ser por alguna razón no crees?) Pero si te diré que C es mucho más fácil de aprender (el lenguaje es relativamente pequeño) en comparación con Java o C++. Y si tú tienes conocimiento en C, será mucho más fácil aprender cualquier otro lenguaje.

Alguno podría decir: C es difícil porque normalmente necesitas pasar muchos años programando antes que seas un experto en el lenguaje. Seguro, pero una cosa es ser un experto y otra cosa es aprender el lenguaje en sí, que es relativamente pequeño, por lo cual no debería requerir décadas de especialización. Por ejemplo, podrías empezar con C para tener una base y luego moverte a otro lenguaje más de alto nivel sí lo prefieres.

Un problema muy recurrente, es cuando X persona dice Y cosa o X compañía usa Y tecnología, entonces debo asumirlo como verdad de fe, sin si quiera hacerme las preguntas básicas antes mencionadas.

En conclusión, hay infinidad de alternativas pero no todas podrían beneficiarte como realmente esperas, es más no todas son horribles como Torvalds dice. Todas ellas satisfacen necesidades diversas. Así que tomate la molestia e investiga un poco al respecto, hay una basta cantidad de información en la red. Y por supuesto, no sólo uses un lenguaje para todo, considera aprender más de uno.