Según el paradigma de
programación
Un paradigma de programación
representa un enfoque particular o filosofía para la
construcción del software. No es mejor uno que otro,
sino que cada uno tiene ventajas y desventajas.
Dependiendo de la situación un paradigma resulta más
apropiado que otro.
Atendiendo al paradigma de
programación, se pueden clasificar los lenguajes en :
* El paradigma imperativo o por
procedimientos es considerado el más común y está
representado, por ejemplo, por el C o por BASIC.
* El paradigma funcional está
representado por la familia de lenguajes LISP (en
particular Scheme), ML o Haskell.
* El paradigma lógico, un ejemplo es
PROLOG.
* El paradigma orientado a objetos. Un
lenguaje completamente orientado a objetos es Smalltalk.
Nota: La representación orientada a
objetos mejora la estructura de los datos y por lo tanto
se ha aplicado a diferentes paradigmas como Redes de
Petri, Imperativo Secuencial, Lógica de Predicados,
Funcional, etc. No obstante, la manipulación no queda
fundamentalmente afectada y por lo tanto el paradigma
inicial tampoco a pesar de ser re-orientado a objetos.
Si bien puede seleccionarse la forma
pura de estos paradigmas a la hora de programar, en la
práctica es habitual que se mezclen, dando lugar a la
programación multiparadigma.
Actualmente el paradigma de
programación más usado debido a múltiples ventajas
respecto a sus anteriores, es la programación orientada
a objetos.
Lenguajes imperativos
Son los lenguajes que dan
instrucciones a la computadora, es decir, órdenes.
Lenguajes Funcionales
Paradigma Funcional: este paradigma
concibe a la computación como la evaluación de funciones
matemáticas y evita declarar y cambiar datos. En otras
palabras, hace hincapié en la aplicación de las
funciones y composición entre ellas, más que en los
cambios de estados y la ejecución secuencial de comandos
(como lo hace el paradigma procedimental). Permite
resolver ciertos problemas de forma elegante y los
lenguajes puramente funcionales evitan los efectos
secundarios comunes en otro tipo de programaciones.
Lenguajes Lógicos
La computación lógica direcciona
métodos de procesamiento basados en el razonamiento
formal. Los objetos de tales razonamientos son "hechos"
o reglas "if then". Para computar lógicamente se utiliza
un conjunto de tales estamentos para calcular la verdad
o falsedad de ese conjunto de estamentos. Un estamento
es un hecho si sus tuplas verifican una serie de
operaciones.
Un hecho es una expresión en la que
algún objeto o conjunto de objetos satisface una
relación específica. Una tupla es una lista inmutable.
Una tupla no puede modificarse de ningún modo después de
su creación.
Un regla if then es un estamento que
informa acerca de conjuntos de tuplas o estamentos
relacionados que pueden predecir si otras tuplas
satisfacerán otras relaciones.
Un estamento que es probado verdadero
como resultado de un proceso se dice que es una
inferencia del conjunto original. Se trata por tanto de
una descripción de cómo obtener la veracidad de un
estamento dado que unas reglas son verdaderas.
La computación lógica está por tanto
relacionada con la automatización de algún conjunto de
métodos de inferencia.
Lenguajes orientados a objetos
La Programación Orientada a Objetos
(POO u OOP según sus siglas en inglés) es un paradigma
de programación que usa objetos y sus interacciones para
diseñar aplicaciones y programas de computadora. Está
basado en varias técnicas, incluyendo herencia,
modularidad, polimorfismo y encapsulamiento. Su uso se
popularizó a principios de la década de 1990.
Actualmente son muchos los lenguajes de programación que
soportan la orientación a objetos.