Está en la página 1de 2

Un paradigma de programacin es una propuesta tecnolgica adoptada por una comunidad

de programadores y desarrolladores cuyo ncleo central es incuestionable en cuant


o que nicamente trata de resolver uno o varios problemas claramente delimitados;
la resolucin de estos problemas debe suponer consecuentemente un avance significa
tivo en al menos un parmetro que afecte a la ingeniera de software.
Un paradigma de programacin representa un enfoque particular o filosofa para disear
soluciones. Los paradigmas difieren unos de otros, en los conceptos y la forma
de abstraer los elementos involucrados en un problema, as como en los pasos que i
ntegran su solucin del problema, en otras palabras, el cmputo.
Tiene una estrecha relacin con la formalizacin de determinados lenguajes en su mom
ento de definicin. Es un estilo de programacin empleado.
Un paradigma de programacin est delimitado en el tiempo en cuanto a aceptacin y uso
, porque nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen
parcial o totalmente.
El paradigma de programacin que actualmente es el ms utilizado es la "orientacin a
objetos" (OO). El ncleo central de este paradigma es la unin de datos y procesamie
nto en una entidad llamada "objeto", relacionable a su vez con otras entidades "
objeto".
Tradicionalmente, datos y procesamiento se han separado en reas diferente del dis
eo y la implementacin de software. Esto provoc que grandes desarrollos tuvieran pro
blemas de fiabilidad, mantenimiento, adaptacin a los cambios y escalabilidad. Con
la OO y caractersticas como el encapsulado, polimorfismo o la herencia, se permi
ti un avance significativo en el desarrollo de software a cualquier escala de pro
duccin. La OO parece estar ligada en sus orgenes con lenguajes como Lisp y Simula,
aunque el primero que acu el ttulo de "programacin orientada a objetos" fue Smallta
lk.
Tipos ms comunes de paradigmas de programacin
En general la mayora son variantes de los dos tipos principales, imperativa y dec
larativa:
Programacin imperativa o por procedimientos: Es el ms usado en general, se bas
a en dar instrucciones al ordenador de como hacer las cosas en forma de algoritm
os. La programacin imperativa es la ms usada y la ms antigua, el ejemplo principal
es el Lenguaje de mquina. Ejemplos de lenguajes puros de este paradigma seran el C
, BASIC o Pascal.
Programacin orientada a objetos: Est basada en el imperativo, pero encapsu
la elementos denominados objetos que incluyen tanto variables como funciones. Es
t representado por C++ o el Java, pero el ms representativo sera el Smalltalk que e
st completamente orientado a objetos.
Programacin dinmica: est definida como el proceso de romper problemas en pa
rtes pequeas para analizarlos y resolverlos de forma ms ptima, busca resolver probl
emas en O(n) sin usar por tanto mtodos recursivos. Este paradigma est ms basado en
el modo de realizar los algoritmos, por lo que se puede usar con cualquier lengu
aje imperativo.
Programacin declarativa: Est basado en describir el problema declarando propie
dades y reglas que deben cumplirse, en lugar de instrucciones. Hay lenguajes par
a la programacin funcional, la programacin lgica, o la combinacin lgico-funcional. Un
os de los primeros lenguajes funcionales fueron Lisp y Prolog.
Programacin funcional: basada en la definicin los predicados y es de corte
ms matemtico, est representado por Scheme (una variante de Lisp) o Haskell.
Programacin lgica: basado en la definicin de relaciones lgicas, est represent
ado por Prolog.
Programacin con restricciones: Similar a la lgica usando ecuaciones. Casi
todos los lenguajes son variantes del Prolog.

Programacin multiparadigma: es el uso de dos o ms paradigmas dentro de un prog


rama. El lenguaje Lisp se considera multiparadigma.
Lenguaje especfico del dominio o DSL: Se denomina as a los lenguajes desarroll
ados para resolver un problema especfico, pudiendo entrar dentro de cualquier gru
po anterior. El ms representativo sera SQL para el manejo de las bases de datos, d
e tipo declarativo, pero los hay imperativos como el Logo.
Si bien puede seleccionarse la forma pura de estos paradigmas al momento de prog
ramar, en la prctica es habitual que se mezclen, dando lugar a la programacin mult
iparadigma o lenguajes de programacin multiparadigma.
Actualmente, el paradigma de programacin ms utilizado es el paradigma de la progra
macin orientada a objetos.