You are on page 1of 5

Tipos de Programacin:

Actualmente una de las reas ms importantes en la industria y el mbito acadmico es


la orientacin a objetos. La orientacin a objetos promete mejoras de amplio alcance en
la forma de diseo, desarrollo y mantenimiento del software ofreciendo una solucin a
largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el
desarrollo del software: la falta de portabilidad del cdigo y reusabilidad, cdigo que es
difcil de modificar, ciclos de desarrollo largos y tcnicas decodificacin no intuitivas.
Un lenguaje orientado a objetos ataca estos problemas. Tiene tres caractersticas
bsicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de
clases. Muchos de los lenguajes pueden cumplir uno o dos de estos puntos, pero es muy
difcil que se cumplan los tres, el inconveniente ms complicado de disear es la
herencia. El concepto de programacin orientada a objetos (POO) no es nuevo,
lenguajes clsicos como SmallTalk se basan en ella. Dado que la POO, se basa en la
idea natural de la existencia de un mundo lleno de objetos y que la resolucin del
problema se realiza en trminos de objetos. Un lenguaje se dice que est basado en
objetos si soporta como una caracterstica fundamental del mismo. El elemento
fundamental de la POO es, como su nombre lo indica, el objeto. Podemos definir un
objeto como un conjunto complejo de datos y programas que poseen una estructura y
forman parte de una organizacin
Esta definicin especifica varias propiedades importantes de los objetos. En primer
lugar, un objeto no es un dato simple, sino que contiene en su interior cierto nmero de
componentes bien estructurados. En segundo lugar, cada objeto no es un ente aislado,
sino que forma parte de una organizacin jerrquica o de otro tipo. Bsicamente la POO
permite a los programadores escribir software, de forma que est organizado en la
misma manera que el problema que trata de modelar. Los lenguajes de programacin
convencionales son poco ms que una lista de acciones a realizar sobre un conjunto de
datos en una determinada secuencia. Si en algn punto del programa modificamos la
estructura de los datos o la accin realizada sobre ellos, el programa cambia.
Qu es la POO?
La Programacin Orientada a Objetos (POO) es una metodologa de diseo de software
y un paradigma de programacin que define los programas en trminos de "clases de
objetos", objetos que son entidades que combinan estado (es decir, datos) y

comportamiento (esto es, procedimientos o mtodos). La programacin orientada a


objetos expresa un programa como un conjunto de estos objetos, que se comunican
entre ellos para realizar tareas. Esto difiere de los lenguajes procedimentales
tradicionales, en los que los datos y los procedimientos estn separados y sin relacin.
Estos mtodos estn pensados para hacer los programas y mdulos ms fciles
de escribir, mantener y reutilizar. Otra manera en que esto es expresado a menudo, es
que la programacin orientada a objetos anima al programador a pensar en los
programas principalmente en trminos de tipos de datos, y en segundo lugar en las
operaciones ("mtodos") especficas a esos tipos de datos.
Los lenguajes procedimentales animan al programador a pensar sobre todo en trminos
de procedimientos, y en segundo lugar en los datos que esos procedimientos manejan.
Los programadores que emplean lenguajes procedimentales, escriben funciones y
despus les pasan datos. Los programadores que emplean lenguajes orientados a objetos
definen objetos con datos y mtodos y despus envan mensajes a los objetos diciendo
que realicen esos mtodos en s mismos. Algunas personas tambin diferencian la POO
sin clases, la cual es llamada a veces programacin basada en objetos. Hay un cierto
desacuerdo sobre exactamente que caractersticas de un mtodo de programacin o
lenguaje le califican como "orientado a objetos", Trmino de Programacin Orientada a
Objetos indica ms una forma de diseo y una metodologa de desarrollo de software
que un lenguaje de programacin, ya que en realidad se puede aplicar el Diseo
Orientado a Objetos, a cualquier tipo de lenguaje de programacin.
El desarrollo de la POO empieza a destacar durante la dcada de los 80 tomando en
cuenta la programacin estructurada, a la que engloba y dotando al programador de
nuevos elementos para el anlisis y desarrollo de software. Se puede definir POO como
una tcnica o estilo de programacin que utiliza objetos como bloque esencial de
construccin. Los objetos son en realidad como los tipos abstractos de datos. Un TAD
es un tipo definido por el programador junto con un conjunto de operaciones que se
pueden realizar sobre ellos. Se denominan abstractos para diferenciarlos de los tipos de
datos fundamentales o bsicos.
Ventajas de POO
La OOP proporciona las siguientes ventajas sobre otros lenguajes de programacin.
Uniformidad

