P PARADIGMAS ARADIGMAS DE DE P PROGRAMACIN ROGRAMACIN
Existe una infinidad de definiciones de lo que es un paradigma. Un paradigma es un determinado marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos e intervenimos sobre l. Abarca desde el conjunto de conocimientos cientficos que imperan en una poca determinada hasta las formas de pensar y de sentir de la gente en un determinado lugar y momento histrico. Adam !mith define paradigma, en su libro "#os poderes de la mente$, como "un conjunto compartido de suposiciones. Es la manera como percibimos el mundo: agua para el pez. El paradigma nos explica el mundo y nos ayuda a predecir su comportamiento%. En nuestro contexto, el paradigma debe ser concebido como una forma aceptada de resolver un problema en la ciencia, que m&s tarde es utili'ada como modelo para la investigacin y la formacin de una teora. (ambin, el paradigma debe ser concebido como un conjunto de mtodos, reglas y generali'aciones utili'adas conjuntamente por aquellos entrenados para reali'ar el trabajo cientfico de investigacin. En nuestro contexto, los paradigmas de programacin nos indican las diversas formas que, a lo largo de la evolucin de los lenguajes, han sido aceptadas como estilos para programar y para resolver los problemas por medio de una computadora. !e muestran a continuacin un resumen de los paradigmas de uso m&s extendido en programacin. PROGRAMACIN POR PROCEDIMIENTOS Es el paradigma original de programacin y qui'& todava el de uso m&s com)n. En l, el programador se concentra en el procesamiento, en el algoritmo requerido para llevar a cabo el cmputo deseado. #os lenguajes apoyan este paradigma proporcionando recursos para pasar argumentos a las funciones y devolviendo valores de las funciones. *+,(,A- es Ingeniera Qumica Programacin Instituto Tecnolgico de Celaya el lenguaje de procedimientos original, .ascal y / son inventos posteriores que siguen la misma idea. #a programacin estructurada se considera como el componente principal de la programacin por procedimientos. PROGRAMACIN MODULAR /on los a0os, en el dise0o de programas se dio mayor nfasis al dise0o de procedimientos que a la organi'acin de la informacin. Entre otras cosas esto refleja un aumento en el tama0o de los programas. #a programacin modular surge como un remedio a esta situacin. A menudo se aplica el trmino mdulo a un conjunto de procedimientos afines junto con los datos que manipulan. As, el paradigma de la programacin modular consiste en1 a2 Establecer los mdulos que se requieren para la resolucin de un problema. b2 3ividir el programa de modo que los procedimientos y los datos queden ocultos en mdulos. Este paradigma tambin se conoce como principio de ocultacin de procedimientos y datos. Aunque /44 no se dise0o especficamente para desarrollar la programacin modular, su concepto de clase proporciona apoyo para el concepto de mdulo. ABSTRACCIN DE DATOS #os lenguajes como A3A y /44 permiten que un usuario defina tipos que se comporten casi de la misma manera que los tipos definidos por el lenguaje. (ales tipos de datos reciben a menudo el nombre de tipos abstractos o tipos definidos por el usuario. El paradigma de programacin sobre este tipo de datos consiste en1 a2 Establecer las caractersticas de los tipos de datos abstractos se desean definir. b2 .roporcionar un conjunto completo de operaciones v&lidas y )tiles para cada tipo de dato. Ingeniera Qumica Programacin Instituto Tecnolgico de Celaya /uando no hay necesidad de m&s de un objeto de un tipo dado, no es necesario este estilo y basta con el estilo de programacin de ocultamiento de datos por medio de mdulos. PROGRAMACIN ORIENTADA A OBJETOS (OOP) El problema con la abstraccin de datos es que no hay ninguna distincin entre las propiedades generales y las particulares de un conjunto de objetos. Expresar esta distincin y aprovecharla es lo que define a la ++. a travs del concepto de herencia. El paradigma de la programacin orientada a objetos es, entonces, a2 3efinir que clases se desean b2 .roporcionar un conjunto completo de operaciones para cada clase c2 5ndicar explcitamente lo que los objetos de la clase tienen en com)n empleando el concepto de herencia En algunas &reas las posibilidades de la ++. son enormes. !in embargo, en otras aplicaciones, como las que usan los tipos aritmticos b&sicos y los c&lculos basados en ellos, se requiere )nicamente la abstraccin de datos y6o programacin por procedimientos, por lo que los recursos necesarios para apoyar la ++. podran salir sobrando. Ingeniera Qumica