¿Que son paradigmas de
programación?
Un paradigma de
programación es una propuesta tecnológica que es adoptada por una
comunidad de programadores cuyo núcleo central es incuestionable en cuanto a
que únicamente trata de resolver uno o varios problemas claramente delimitados.
Es un estilo de programación empleado. La resolución de estos problemas debe
suponer consecuentemente un avance significativo en al menos 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.
El paradigma de
programación que actualmente es el más usado es la orientación a objetos. El
núcleo 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 áreas 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
escatabilidad. 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.
Un paradigma de
programación representa un enfoque particular o filosofía para diseñar
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 integran su solución del problema, en otras palabras, el cómputo.
La orientación a objeto
parece estar ligada en sus orígenes con lenguajes como Lisp y Simula aunque el
primero que acuñó el título de programación orientada a objetos fue Smalltalk.
¿Por qué paradigmas?
A lo largo de la
historia de las ciencias de la computación han ido surgiendo herramientas,
reglas, conceptos y otros elementos que permitieron la creación de los más
variados lenguajes de programación. Algunos nacieron y al poco tiempo
desaparecieron, mientras que otros hace años ya que se diseñaron y siguen
vigentes. Muchos se fueron adaptando y renovándose para subsistir y se vuelven
casi irreconocibles de sus orígenes y en cambio otros permanecen fieles a sus
principios fundantes y casi inalterables, más allá de ciertos cambios
cosméticos.
Los equipos, las
metodologías y los campos de aplicación se transformaron radicalmente. Si Von
Neumman se levantara de su tumba y se sentara frente a las computadoras de
última generación se sentiría tan perdido como el inventor de la rueda al
volante de un fórmula 1. Sin embargo, es probable que así como el conductor
constataría que el vehículo sigue teniendo ruedas o preguntaría cómo hacen
ahora para hacerla girar, los desarrolladores de software de otras épocas no
dudarían de preguntar... ¿y cómo es la entrada de datos? ¿cómo los representan?
¿y el control de secuencia? ¿sigue existiendo el efecto de lado? Y la respuesta
de un ingeniero en sistemas de esta época sería “Y... según el paradigma”.
Si algo caracteriza al panorama actual del
desarrollo de sistemas es su complejidad y heterogeneidad. No existe una sola
forma de pensar y encarar las soluciones, no son uniformes los conceptos que
fundamentan los lenguajes, no es única la manera de programar. Los modelos de
datos, estructuras de control, mecanismos de evaluación, sentencias, enlaces,
expresiones, declaraciones y tantos otros elementos que conforman los lenguajes
de programación actuales son muy diferentes entre unos y otros, hasta opuestos,
pero es posible detectar cuáles son los conceptos que marcan diferencias
mayores o menores, muestran puntos de contacto o de inflexión, establecen
criterios de clasificaciones, y así, aportan elementos teóricos para
sistematizar el análisis de la programación.
De esta manera, tiene sentido hablar de la
existencia de diferentes “paradigmas” de programación que aportan los
fundamentos teóricos y conceptuales para desarrollar sistemas de una manera en
particular, incluso podríamos decir con una “filosofía” especial, que los
caracterizan, identifican y a la vez diferencian de los otros paradigmas.
Este comentario ha sido eliminado por el autor.
ResponderBorrarSúper útil esta información aún vigente 2021!!
ResponderBorrar