domingo, 21 de noviembre de 2010

Multiparadigma

Un lenguaje de programación multiparadigma es el cual soporta más de un paradigma de programación. Según lo describe Bjarne Stroustrup, permiten crear “programas usando más de un estilo de programación”.
El objetivo en el diseño de estos lenguajes es permitir a los programadores utilizar el mejor paradigma para cada trabajo, admitiendo que ninguno resuelve todos los problemas de la forma más fácil y eficiente posible.
Por ejemplo, lenguajes de programación como C++, Genie, Delphi, Visual Basic o PHP, combinan el paradigma imperativo con la orientación a objetos. Incluso existen lenguajes multiparadigma que permiten la mezcla de forma natural, como en el caso de Oz, que tiene subconjuntos (particularidad de los lenguages lógicos), y otras características propias de lenguajes de programación funcional y de orientación a objetos. Otro ejemplo son los lenguajes como Scheme (paradigma funcional) o Prolog (paradigma lógico), que cuentan con estructuras repetitivas, propias del paradigma imperativo.

Paradigmas de Programación
Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo nucleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados. La resolución de estos problemas debe suponer consecuentemente un avance significativo en almenos un parámetro que afecte a la ingeniería de software. Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.
Ejemplo :
Probablemente el paradigma de programación que actualmente es el más usado a todos los niveles es la orientación a objeto. El nucleo central de este paradigma es la unión de datos y procesamiento en una entidad llamada "objeto", relacionable a su vez con otras entidades "objeto".
Tradicionalmente datos y procesamiento se han separado en areas diferente del diseño y la implementación de software.  Esto provocó que grandes desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptación a los cambios y escalabilidad. Con la orientación a objetos y características como el encapsulado, polimorfismo o la herencia se permitió un avance significativo en el desarrollo de software a cualquier escala de producción.
La orientación a objeto parece estar ligado en sus origenes con lenguajes como Lisp y Simula aunque el que acuño el titulo de programación orientada a objetos fué Smaltalk.

Tipos de Paradigmas
  • Imperativo o por procedimientos: es considerado el más común y está representado, por ejemplo, por C o BASIC.
  • Funcional: está representado por Scheme o Haskell. Este es un caso del paradigma declarativo.
  • Lógico: está representado por Prolog. Este es otro caso del paradigma declarativo.
  • Declarativo: por ejemplo la programación funcional, la programación lógica, o la combinación lógico-funcional.
  • Orientado a objetos: está representado por Smalltalk, un lenguaje completamente orientado a objetos.
Si bien puede seleccionarse la forma pura de estos paradigmas al momento 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 es el de la programación orientada a objetos.

Bibliografia

1 comentario: