¿Con qué lenguaje aprender a programar?

Revisando algunas cosas en mis videos me encontré con esto:

Este video lo hice hace aproximadamente un año y estaba dirigido más que nada a gente que todavía no programa, no tiene idea de que va la programación y que pregunta siempre ¿Con qué lenguaje empiezo a programar? salteandose varios pasos.

Lo peor es que mucha gente responde con un lenguaje (generalmente su favorito) lo cual constituye a mi modo de ver un pésimo consejo, ya que la persona va a meterse en el lenguaje sin terminar de comprender qué es lo que está haciendo y esto tiene un motivo:

La persona que empieza por el lenguaje empieza por empezar a conocer como funciona una herramienta sin saber para qué sirve esa herramienta. Esto puede ser frustrante de esta manera ya que dificilmente pueda resolver problemas con la herramienta dada.

Lo primero que debe hacer una persona que quiere programar es entender sobre lógica de programación, algoritimia, resolver problemas, entender estructuras de datos independientemente de un lenguaje que quiera usar.

Lo segundo que el principiante omite al preguntar por donde empezar es qué es lo que quiere programar. Hoy por hoy, programar es algo muy amplio, no es lo mismo querer programar microcontroladores que sistemas de gestión, una web o lo que fuere.

Este punto, claramente incide en el tipo de lenguaje a aprender ya que los propósitos de los lenguajes son distintos y cada uno tiene uno o más puntos fuertes.

Y aquí viene el tercer punto. Elija lo que quiera hacer, elija el lenguaje que elija, el entender las bases de la programación independientemente del lenguaje a utilizar hace que el aprendizaje sea mucho más sencillo, porque si sé que quiero hacer y dado el problema que quiero resolver elijo la herramienta (lenguaje, librerías, etc.) adecuada, entonces lo que quiera aprender de código en si mismo se va a reducir a aprender sintaxis.

En resumen, a veces el camino más largo es el mejor. Aprender a programar no es lo mismo que aprender un lenguaje y cuando uno entiende que quiere hacer porque tiene bases sólidas, el resto se vuelve mucho más trivial.