TAI
Tema

Lenguajes de programación para Oposiciones TAI: Guía Completa

📝 33 preguntas 📖 Teoría 🎯 Preparación TAI

💡 Qué aprenderás

En este tema estudiarás todos los conceptos necesarios para responder correctamente las preguntas relacionadas con Lenguajes de programación en la oposición.

Lenguajes de programación

Un lenguaje de programación es un lenguaje formal que permite escribir instrucciones para que un ordenador ejecute tareas concretas.

Estas instrucciones, denominadas programas, deben traducirse a un lenguaje que la máquina pueda comprender mediante un compilador, un intérprete o una combinación de ambos.

📖 Definición
Los lenguajes de programación permiten desarrollar aplicaciones, sistemas operativos, videojuegos, aplicaciones web, móviles, software científico y prácticamente cualquier tipo de software.

Conceptos fundamentales

Para comprender los lenguajes de programación es imprescindible conocer los siguientes conceptos:

  • Código fuente: programa escrito por el desarrollador.
  • Código máquina: instrucciones binarias ejecutadas por la CPU.
  • Compilador: traduce el código fuente antes de ejecutarlo.
  • Intérprete: traduce y ejecuta el código línea a línea.
  • Sintaxis: reglas para escribir correctamente un programa.
  • Semántica: significado de las instrucciones.
🎯 Muy preguntado
Todo programa comienza como código fuente y debe transformarse en instrucciones comprensibles por el procesador.

Evolución de los lenguajes

Los lenguajes de programación han evolucionado para facilitar el desarrollo de software.

Lenguaje máquina (1ª generación)

Está formado exclusivamente por unos y ceros.

Características

  • Máximo rendimiento.
  • Total dependencia del hardware.
  • Muy difícil de programar.
💡 Consejo para el examen
Es el único lenguaje que entiende directamente el procesador.

Lenguaje ensamblador (2ª generación)

Utiliza instrucciones simbólicas que representan instrucciones máquina.

Características

  • Más legible que el lenguaje máquina.
  • Muy eficiente.
  • Dependiente de la arquitectura del procesador.
📌 Recuerda
Un programa ensamblador necesita un ensamblador (Assembler) para generar código máquina.

Lenguajes de alto nivel

Se aproximan al lenguaje humano y son independientes del hardware.

Características

  • Mayor productividad.
  • Más fáciles de aprender.
  • Mayor portabilidad.
  • Facilitan el mantenimiento.

Ejemplos

  • Java.
  • C.
  • C++.
  • C#.
  • Python.
  • JavaScript.
  • PHP.
  • Go.
  • Rust.
🎯 Muy preguntado
La mayoría del software actual se desarrolla utilizando lenguajes de alto nivel.

Compiladores e intérpretes

Existen dos formas principales de ejecutar un programa.

Compilación

El compilador traduce todo el programa antes de ejecutarlo.

Ventajas

  • Mayor rendimiento.
  • Detección previa de errores.
  • Genera ejecutables.

Ejemplos

  • C.
  • C++.
  • Go.
  • Rust.

Interpretación

El intérprete analiza y ejecuta el código durante la ejecución.

Ventajas

  • Mayor flexibilidad.
  • Facilita las pruebas.
  • Desarrollo más rápido.

Ejemplos

  • Python.
  • JavaScript.
  • PHP.
💡 Consejo para el examen
Algunos lenguajes, como Java, utilizan un modelo híbrido mediante bytecode y una Máquina Virtual (JVM).

Paradigmas de programación

Un paradigma define la forma de organizar y desarrollar un programa.

Programación imperativa

El programa describe paso a paso las instrucciones que deben ejecutarse.

Ejemplos

  • C.
  • Pascal.

Programación orientada a objetos (POO)

Organiza el software mediante objetos que contienen datos y comportamiento.

Conceptos principales

  • Clase.
  • Objeto.
  • Encapsulación.
  • Herencia.
  • Polimorfismo.
  • Abstracción.

Ejemplos

  • Java.
  • C#.
  • C++.
🎯 Muy preguntado
La programación orientada a objetos es uno de los paradigmas más utilizados en el desarrollo empresarial.

Programación funcional

Se basa en funciones puras y evita modificar el estado de los datos.

Ejemplos

  • Haskell.
  • Elixir.
  • Scala (parcialmente).

Programación declarativa

El programador describe qué desea obtener, sin especificar exactamente cómo conseguirlo.

Ejemplos

  • SQL.
  • Prolog.

Tipado

Los lenguajes pueden clasificarse según cómo gestionan los tipos de datos.

Tipado estático

El tipo de las variables se conoce antes de la ejecución.

Ejemplos

  • Java.
  • C#.
  • C++.
  • Go.

Ventajas

  • Menos errores en ejecución.
  • Mayor seguridad.

Tipado dinámico

El tipo se determina durante la ejecución.

Ejemplos

  • Python.
  • JavaScript.
  • PHP.

Ventajas

  • Mayor flexibilidad.
  • Desarrollo más rápido.
📌 Recuerda
El tipado dinámico facilita el desarrollo, mientras que el estático ayuda a detectar errores antes de ejecutar el programa.

Lenguajes más utilizados

Lenguaje Uso principal
C Sistemas operativos y software de bajo nivel
C++ Aplicaciones de alto rendimiento
Java Aplicaciones empresariales
C# Aplicaciones .NET
Python IA, automatización y ciencia de datos
JavaScript Desarrollo web
PHP Desarrollo web del lado servidor
Go Servicios y aplicaciones cloud
Rust Software seguro y de alto rendimiento

Ciclo de ejecución de un programa

Código fuente

↓

Compilador / Intérprete

↓

