En mi opinión es un poco indiferente el lenguaje de programación con el que aprendas, porque al principio el tipo de cosas que tienes que aprender son básicas, como variables, bucles, funciones, y los conceptos son más o menos los mismos en todos los lenguajes y el uso es prácticamente el mismo. Sin embargo, sí que hay lenguajes más sencillos, lenguajes más útiles y lenguajes más agradecidos, por lo que la experiencia de aprendizaje en realidad sí puede cambiar bastante.
En función de ello creo que el lenguaje que agrupa mejores ventajas para el aprendizaje de la programación es Javascript, por los siguientes motivos:
- Es sencillo. No necesitas declarar el tipo de las variables, las estructuras de control son muy estándar y no hay demasiadas aristas en general que puedan provocar frustraciones, como sí tienen otros lenguajes.
- Es útil, ya que con Javascript podemos hacer gran cantidad de cosas, en el contexto de la programación web, programación de apps para móviles, aplicaciones de escritorio, etc. Lo que aprendas seguramente lo podrás usar en el campo en el que prefieras dedicarte.
- Es agradecido, ya que en el contexto más habitual para comenzar a usar Javascript, que el ámbito de una página web, donde consigues hacer cosas divertidas con poco esfuerzo. Por ejemplo trabajar con interfaces de usuario, entrada y salida son muy fáciles de realizar y generalmente te apoyarás en lenguajes como HTML y CSS que ya nos son familiares a la mayoría para trabajar con cosas como botones, imágenes, colores, etc.
- Es interpretado, por lo que no necesitas compilar el código para poder ejecutarlo, lo que ayuda a que el flujo de escribir programas y ejecutarlos sea muy rápido.
Un lenguaje que puede ser interesante también para aprender es Python. Python es multiplataforma y también lo puedes usar para muchas cosas. En principio podrás escribir programas de consola, pero si te gusta también podrás usarlo para aplicaciones de escritorio, bakend para la web, cálculo científico, big data, etc. Python también es interpretado, por lo que no necesita compilación y tiene una particularidad interesante, que es que te obliga a formatear el código de una manera específica para que funcionen los programas. Esa manera te obliga a identar correctamente y no caer en malas prácticas. Es bastante adecuado para comenzar, pero creo que es menos útil que Javascript y menos agradecido.
PHP también lo veo interesante para comenzar, es sencillo, agradecido, no tienes tipos de variables que creo que al principio cuesta un poco más de acostumbrarse a ellos. Solo que es un lenguaje de Backend y está muy restingido a la programación de páginas y necesitas más materiales para comenzar a trabajar, como el servidor web donde vas a ejecutar las páginas. No obstante, es un lenguaje útil para aprender con el que es sencillo dar los primeros pasos.
Por el contrario, pienso que hay lenguajes que es mejor aprender más adelante y no recomendaría para comenzar a programar, por ejemplo:
- Java: Es un lenguaje estupendo para adquirir habilidades más avanzadas en programación, pero no es bueno para comenzar porque debes aprender el paradigma de la programación orientada a objetos para poder utilizarlo. Es importante, pero no es ideal para comenzar.
- C: Es un lenguaje de más bajo nivel que otros lenguajes populares (bajo nivel indica aquí más cercano a la máquina, por lo que te deja hacer cosas con la memoria o los archivos que en otros lenguajes realizas de una manera más simple). Tiene los punteros y esas cosas que al aprender son un dolor de muelas.
- C++ / C#: Tienen un nivel de complejidad también alto y son orientados a objetos como Java, por lo que tampoco los recomendaría.
- Pascal: aunque en muchas universidades lo usan para enseñar a programar, creo que el hecho de tener procedimientos y funciones agrega complejidad innecesaria que nunca vas a usar. Te limita mucho a trabajar con la consola, por lo que considero que no es muy agradecido.
- Swift: muy limitado a Mac y el desarrollo para iOS.