¿Qué lenguaje de programación debería aprender primero?

¿Qué lenguaje de programación debería aprender primero?

Muchos de los que comenzamos en este mundo de la programación nos hicimos esta pregunta en alguna ocasión: ¿Con cuál lenguaje de programación debería comenzar? Sabiendo de antemano que existen decenas de lenguajes en el mercado y con propósitos similares o totalmente distintos.

La respuesta a esta pregunta varía dependiendo de a quién le preguntes, algunos dirán que Python es la mejor opción por ser un lenguaje sumamente fácil de comprender y con una sintaxis no muy distinta al pseudocódigo. Otros te dirán que comiences con Java por ser un lenguaje multiplataforma y por ser muy demandado en la actualidad; y así con otros lenguajes...

Lo que quiero dar a entender es que hay tantas opiniones como lenguajes de programación en el mundo, y muchas de las respuestas que te den acerca de la pregunta del título pueden ser influenciadas por cierto fanatismo por equis lenguaje. Y es que en realidad la verdadera pregunta que te debes hacer es ¿para qué quiero aprender programación? o ¿en qué me gustaría especializarme cuando programe?

Es por esto que el lenguaje que debes aprender debería -de ser posible- ir asociado a ese campo en el que deseas profundizar, ya sea desarrollo web, aplicaciones móviles, aplicaciones de escritorio, ciencia de los datos, machine learning y automatización, administración de bases de datos, entre otras.

Así que decidí abordar cuatro campos relevantes de la programación y dar mi opinión acerca de los lenguajes utilizados para tal fin y si debes comenzar por alguno en particular. Además, dejar claro que no estoy poniendo TODOS los lenguajes que se utilizan en cada campo, y que de la misma manera estoy ignorando varios Frameworks para estos propósitos, siemplemente escogí algunos lenguajes populares.

Desarrollo web

  • JavaScript
  • C# (asp.net, .net core)
  • Python
  • PHP

En este caso la opción que recomiendo es JavaScript. Es el lenguaje más popular (a la fecha que escribo este artículo) y además una vez aprendido se puede dar el salto a frameworks como React, Vue, Angular, entre otros.

También tiene una curva de aprendizaje bastante baja, su sintaxis es sencilla de entender y facilita la comprensión de los lenguajes orientados a objetos.

Desarrollo móvil

  • Java
  • Swift
  • Kotlin
  • React Native
  • Flutter

En este campo habría que preguntarnos ¿para qué sistema vamos a desarrollar la aplicación? Dado a que hay algunos lenguajes utilizados meramente para Android y otros para iOS.

Si tu caso es el de desarrollar para Android te puedes ir por el lado de Java. Con Java no solo aprenderás a desarrollar para móviles, sino también que ya tendrás las bases para desarrollar a escritorio y web.

Si bien aprender Java no es tan fácil como aprender JavaScript, su curva de aprendizaje no es tan elevada y me atrevería a decir que sería como un nivel intermedio. Su sintaxis no es tan limpia como otros lenguajes, pero cumple su propósito.

Ahora, si lo que quieres es desarrollar aplicaciones para iOS, el lenguaje que deberías aprender es Swift. Swift es un lenguaje bastante pulido y mucho más fácil de aprender que Objective-C (otra alternativa para iOS).

Machine learning / data science

  • Python
  • R
  • C++

Para este tipo de especialización sin lugar a duda recomendaría Python, no solo es popular en la comunidad científica, sino que es un excelente lenguaje para comenzar a programar. Su sintaxis y su lenguaje no tipado hacen que su curva de aprendizaje sea lo bastante baja.

Además, Python es un lenguaje popular no solo en este campo, sino que se le conoce como un lenguaje multipropósito, ya que puede ser utilizado para el desarrollo de aplicaciones web, videojuegos, programas de escritorio, entre otros.

Aplicaciones de escritorio

  • C#
  • Java
  • Python
  • C++

En cuanto a las aplicaciones de escritorio también hay que evaluar para qué sistema operativo se está desarrollando el programa. En el caso de ser multiplataforma la recomendación sería Java, sus características ya las mencioné anteriormente.

Ahora, si se trata de una aplicación exclusiva de Windows mi recomendación sería C#. Se trata de un lenguaje mucho más sencillo de aprender que Java, su sintaxis es bastante limpia y además hay que mencionar que Microsoft ofrece un IDE (entorno de desarrollo integrado) bastante completo para poder desarrollar las aplicaciones, hablo de Visual Studio, el cual cuenta con una versión gratuita y otras versiones de pago.

Y bueno, finalmente si lo que deseas es desarrollar para MacOS tendrías que optar por Swift en primera instancia, ya comenté sus características anteriormente.


Conclusiones

Al final del día las recomendaciones que doy son basadas en mi experiencia y también en artículos que he leído sobre las dificultades de escoger un lenguaje de programación por primera vez. Tienes todo el derecho de inclinarte por un lengueje u otro, yo lo que intento es darte una guía para que aproveches al máximo el conocimiento que obtendrás y puedas explotarlo en el área en que planeas especializarte.

Así que ánimo, escoge un lenguaje y comienza a dar tus primeros pasos, la programación es un mundo muy apasionante y siempre tiene sus brazos abiertos a futuros programadores.