Paradigmas de programación

Iniciado por 16BITBoy, 1 Julio 2010, 10:29 AM

0 Miembros y 1 Visitante están viendo este tema.

16BITBoy

Yo de siempre, he programado mis pequeños programas y scripts usando programación modular / esctructurada. Se que para el programador, una vez acostumbrado a escribir el código en POO, luego le es mas fácil aun reutilizar el código escrito para otros programas, pero :
¿Hay alguna ventaja real en aprender (bueno en aprender si, que puedes usar java por ejemplo), o mejor dicho, hay alguna ventaja para usar la programación orientada a objetos para el programa mismo? ¿Existe algún tipo de optimización en el programa? O bien sea programado en estructurado o POO sale el mismo código nativo, igual de eficiente, seguro y tal... (pongamos, C y C++).
Me surgió la duda, hace un año reescribí un juego que escribí originalmente en C y lo pase, medio medio (pues no me acostumbraba del todo a POO) a C++.

Llevo unos días programando en python, pero la orientación a objetos apenas la uso, uso si acaso los métodos que ya vienen de clases que ya están hechas de la librería.


Blog personal: http://www.16bitboy.com/blog

- Que horrible pesadilla, unos y ceros por todas partes... hasta me parecio ver un ¡dos!
- Bender, solo fue una pesadilla, no existe eso que llamas "dos".

leogtz

No es tanto cuestión del paradigma, porque bien lo puedes adaptar a programación estructurada, sino las ventajas que acarrea la POO, para ti y para los que vayan a trabajar contigo.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

carlitos_jajajajaja

La POO me ha quitado muchos dolores de cabeza:

-Puedo escribir codigo a prueba de tontos: Esta ventaja me lada el encapsulamiento porque me permite ocultar del usuario finl campos que no deberia tocar. haciendo de mis programas muy resistentes a los fallos. Por ejemplo, imaginate que tengo una estructura de datos para manejar las muchas colasde prioridad que tiene la sucursal de un banco. Asi tendria que hacerlo en c:

/*Primero tengo que crear una libreria que manipule colas especificamente para tipos de datos ficha_cliente*/
#include "Cola.h"
typedef struct
{
     Cola* Cola_VIP;
     Cola* Cola_Platino;
     Cola* Cola_TerceraEdad;
     Cola* Cola_Otros;
     Ficha_cliente* SiguienteEnCola;
}ColaPrioridad;

Luego defino unafuncion que por ejemplo dada la ficha del cliente, decida a que cola agragarlo, y otra que dadas las colas, decidir quien debera ser el siguiente en ser atendido, pero eso debo hacerlo manualmente cada vez que saco a un cliente de la cola, ademas si un mal programador hace mal uso de esta estructura, podria arruinar las colas, no liberar la memoria correctamente y un sin fin de otros errores.


En cambio si creo una clase que solo muestre al usuario de esta 2 metodos: Agregar_Cliente(FichaCliente* nuevo) y SiguienteCliente(); Este solo podra usar una de esas clases y no podra challarla ni intentarechar,me la culpaa mi por crear una mala libreria



Merodeo los foros, esperando el momento de decir algo inteligente...

Se necesita paciencia