Qué lenguaje de programación deberías aprender

 

Qué lenguaje de programación deberías aprender

Una de las primeras preguntas que un desarrollador se plantea es qué lenguaje de programación debería aprender. Como en la mayoría de los casos, la respuesta es que no hay un mejor lenguaje, ni un lenguaje para todo, ni tampoco un lenguaje recomendado sino lenguajes que se adaptan mejor a ciertas necesidades. Sin embargo, os encontraréis con algunos expertos que defienden la idea de hacer todo con el mismo lenguaje, aunque para ello haya que forzar mucho sus capacidades o los resultados no sea óptimos.

Programación para dispositivos móviles

Uno de los ámbitos de la programación que más auge está teniendo en los últimos años es años es la programación de aplicaciones para móviles. El problema que encontramos en este campo es que cada fabricante ha decidido utilizar un lenguaje de referencia para realizar las aplicaciones en su sistema operativo. Esto significa que aunque es posible realizar aplicaciones en otros lenguajes, en la práctica se utiliza el que marca el fabricante.

Programación para iOS

El sistema operativo de la manzana utiliza como lenguaje de programación de referencia Swift, por lo que este es el lenguaje que recomiendo aprender en este caso. Anteriormente Apple se decantó por Objetive-C pero después de muchos años utilizándolo, éste ha quedado en desuso.

Programación para Android

Google cuando desarrolló Android se decidió por utilizar el lenguaje de programación Java como base para la creación de las aplicaciones de sus sistema. Por lo que es el que recomendamos aprender si nos queremos dedicar a esta plataforma. En los últimos años Google ha optado por usar Kotlin de manera intensiva, este lenguaje usa la JVM y soporta las librerías creadas con Java anteriormente.

Programación para Windows

En el caso de Windows, Microsoft decidió decantarse por C#, su lenguaje de programación, como base para desarrollar aplicaciones para su sistema. Sin embargo, se pueden realizar aplicaciones para Windows en multitud de lenguajes como C, C++, Java, Python, etc.

Programación multiplataforma

Como habéis podido comprobar, cada sistema tiene un lenguaje distinto de referencia, lo que hace muy complejo poder diseñar aplicaciones multiplataforma. Sin embargo existen algunos métodos para crear aplicaciones multiplataforma:

  • Xamarin: esta tecnología está desarrollada por Microsoft y usa como lenguaje C#. Además permite generar aplicaciones nativas para las tres plataformas anteriores.
  • Ionic: esta tecnología permite desarrollar aplicaciones multiplataforma mediante el uso de lenguajes de programación web (HTML, CSS y JavaScript).
  • PhoneGap: esta tecnología al igual que Ionic permite desarrollar aplicaciones multiplataforma con lenguajes de programación web.
  • React Native: una tecnología que lleva el framework React a soportar el desarrollo para dispositivos móviles.

 

Programación para el escritorio

En el caso de que queramos realizar aplicaciones para los sistemas operativos de escritorio (con interfaz gráfica), podemos optar por los siguientes lenguajes de programación:

Programación para Windows

En el caso de Windows, el lenguaje de programación más usado es C#. Durante muchos años WPF fue la tecnología más utilizada para desarrollar programas para Windows con interfaz gráfica. También se pueden utilizar C++ para crear aplicaciones con interfaz gráfica, Java con Swing  o con otros lenguajes que pueden interactuar con Qt como Python, C++, Rust o Go.

Programación para MacOS

El caso de Mac OS es similar al de iOS, en un principio Apple se decantó por Objetive-C, pero actualmente este ha sido remplazado por Swift.

Programación para Linux

En el caso de GNU/Linux no hay un consenso sobre que tecnologías usar para desarrollar aplicaciones de escritorio. Sin embargo una de las más usadas en GTK que puede usar utilizada con los lenguajes C y C++.

Programación multiplataforma

En el caso de que queramos desarrollar aplicaciones multiplataforma con interfaz gráfica, encontramos que podemos usar distintos lenguajes como Java con Swing, JavaScript haciendo uso de CSS u otro cualquiera que soporte Qt.

Programación en línea de comandos

Si nos encontramos en el caso de que no necesitemos interfaz gráfica, podemos usar lenguajes como Java, C, C++, Python o JavaScript. En el caso de C y C++ es necesario generar un ejecutable para cada plataforma, en el resto no.

 

Programación web

Otro de los ámbitos más importantes en los últimos años es la programación web, la ventaja que presenta este tipo de programación es que no depende del sistema operativo que use el cliente.

Las tecnologías y lenguajes de programación web más usadas son HTML, CSS y JavaScript. Pero existen otras que también lo permiten:

  • Ruby usando Rails
  • Python usando Django
  • PHP el cual puede ser usado solo o con distintos frameworks de desarrollo web como Symfony o Laravel.
  • Java con Spring
  • C# usando ASP.NET

 

Infografía sobre qué lenguaje de programación deberías aprender

 

Infografia de lenguajes de programacion

Dónde encontrar recursos para aprender un lenguaje de programación

Uno de los problemas más comunes que podemos encontrar, es que hay multitud de sitios que hablan de aprender a programar, algunos centrados en un lenguaje, otros masivos, bastantes en inglés y una minoría en español. Mi recomendación personal, es que en un primer lugar aprendáis los conceptos básicos del lenguaje que vosotros consideréis oportuno, para ello podéis visitar esta recopilación de guías para aprender a programar gratis. Una vez que sabéis los conceptos básicos, os animo a buscar en este y otros blogs las respuestas a vuestras dificultades con problemas concretos.

The following two tabs change content below.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL