¿Qué lenguajes de programación puedes aprender en los grados de la UOC?

13 septiembre, 2022
Imagen de DCStudio en Freepik.

El desarrollo de software es una de las salidas profesionales más demandadas en el ámbito de las tecnologías de la información. Uno de los aspectos en que suelen incidir más las ofertas de empleo para desarrolladores es la experiencia en un lenguaje de programación determinado.

La torre de Babel de la programación

Cada tipo de aplicación plantea retos diferentes. No es lo mismo desarrollar el back-end de un servicio de banca electrónica que un videojuego para consola o una aplicación móvil de mensajería. Diferentes lenguajes de programación ofrecen distintas ventajas para afrontar ciertos retos. No hay una solución universal: es mejor usar la herramienta adecuada para resolver cada tipo de problema.

Por ejemplo, Python y R se usan en ciencia de datos e inteligencia artificial para manipular grandes volúmenes de datos. JavaScript es el lenguaje usado en el front-end de aplicaciones web y multiplataforma… y también el back-end. Por contra, C se usa en la programación de software de sistemas o encastados, mientras que Java es una navaja multiusos. Además, diferentes plataformas móviles proponen lenguajes (Kotlin, Swift) para el desarrollo de aplicaciones nativas en dichas plataformas.  

Programación en los grados UOC

Dado que es una pregunta recurrente, en esta entrada enumeramos los lenguajes de programación que se estudian en los grados de los Estudios de Informática, Multimedia y Telecomunicación. Como no todos se exploran con la misma intensidad, llamamos “lenguajes principales” a aquellos que se estudian en más de una asignatura obligatoria o de itinerario; y hablamos de “otros lenguajes” para aquellos que se estudian en una única asignatura obligatoria o en diversas optativas. 

Es importante destacar que solo incluimos en este listado los lenguajes de programación más relevantes que, mayoritariamente, son de propósito general. No incluimos lenguajes para el intercambio de información (XML, JSON), su presentación (HTML/CSS), ni otros lenguajes de propósito específico (Gradle, awk, Lex/CUP…). Además, por brevedad, tampoco detallamos librerías o frameworks específicos dentro de estos lenguajes.

Grado

Lenguajes principales

Otros lenguajes

Ingeniería Informática

C, Java, SQL, Python

Processing, Ensamblador, C++

Técnicas de Aplicaciones de Software

C, Java, SQL, JavaScript, TypeScript

Kotlin, Ensamblador

Ciencia de Datos Aplicada

R, Python, Java, SQL

Processing, Cypher

Técnicas de Interacción Digital y Multimedia

JavaScript, TypeScript

SQL, Processing

Ingeniería de Tecnologías y Servicios de Telecomunicación

C, Java

SQL, Processing

Diseño y creación digitales

JavaScript

Processing

Artes

 

Processing, MicroBlocks

 

Este listado está en contínua evolución, ya que las tecnologías y lenguajes que se utilizan van evolucionando e intentamos adaptar las asignaturas y grados de la UOC a la realidad del sector.

Desarrollar > Programar

Es importante recordar que desarrollar software va más allá de programar. Hay que identificar los requisitos del software que queremos desarrollar para elegir tecnologías apropiadas, plantear un diseño adecuado y planificar un proceso de desarrollo que consiga los objetivos previstos con los recursos disponibles. En todo este proceso, debemos considerar dimensiones como la escalabilidad, la usabilidad, la seguridad o el tiempo y coste de desarrollo.

Además, incluso cuando hemos acotado qué necesitamos implementar y cómo hacerlo, programar es más que conocer un lenguaje de programación. Debemos seguir buenas prácticas de ingeniería del software para garantizar la calidad del software y facilitar su mantenimiento y evolución. Debemos conocer las técnicas y algoritmos para realizar una gestión eficiente de los recursos disponibles (datos, tiempo de cálculo, uso de la red, …). Y debemos usar las herramientas más adecuadas (IDEs, herramientas gestión de versiones, frameworks, librerías de testing, …) para facilitar nuestra tarea.

Lenguajes(hoy) <> Lenguajes(mañana)

Por último, también es importante tener en cuenta que la tecnología evoluciona muy rápidamente. Podéis ver como ejemplo los cambios en índices de popularidad como TIOBE o la encuesta anual de StackOverflow. Un lenguaje que hoy es muy popular puede dejar de serlo mañana, y ser sustituido por otro lenguaje que aún no existe. Por ello, si os dedicáis al desarrollo, es importante tener en cuenta que aprenderéis nuevos lenguajes y tecnologías a lo largo de vuestra carrera profesional. Afortunadamente, una vez dominéis las bases de la programación, podréis trasladar estos conocimientos a estos nuevos lenguajes.   

(Visited 196 times, 1 visits today)
Autor / Autora
Robert Clarisó Viladrosa
Profesor de los Estudios de Informática, Multimedia y Telecomunicación de la UOC. Director del Bachelor's Degree in Techniques for Software Development de la UOC.
Comentarios
Deja un comentario