Tipos de Lenguajes de Programación y sus Paradigmas

Clase 6 de 11Curso de Introducción al Desarrollo de Lenguajes de Programación

Resumen

¿Cuáles son las dos grandes familias de lenguajes de programación?

Los lenguajes de programación se dividen en dos grandes categorías: lenguajes imperativos y lenguajes declarativos. Aprender sobre sus diferencias y características es esencial para aquellos que deseen dominar el mundo de la programación. Dominar distintos lenguajes permite abordar problemas desde nuevos ángulos, y convertirse en un profesional más versátil y eficiente.

¿Qué son los lenguajes imperativos?

Los lenguajes imperativos se centran en describir cómo realizar un cómputo. En otras palabras, especifican los pasos exactos que el programa debe seguir, desde la declaración de variables, hasta la ejecución de bucles y otras operaciones. Estos lenguajes se dividen en tres subtipos principales: procedimentales, orientados a objetos y de procesamiento paralelo.

  • Lenguajes procedimentales: Permiten agrupar instrucciones en procedimientos o funciones. Así, se evita el uso del infame go to statement, que dificultaba la lectura y el mantenimiento del código.

  • Lenguajes orientados a objetos: Facilitan la representación del mundo real mediante objetos, que agrupan datos (estado) y comportamiento (métodos). Un ejemplo común es modelar un micrófono que tiene estados como "encendido" o "apagado", y comportamientos como grabar en diferentes formatos.

  • Lenguajes de procesamiento paralelo: Ejemplo de ellos es CUDA, creado por Nvidia, que permite paralelizar cómputos para maximizar el rendimiento, como en el tratamiento de imágenes y cálculos de álgebra lineal.

¿Qué son los lenguajes declarativos?

A diferencia de los imperativos, los lenguajes declarativos se enfocan en describir qué se desea obtener, sin especificar el proceso exacto. Estos lenguajes se dividen en presentación, lógicos, funcionales y de consulta.

  • Lenguajes de presentación: HTML, por ejemplo, define los nodos que generarán el contenido visual en el DOM (Document Object Model) sin preocuparse de su construcción interna.

  • Lenguajes lógicos: Trabajan con hechos y reglas para llegar a conclusiones lógicas, muy útiles en sectores como el derecho, donde las normas son esenciales.

  • Lenguajes funcionales: Basados en funciones matemáticas, permiten un cómputo libre de estados. Ejemplos incluyen Haskell y Clojure, siendo especialmente efectivos en el manejo de pipelines de datos.

  • Lenguajes de consulta: SQL para bases de datos relacionales y Cypher para la consulta en grafos son ejemplos. CSS, curiosamente, también cae en esta categoría, ya que utiliza selectores para definir estilos en el DOM.

¿Por qué es importante aprender varios lenguajes de programación?

Estar familiarizado con diferentes lenguajes y paradigmas de programación permite abordar problemas de manera más efectiva y elegir las herramientas adecuadas para cada situación. La capacidad de pensar de forma innovadora y desde diferentes perspectivas enriquece el proceso de resolución de problemas, haciéndonos más adaptables y competentes en un ámbito en constante evolución.

Aprender un nuevo lenguaje cada año puede parecer un desafío, pero te brindará una comprensión más profunda de las diversas técnicas y enfoques disponibles. No solo mejorará tus habilidades técnicas, sino que también aumentará tu potencial para encontrar soluciones creativas y efectivas a problemas complejos.

En Platzi, puedes explorar más sobre cómo estos paradigmas ayudan a estructurar y resolver problemas, a través de cursos especializados que desglosan su historia y aplicación práctica. Así que, ¿qué esperas para ampliar tu repertorio y convertirte en un experto en programación? ¡Embárcate en esta emocionante travesía de aprendizaje y descubre todo lo que puedes lograr!