Foros del Web » Programando para Internet » Javascript »

¿Cuando usar OOP y cuando no?

Estas en el tema de ¿Cuando usar OOP y cuando no? en el foro de Javascript en Foros del Web. Bueno, hola a todos. La cuestión es esta: Si puedo lograr una operación de ambas maneras...¿Cómo se cual me conviene?. ¿Hay algún punto en el ...
  #1 (permalink)  
Antiguo 23/01/2012, 20:22
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 8
¿Cuando usar OOP y cuando no?

Bueno, hola a todos. La cuestión es esta:
Si puedo lograr una operación de ambas maneras...¿Cómo se cual me conviene?.
¿Hay algún punto en el que de otra forma que no sea mediante OOP no se pueda realizar alguna operación?
¿Ustedes utilizan este método?
Gracias y salu2.
  #2 (permalink)  
Antiguo 23/01/2012, 22:54
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: ¿Cuando usar OOP y cuando no?

Siempre usa OOP.
__________________
blog | @aijoona
  #3 (permalink)  
Antiguo 23/01/2012, 23:03
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ¿Cuando usar OOP y cuando no?

Pero...¿Así porque si?.¿Que ventajas trae?
  #4 (permalink)  
Antiguo 23/01/2012, 23:53
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: ¿Cuando usar OOP y cuando no?

La programación procedural es error-prone, ya que supone un mar de variables globales de todo tipo, color y responsabilidad.

OOP, te obliga* a ser más ordenado, evita colisiones, te permite agrupar y reutilizar componentes.

*Siempre y cuando pienses à la OOP.
__________________
blog | @aijoona
  #5 (permalink)  
Antiguo 24/01/2012, 01:42
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: ¿Cuando usar OOP y cuando no?

tambien te trae dolores de cabeza, se acostumbra el mal uso de extensiones(tipico ejemplo de jQuery.. que te "extiende" 500 funciones diferentes que por ahi no usas mas que 10).. de herencias tambien hay malas costumbres..

es un lenguaje que considera a fin de cuentas que un array.. una funcion y un "plainObject" son todos Objects.... no lo veo "mal", lo veo como si fuese microsoft.. que trata de romper todas las reglas

el codigo puede estar todo desordenado aplicando POO o no... (por cierto.. JS no se caracteriza por tener el mejor POO..)
las colisiones.. si no incluis "scripts patogenos", no veo que colisiones vas a tener
agrupar.. si, pero si ves alguna libreria como jQuery te vas a dar cuenta de que lo "agrupado" se volvio un bolo fecal...
las funciones comunes y corrientes tambien se pueden reutilizar sin la necesidad de POO..

el tema es que POO.. es escalable. factor decisivo..
  #6 (permalink)  
Antiguo 24/01/2012, 03:03
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ¿Cuando usar OOP y cuando no?

Navegando bastante llegué a una conclusión:
No hay casos en los que convenga o no usar POO, es otra manera de programar, mas ordenada.
En casos de hacer cosas pequeñas, no más de 100 kb de código no es muy necesario usar POO ya que no se notan las ventajas.
Igualmente, sea para algo pequeño o no, programar al estilo POO es mucho más organizado ,es una buena costumbre y permite reutilizar codigo muchas veces,es decir, en grandes trabajos uno ahorra código, por lo tanto este es de mayor calidad, más eficaz..
A mi parecer, el salto que pienzo tomar desde la programación estructurada a la orientada a objetos va a ser muy dificil, sin embargo con práctica podría llegar a hacer código mucho más profesional.¿no?.
Todo esto es a mi parecer, espero que alguno que se halla preguntado lo mismo que yo me lea y saque su conclusión.Gracias por sus respuestas y salu2.
  #7 (permalink)  
Antiguo 24/01/2012, 08:18
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: ¿Cuando usar OOP y cuando no?

Cita:
Iniciado por Fernand0 Ver Mensaje
(por cierto.. JS no se caracteriza por tener el mejor POO..)
Explain. Para mi es más orientado a objetos que Java y PHP por ejemplo (aunque menos que Ruby).

Cita:
Iniciado por Fernand0 Ver Mensaje
las colisiones.. si no incluis "scripts patogenos", no veo que colisiones vas a tener
agrupar.. si, pero si ves alguna libreria como jQuery te vas a dar cuenta de que lo "agrupado" se volvio un bolo fecal...
Si vos programas proceduralmente, el contexto global se llena de funciones y variables de estado, lo cual ciertamente puede inducir a colisiones, digamos por ejemplo, utilizar la variable global index en dos funcionalidades distitnas.

Cita:
Iniciado por Fernand0 Ver Mensaje
las funciones comunes y corrientes tambien se pueden reutilizar sin la necesidad de POO..
Pero una función á la procedural no es un objeto, con lo cual solo reutilizas comportamiento y no estado.
__________________
blog | @aijoona
  #8 (permalink)  
Antiguo 24/01/2012, 08:21
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: ¿Cuando usar OOP y cuando no?

Cita:
Iniciado por pistonasos Ver Mensaje
En casos de hacer cosas pequeñas, no más de 100 kb de código no es muy necesario usar POO ya que no se notan las ventajas.
Tenés idea de cuantás lineas de código son 100kb? Según la densidad de mi código, son ~5000 líneas.

Si vos tenés esa cantidad de código sin usar OOP, tengo que decir, que suerte que no trabajo sobre tu código!
__________________
blog | @aijoona
  #9 (permalink)  
Antiguo 24/01/2012, 11:45
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: ¿Cuando usar OOP y cuando no?

