Conceptos básicos de programación

¿Qué es un Lenguaje de Programación?

Un lenguaje de programación es una herramienta que usamos para decirle a una computadora qué hacer. Está formado por símbolos, palabras clave y reglas que nos permiten escribir instrucciones que la máquina puede entender y ejecutar.

Gracias a estos lenguajes, los programadores pueden crear programas que resuelven problemas, automatizan tareas o hacen funcionar dispositivos.

En otras palabras, un lenguaje de programación es el puente entre el ser humano y la máquina, permitiendo así traducir ideas lógicas en acciones concretas.

Características de los lenguajes de programación:

Aunque existen muchos lenguajes de programación con distintas sintaxis y enfoques, la mayoría comparte ciertas características esenciales:

  • Sintaxis definida: Cada lenguaje tiene un conjunto de reglas que indica cómo deben escribirse correctamente las instrucciones.
  • Semántica clara: Las instrucciones tienen un significado preciso que puede ser entendido y ejecutado por la máquina.
  • Portabilidad: Muchos lenguajes permiten crear programas que pueden funcionar en diferentes sistemas operativos sin necesidad de grandes cambios.
  • Abstracción: Permiten enfocarse en la solución del problema sin preocuparse por detalles del hardware.
  • Modularidad: Permiten dividir el código en partes más pequeñas (como funciones, módulos o clases), facilitando su organización y mantenimiento.
  • Eficiencia: Algunos lenguajes están diseñados para aprovechar mejor los recursos del sistema, como la memoria y el tiempo de ejecución.
  • Facilidad de uso: Los lenguajes de alto nivel están pensados para ser más comprensibles y fáciles de usar por los humanos.
Clasificación de los lenguajes de programación:
1. Según el nivel de abstracción:
  • Lenguaje de máquina: Está compuesto únicamente por instrucciones en código binario (0 y 1). Es el único lenguaje que entiende directamente el procesador, pero resulta extremadamente difícil de leer y escribir para los humanos.
  • Lenguaje de bajo nivel: Está más cerca del hardware. Usa abreviaturas simbólicas (como MOV, ADD, JMP) para representar instrucciones. Su uso requiere conocimientos técnicos avanzados. Ejemplo: Ensamblador.
  • Lenguaje de alto nivel: Se parece más al lenguaje humano, por lo que es más fácil de aprender y de utilizar. Ejemplos: Python, Java, C++. Estos lenguajes suelen ser independientes del hardware.
2. Según la forma de ejecución:
  • Lenguajes compilados: El código fuente se traduce completamente a lenguaje máquina mediante un compilador antes de ejecutarse, generando un archivo ejecutable. Ejemplo: C++, Go.
  • Lenguajes interpretados: El código se ejecuta línea por línea mediante un intérprete, sin necesidad de compilación previa. Ejemplo: Python, JavaScript.
  • Lenguajes híbridos: Combinan compilación e interpretación. Ejemplo: Java (se compila a bytecode y luego se interpreta en la máquina virtual).
3. Según el paradigma de programación:

Un paradigma es una forma o estilo de programar. Algunos lenguajes admiten múltiples paradigmas a la vez.

  • Imperativo (o algorítmico): Se basa en dar instrucciones paso a paso. Es el estilo más tradicional. Ejemplo: C, Python.
  • Declarativo: • Describe qué se quiere hacer, sin especificar cómo hacerlo. Ejemplo: SQL, HTML.
  • Lógico: Se basa en hechos y reglas lógicas. El sistema deduce las respuestas. Ejemplo: Prolog.
  • Funcional: Se centra en funciones matemáticas puras, sin estados ni efectos secundarios. Ejemplo: Haskell, Lisp.
  • Orientado a objetos: Organiza el programa en objetos que combinan datos y comportamientos. Favorece la reutilización y escalabilidad. Ejemplo: Java, C++, Python.