Tabla de contenidos
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.
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.
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.
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.
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.
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:
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:
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.
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.
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++.
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.
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.
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:
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.