Cita:
Iniciado por Aijoona Ver Mensaje
Explain. Para mi es más orientado a objetos que Java y PHP por ejemplo (aunque menos que Ruby).
Nunca dije que sea mas o menos orientado a objetos, digo que hacer herencia por prototype no me parece lo mejor, puedo heredar la clase B a la clase A en la linea 100, y 500 lineas mas abajo puedo continuar heredando otra clase a la clase B, sintacticamente no hay nada que te lo impida, podes hacer un caos total

ya habia dicho tambien..
Cita:
Iniciado por Fernand0 Ver Mensaje
es un lenguaje que considera a fin de cuentas que un array.. una funcion y un "plainObject" son todos Objects.... no lo veo "mal", lo veo como si fuese microsoft.. que trata de romper todas las reglas

Cita:
Iniciado por Aijoona Ver Mensaje
Si vos programas proceduralmente, el contexto global se llena de funciones y variables de estado, lo cual ciertamente puede inducir a colisiones, digamos por ejemplo, utilizar la variable global index en dos funcionalidades distitnas.
yo nunca dije que se creen variables globales.. y "no usar POO" no es sininomo de "existencia de variables globales"
si utilizas 2 veces la variable "index" de forma global para 2 cosas diferentes, es lo mismo que tratar de agregar 2 dlls del mismo nombre, o incluir archivos que tengan mismos namespaces, ese argumento no es valido... si programas mal.. programas mal....... va mas alla de usar POO o no

Cita:
Iniciado por Aijoona Ver Mensaje
Pero una función á la procedural no es un objeto, con lo cual solo reutilizas comportamiento y no estado.
si lo que quiero hacer es de una complejidad baja, no veo porque usar POO, tambien ya dije..
Cita:
Iniciado por Fernand0 Ver Mensaje
el tema es que POO.. es escalable. factor decisivo..
  #10 (permalink)  
Antiguo 24/01/2012, 12:12
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: ¿Cuando usar OOP y cuando no?

Cita:
Iniciado por Fernand0 Ver Mensaje
Nunca dije que sea mas o menos orientado a objetos, digo que hacer herencia por prototype no me parece lo mejor, puedo heredar la clase B a la clase A en la linea 100, y 500 lineas mas abajo puedo continuar heredando otra clase a la clase B, sintacticamente no hay nada que te lo impida, podes hacer un caos total
No que lo hace mejor o peor, es un lenguaje dinamico, con sus ventajas y desventajas.

Btw, en JavaScript no hay clases.

Cita:
Iniciado por Fernand0 Ver Mensaje
yo nunca dije que se creen variables globales.. y "no usar POO" no es sininomo de "existencia de variables globales"
si utilizas 2 veces la variable "index" de forma global para 2 cosas diferentes, es lo mismo que tratar de agregar 2 dlls del mismo nombre, o incluir archivos que tengan mismos namespaces, ese argumento no es valido... si programas mal.. programas mal....... va mas alla de usar POO o no
Programar procedural te induce a esos errores, ya que no tenés forma de encapsular el estado, y en scripts que no son pequeños la encapsulación y las relaciones entre las variables estan en la cabeza del programador, que desde el vamos es el punto débil del desarrollo. (fijate que el OP hablo de scripts de 100kb!)

Lo cual básicamente es una mala práctica.

Si me decís que programas bien cerca del paradigma funcional te podría dar la derecha.
__________________
blog | @aijoona
  #11 (permalink)  
Antiguo 24/01/2012, 12:23
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: ¿Cuando usar OOP y cuando no?

ponele comillas al "clases" entonces...
la herencia es unicamente un termino aplicable a las clases? porque entonces seria "herencia" tambien....

justamente porque no hay clases como la gente.. pero si "clases".. es que no me parece que javascript tenga una buena POO

a menos que de aqui en adelante todos digamos "vamos a heredar funciones a otras funciones" y se cambie la concepcion de la POO voy a seguir pensando lo mismo

Cita:
Programar procedural te induce a esos errores, ya que no tenés forma de encapsular el estado, y en scripts que no son pequeños la encapsulación ...
y pero justamente acabo de decir.. que depende de la complejidad de lo que quieras hacer.. el pregunto cuando usar o no POO... no si para un codigo de 100kb tiene que usar POO o no

yo respondi la pregunta inicial..
  #12 (permalink)  
Antiguo 24/01/2012, 12:41
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: ¿Cuando usar OOP y cuando no?

Bueno, zanjadas diferencias con respecto al OT.

-

Clases y prototipos son dos paradigmas distintos, tratar de encajar uno en otro es absurdo.

Herencia es un concepto que no requiere ni de clases ni de prototipos, aún cuando se estile a relacionarlo directamente con el uso de clases.

En lo personal prefiero los prototipos a las clases.

En JS, si querés ponerle nombre, podes decirle constructores, que es un término bastante adecuado.
__________________
blog | @aijoona
  #13 (permalink)  
Antiguo 29/01/2012, 04:21
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ¿Cuando usar OOP y cuando no?

No quise dar a entender que programaba más de 5000 líneas ni 100 kb... Lo que digo es que si fuese un programa grande valdría la pena.Ja, lo más que llegué creo que fueron 14 kb miserables.
A lo de 100 kb quise decir que, en un furturo, cuando tenga mucha más experiencia y haga cosas más complejas y pesadas (Si las hago), sería conveniente usar POO para evitar conflictos y para bienacostumbrarme. Pero como todavía estoy aprendiendo y si programo 5000 líneas se me van a hacer escarbadientes los dedos mejor espero un tiempo.Ja

Etiquetas: conviene, oop
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:15.