Código máquina o Bytecode

↓

Sistema Operativo

↓

CPU

↓

Resultado
💡 Consejo para el examen
Todo programa termina ejecutándose como instrucciones máquina procesadas por la CPU.

Caso práctico

Situación

Una empresa necesita desarrollar una aplicación web corporativa con una interfaz moderna, un servidor robusto y una base de datos.

Solución

Una arquitectura habitual podría utilizar:

  • JavaScript para el desarrollo del cliente (Frontend).
  • Java o PHP para la lógica del servidor (Backend).
  • SQL para consultar la base de datos.

Cada lenguaje desempeña una función distinta dentro de la aplicación.

🎯 Muy preguntado
En un mismo proyecto es habitual utilizar varios lenguajes de programación.

Ventajas e inconvenientes

Ventajas

  • Automatización de procesos.
  • Desarrollo de aplicaciones complejas.
  • Reutilización de código.
  • Portabilidad entre plataformas.
  • Amplio ecosistema de bibliotecas y herramientas.

Inconvenientes

  • Curva de aprendizaje.
  • Errores de programación (bugs).
  • Necesidad de mantenimiento.
  • Obsolescencia de algunos lenguajes o tecnologías.

Errores habituales

⚠️ Error habitual
Los errores más frecuentes relacionados con los lenguajes de programación son:
  • Confundir compilador con intérprete.
  • Pensar que Java y JavaScript son el mismo lenguaje.
  • Creer que todos los lenguajes funcionan igual.
  • Confundir paradigma con lenguaje.
  • Pensar que el código fuente es ejecutado directamente por la CPU.

Cómo evitarlos

  • Diferenciar claramente compilación e interpretación.
  • Identificar el paradigma principal de cada lenguaje.
  • Recordar que el procesador solo ejecuta código máquina.
  • Comprender el papel del compilador, el intérprete y la máquina virtual.

Relaciones con otros temas

Los lenguajes de programación están estrechamente relacionados con:

📌 Recuerda
En exámenes es muy frecuente relacionar los lenguajes de programación con compiladores, intérpretes, POO, tipado, algoritmos y desarrollo de aplicaciones.

Conceptos clave para recordar

[!NOTE]

  • Un lenguaje de programación permite desarrollar programas mediante instrucciones formales.
  • El código fuente debe traducirse antes de ser ejecutado por la CPU.
  • Los compiladores traducen el programa completo; los intérpretes lo ejecutan instrucción a instrucción.
  • Los principales paradigmas son imperativo, orientado a objetos, funcional y declarativo.
  • Los lenguajes pueden ser de tipado estático o tipado dinámico.
  • Los lenguajes de alto nivel son los más utilizados por su productividad y portabilidad.
  • Es habitual combinar varios lenguajes en una misma aplicación (por ejemplo, JavaScript, Java y SQL).
  • El procesador únicamente ejecuta código máquina.

📝 Preguntas de ejemplo

Comprueba si reconoces este tipo de preguntas.

1. ¿Qué significan las siglas HTML?
2. ¿Qué significan las siglas CSS?
3. ¿Qué lenguaje se ejecuta principalmente en el navegador del cliente?
4. ¿Cuál es el propósito principal de HTML?
5. ¿Cuál es el propósito principal de CSS?

Preguntas frecuentes

¿Qué es un lenguaje de programación?

Es un lenguaje formal que permite escribir instrucciones para que un ordenador ejecute tareas o resuelva problemas.

¿Qué diferencia existe entre un lenguaje compilado y uno interpretado?

Un lenguaje compilado traduce el código fuente a código máquina antes de ejecutarse, mientras que un lenguaje interpretado ejecuta el código mediante un intérprete en tiempo de ejecución.

¿Qué es un compilador?

Es un programa que traduce el código fuente de un lenguaje de programación a código máquina o a otro lenguaje de bajo nivel.

¿Qué es un intérprete?

Es un programa que analiza y ejecuta el código fuente instrucción por instrucción sin generar un ejecutable independiente.

¿Qué diferencia existe entre lenguaje de alto nivel y bajo nivel?

Los lenguajes de alto nivel son más cercanos al lenguaje humano y facilitan el desarrollo, mientras que los de bajo nivel están más próximos al hardware y ofrecen un mayor control sobre los recursos.

¿Qué es un paradigma de programación?

Es un estilo o modelo de programación que define cómo se estructuran y organizan los programas, como el paradigma procedural, orientado a objetos, funcional o lógico.

¿Qué es la programación orientada a objetos?

Es un paradigma basado en objetos que encapsulan datos y comportamiento mediante clases, atributos y métodos.

¿Qué es una variable?

Es un espacio de memoria identificado por un nombre que almacena un valor que puede modificarse durante la ejecución del programa.

¿Qué es una función?

Es un bloque de código reutilizable que realiza una tarea específica y puede recibir parámetros y devolver un resultado.

¿Qué suele preguntarse en el examen?

Las preguntas suelen centrarse en diferencias entre compilación e interpretación, lenguajes de alto y bajo nivel, paradigmas de programación, programación orientada a objetos y conceptos básicos como variables, funciones y tipos de datos.


Temas relacionados

  • Compiladores
  • Intérpretes
  • Programación orientada a objetos
  • Paradigmas de programación
  • Variables
  • Funciones
  • Tipos de datos
  • Estructuras de control

¿Has terminado de estudiar?

Ahora pon a prueba tus conocimientos realizando el test completo de este tema.

Comenzar test

Utilizamos cookies

Utilizamos cookies analíticas para conocer el uso de la plataforma y mejorar la experiencia del usuario. Puedes aceptar o rechazarlas en cualquier momento. Más información en nuestra Política de Cookies .