Ya que la representacin de los objetos lleva implica tanto el anlisis como el diseo
y la codificacin de los mismos.
Comprensin.
Tanto los datos que componen los objetos, como los procedimientos que los manipulan,
estn agrupados en clases, que se corresponden con las estructuras de informacin que
el programa trata.
Flexibilidad.
Al tener relacionados los procedimientos que manipulan los datos con los datos a tratar,
cualquier cambio que se realice sobre ellos quedar reflejado automticamente en
cualquier lugar donde estos datos aparezcan.
Estabilidad:
. Dado que permite un tratamiento diferenciado de aquellos objetos que permanecen
constantes en el tiempo sobre aquellos que cambian con frecuencia permite aislar las
partes del programa que permanecen inalterables en el tiempo.
Reusabilidad:
La nocin de objeto permite que programas que traten las mismas estructuras de
informacin reutilicen las definiciones de objetos empleadas en otros programas e
incluso los procedimientos que los manipulan. De esta forma, el desarrollo de un
programa puede llegar a ser una simple combinacin de objetos ya definidos donde
estos estn relacionados de una manera particular.
Reutilizacin. Las clases se construyen a partir de otras clases.
Sistemas ms fiables.
Proceso de desarrollo apropiado.
Desarrollo ms flexible.
Modelos que reflejan mejor la realidad.
Mejor independencia e inter operatividad de la tecnologa.
Mejor informtica distribuida en cliente servidor.
Bibliotecas de clases comerciales disponibles.

Mejores relaciones con los clientes.


Mejor calidad del producto de software terminado.
Desventajas de la tecnologa orientada a objetos.
A pesar de que las ventajas de la programacin orientada a objetos superan a las
limitaciones de la misma, podemos encontrar algunas caractersticas no deseables en
sta. Limitaciones para el programador. No obstante que la tecnologa orientada a
objetos no es nueva, un gran porcentaje de programadores no estn familiarizados con
los conceptos de dicha tecnologa. En otras palabras, la lgica de la programacin
estructurada sigue siendo predominante en la mayora de los desarrolladores de
software, despus de haber revisado de forma breve los principios de la programacin
orientada a objetos, nos es claro que en sta se requiere una lgica de pensamiento
totalmente diferente a la lgica comnmente utilizada para la programacin estructurada
Evolucin de la programacin
POO (Programacin Orientada a Objetos) es un importante conjunto de tcnicas que se
pueden utilizar para hacer el desarrollo de programas ms eficientes mientras se mejora
la facilidad de los programas resultantes. En esencia, POO es un nuevo medio de
enfocar el trabajo de programacin. Sin embargo, a fin de comprender lo que es la POO,
es necesario comprender sus races. As pues, comenzaremos por examinar la historia
del proceso de programacin analizada cmo evolucin POO y deduciendo, en
consecuencia, por qu es tan importante este concepto.
Programacin lineal.
Los lenguajes de programacin lineal (BASIC, COBOL Y FORTRAN) no tenan
facilidad para reutilizar el cdigo existente de programas. De hecho se duplicaban
segmentos de software cada vez ms en muchos programas. Los programas se
ejecutaban en secuencias lgicas, haciendo la lgica difcil de comprender. El control de
programas era difcil y se producan continuos saltos a lo largo del referido programa.
An ms, los lenguajes lineales no tenan capacidad de controlar la visibilidad de los
elementos llamados datos.
Programacin Modular
El soporte ms elemental de la programacin Modular lleg con la aparicin de la
subrutina. Una subrutina ha creado una secuencia de instrucciones a las que se les da un

nombre independiente; una vez que se ha definido, la subrutina se puede ejecutar


simplemente incluyendo el nombre del programa siempre que se requiera. Las
subrutinas proporcionan una divisin natural de las tareas; diferentes programas
utilizan. Aunque las subrutinas proporcionan el mecanismo bsico de la programacin
Modular, se necesita mucha disciplina para crear software bien estructurado. Sin esta
disciplina, es fcil escribir programas compilados y tortuosos difciles de modificar y
comprender, as como imposible de mantener. Esta ha sido la panormica durante
muchos aos en el desarrollo del software.
Programacin Estructurada.
Un concepto importante en campo de la programacin Estructurada: Abstraccin, ya
que la Abstraccin se puede definir como la capacidad de examinar algo sin
preocuparse de los detalles internos. En un programa estructurado, es suficiente conocer
que un procedimiento sea fiable, para que se pueda utilizar sin tener que conocer cmo
funciona su interior. Esto se conoce como una Abstraccin funcional y es el ncleo de la
programacin estructurada. Hoy casi todos los lenguajes de programacin tienen
construcciones que facilitan la programacin estructurada.

You might also like