Programación OOP

Algoritmos, estructuras de datos, estrategias o patterns. Lenguaje' de programasión, vieja! Ce, loco, Ce! Páison, y todo eso.

Programación OOP

Notapor Adriano el Sab Ene 27, 2007 4:40 pm

Estoy aprendiendo Patrones con el libro Head First Design Patterns, mucho muy bueno, y formándome unas opiniones sobre Java.

La cosa es más o menos ésta, para mí: es un buen lenguaje para usar en proyectos grandes, como ya es de común conocimiento, y si no sabés usar bien la IDE (ya sea GVIM con "ESC v" para copiar texto y demás joditas, o Eclipse) es una desgracia. A veces uno medio se pierde en la profusión de clases, y ahí hay que parar y tomar aire. En este sentido, Python es mucho más agradable por permitirte escribir más clases no anidadas en un solo archivo, por permitir herencia múltiple (claro que eso lleva a otros problemas, que por cierto aún no conozco en persona) y por ser menos verboso. Veo ventajas entre Java y C++, en el sentido de que, ya que vamos a haceerlo, hagámoslo bien. La JVM será pesada, pero francamente me ahorra tiempo como programador el no tener que preocuparme con friends, sobrecarga de operadores, friends y demás. No tener que lidiar con todo el bagaje de C también es una ventaja (después de todo, si lo quiero usar uso C, y ya).

Por otro lado, para proyectos chicos es un parto, la base ofrecida a cosas más complejas hace que en pequeña escala las cosas sean pesadas.

¿Qué les parece a ustedes?
Saludos
Adriano
Avatarde Usuario
Adriano
Administrador
 
Posts: 392
Registrado: Sab Dic 09, 2006 12:50 pm
Ubicación: Argentina

Programación OOP

Sponsor

Sponsor
 

Re: Programación OOP

Notapor danhorris el Dom Ene 28, 2007 12:16 pm

Hola Adriano!:

Como primera medida, si te estás iniciando en el mundo OOP, un libro para nada despreciable es "Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2)". El famoso libro de la pandilla de los 4 (The GoF - The Gangs of Four).

Digamos es el punto de partida para comenzar en el mundo de los patrones de diseño, importantísimos a la hora de reutilizar conocimiento y lograr bueno diseños OO.
Si alguien ya se topó con este problema como lo solucionó? que diseño logró? como lo puedo adaptar a mi problema?, esas son las preguntas que responden los patrones, además de formar una terminología que todo el mundo que se mueve dentro del ámbito lo entiende, uno al decir esto es un patrón "composite" a otro, éste ya se da una idea de la jerarquía de clases que se está hablando o del tipo de problema.

Todo lo referente a OO tiene como premisa básica la reutilizacion y lograr una escabilidad para un proyecto, Ahí tiene su punto fuerte Java con una gran base OO (no lo es 100%) logra que el código sea fácil de leer, de mantener e inclusive modificar (ampliar) fundamentales a la hora de sistemas críticos/empresariales sujetos a cambios tan impresibles y que tengan que ser soportados en un corto tiempo.
danhorris
 
Posts: 23
Registrado: Vie Ene 26, 2007 9:18 am

Re: Programación OOP

Notapor Adriano el Dom Ene 28, 2007 12:23 pm

Este libro es bastante bueno, y conozco -aunque no tengo- el de la GoF. Pero dado que empecé con Head First Java, que me gustó la onda de la serie, y que los cuatro recomiendan también éste libro, lo conseguí. Conozco las ventajas básicas de los patterns, lo que me queda en la cabeza es "si quiero llegar a un nivel más alto de expresión de problemas, voy a tener que sacrificar algo en eficiencia". Tal vez haya una manera de quedarse con la chancha y los veinte, pero que yo sepa todavía no se conoce.
Saludos
Adriano
Avatarde Usuario
Adriano
Administrador
 
Posts: 392
Registrado: Sab Dic 09, 2006 12:50 pm
Ubicación: Argentina

Re: Programación OOP

Notapor danhorris el Dom Ene 28, 2007 3:02 pm

Te entiendo a lo que queres llegar.

El tema es así: uno comienza haciendo el diseño más OO posible y lindo, porque ello tiene muchas ventajas que ya se enumeraron. A la hora de correr la aplicacion programada bajo aquel diseño, muchas veces la eficiencia cumple nuestros requisitos y alguna veces deja mucho que desear, entonces hay que comenzar a recortar, resignar un poco de OO y hacer que eso anda un poco más rapido.

Pero es así como decís, todo lo lindo de reutilizacion y mantenimiento de la OO, tiene un costo de eficiencia, porque es así en el diseño estás teniendo en cuenta, por decir algo, cosas a futuro o que te ahorrarán muchos dolores de cabeza a la hora de entender código de otro o ampliar los requeririmientos.

Solo la experiencia te indicará cuando ser chancho (resignar un poco de OO) en buscar de una mayor eficiencia.
danhorris
 
Posts: 23
Registrado: Vie Ene 26, 2007 9:18 am


Volver a Programación y Diseño de Sófwer.

¿Quién está conectado...?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron