Logotipo de Orbis Sapientia Elearning Services

Servicios de formación. Especialistas en E-learning.

Progreso de Tema:

Lenguajes de programación

Un lenguaje de programación es un tipo de lenguaje, con una sintaxis y vocabulario de palabras clave determinadas que permiten generar programas o conjuntos de órdenes para el ordenador y que de esta forma, realice un número determinado de tareas.

Cada lenguaje de programación necesita de un traductor que sepa como interpretar o compilar la sintaxis de su código fuente para convertirla en código máquina comprensible por el ordenador.

Existe una gran cantidad  de lenguajes de programación. Teniendo en cuenta la sintaxis de éstos, su uso, etc., dan lugar a los llamados paradigmas de programación que a su vez, han significado la evolución de la programación, según los lenguajes que iban apareciendo o evolucionando, permitían nuevas funcionalidades y posibilidades.

El primer lenguaje que nos encontramos es el código máquina o binario, consistente en combinaciones de ceros y unos que conformarán instrucciones para el ordenador o computadora. Podemos decir que es lo que entiende nuestro ordenador y cualquier otro lenguaje existente, finalmente deberá convertir su código al que comprende el ordenador: código máquina. Esto hace que, entre otras cosas, existan dos grandes grupos de lenguajes:

  • Lenguajes de bajo nivel. Son los más cercanos al código máquina (inclusive). En términos de rendimiento son los más adecuados y normalmente se utilizan para programar hardware directamente.

    Por la misma razón, son los más complicados de utilizar.

  • Lenguajes de alto nivel. Más fáciles para programar por parte del desarrollador pero menos optimizados y cercanos por tanto al código máquina. Son los que suelen utilizarse para realizar la mayoría de aplicaciones que no implican trabajar directamente con hardware.

Existen lenguajes como C que podrían considerarse como intermedios a pesar de que muchos lo consideran de bajo nivel por su uso de punteros, rutinas en código ensamblador, etc. Por la forma de programar, se presentan lenguajes que pueden clasificarse en diferentes paradigmas de programación.

Paradigmas

Programación imperativa

  • Programación imperativa. Implica utilizar un lenguaje que describa un paso a paso secuencial de todas las tareas que ha de hacer el ordenador. Es más parecido a nuestro modo de trabajar. Utilizan este paradigma muchos de los lenguajes más conocidos hoy en día: C, PHP, Java, etc.
  • Programación estructurada. Llamada también programación si goto. Su objetivo es un código fuente claro, fácilmente legible y mantenible. Se basa en el uso secuencial de instrucciones normales, condicionales y repetitivas. Se puede considerar un subconjunto de la programación imperativa.
  • Programación procedimental. Es aquella que utiliza con profusión funciones y procedimientos.
  • Programación modular. Es una evolución de la programación estructurada que pretende dividir la lógica del programa en módulos o subprogramas que, por regla general, asociamos a las funciones y procedimientos. Sin embargo, podemos considerar que la POO es también programación modular.
  • Programación orientada a objetos. En este paradigma, el lenguaje de programación que lo utiliza pretende virtualizar y gestionar, entidades de la vida real. La utilizan lenguajes de alto nivel normalmente para aumentar la modularidad, la reutilización de código, etc. Lenguajes conocidos que utilizan la OOP u POO (programación orientada a objetos en inglés y español respectivamente), son Java, C++, PHP, Python… En realidad es un tipo de programación imperativa.
  • Programación orientada a componentes. Podemos considerarla una especialización de la POO. Los objetos aquí pasan a ser componentes si cumplen con una serie de requisitos concretos, siendo más independientes que los objetos normales y comunicándose mediante mensajes, pudiéndose reutilizar en muchos otros programas diferentes.
  • Programación orientada a eventos. Este paradigma se sustenta en las acciones que realiza el usuario y ocurren en el sistema con el programa. Este tipo de paradigma es usado por ejemplo en la herramienta Delphi o su alternativa open source Lazarus. Nuevamente, podemos estar utilizando este paradigma y al mismo tiempo, estar usando otro como la programación orientada a objetos.
  • Programación orientada a aspectos. Este paradigma viene a ser una evolución de la programación orientada a objetos. La diferencia, es que mientras que en la POO una funcionalidad que es necesaria en diferentes puntos del programa, se ha de declarar por cada vez que es necesaria, en la POA o programación orientada a aspectos, se separa, se individualiza una función o un método solamente que se podrá usar las X veces que sea necesaria y dónde sea necesaria.
  • Programación dinámica. Este paradigma pretende optimizar los algoritmos usados para programar para que sean lo más rápidos posible. Se puede por tanto, aplicar a otros paradigmas.
  • Programación multiparadigma. Este tipo de programación es la que usa diferentes paradigmas de programación. Hoy en día de hecho, la tendencia es que los lenguajes más usados como Java y C++ sean multiparadigmas, ya que usan tanto programación imperativa como van agregando características de programación funcional…

Programación declarativa

  • Programación declarativa. Este paradigma es totalmente diferente al de programación imperativa. Aquí se describe el problema, no los pasos para resolverlo y de esta forma dotar de la solución al programa. Lenguajes como Lisp, Prolog y SQL entre otros, son lenguajes que utilizan este paradigma.
  • Programación lógica. Es un paradigma que forma parte de la programación declarativa. Se basa en lógica matemática de primer orden. De esta forma, indicamos qué cosas hay que hacer, no cómo hacerlas.
  • Programación con restricciones. Está basada en un modelo formado por variables, los valores posibles que pueden tomar y la relación entre estas variables.
  • Programación específica de dominio. Es un paradigma donde se emplea un lenguaje que se utiliza para un área muy concreta: SQL para consultas de base de datos, R, estadística, etc.
  • Programación funcional. Se trata de un tipo de programación declarativa basada en funciones pero de un tipo diferente a las funciones imperativas. En este caso, una función recibirá unos parámetros que usará para dar un resultado pero sin tocar nada externa a ella. Será totalmente independiente del resto del programa.

Como se puede observar, muchos paradigmas son evoluciones o subconjuntos de otros. En realidad, hoy día pocos lenguajes pueden considerarse que no sean multiparadigma o puros en un paradigma.

";}
X