Login Barrapunto
¿Ha muerto la orientación a objetos?
Hace unos días Robert h Quinn nos comentaba de pasada en su bitácora que la programación orientada a objetos está muriendo. En los últimos tiempos ha crecido el interés por lenguajes como Haskell o Erlang. Los lenguajes orientados a objetos tienden a introducir cada vez más conceptos ajenos a la POO, siendo los ejemplos más claros Ruby y la próxima versión de C#. Incluso C++ se renueva. ¿Hay argumentos suficientes para afirmar que la orientación a objetos está muerta? ¿O es sólo que ha madurado? ¿Cómo será el próximo gran lenguaje?
Historias relacionadas
[+]
Erlang5.7/OTP R13A: soporte Unicode, mejoras multicore y SSL 4 comentarios
Acaba de salir la nueva versión del conjunto Erlang/OTP, en concreto la versión Erlang 5.7/OTP R13A. La nueva versión de un lenguaje y sus librerías no tiene por qué ser gran noticia, pero en este caso las novedades son tan notables que creo que merece una mención. Entre ellas se encuentran importantes mejoras de rendimiento en entornos multicore y SMP, que es especialmente importante teniendo en cuenta que una de las grandes bazas del lenguaje es su tratamiento de la concurrencia. Además destacan también el soporte para Unicode, posibilidad de usar WxWidgets a través del WxErlang (de momento en beta) y reescritura del soporte para SSL. Muchas de estas características eran necesarias para la introducción de este lenguaje más allá del entorno de las telecomunicaciones que históricamente ha sido su nicho natural. Más comentarios en reddit y Hacker News
Este hilo ha sido archivado.
No pueden publicarse nuevos comentarios.
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.

Ha muerto como bala de plata
(Puntos:4, Interesante)( http://yapw.blogspot.com/ | Última bitácora: Martes, 17 Marzo de 2009, 21:34h )
Ahora le tocará el turno a otras tecnologías, que harán furor y, en algún caso nos ayudarán a hacer mejor nuestro trabajo. Pero no, aún no hay bala de plata [wikipedia.org]...
Y tú ¿Ya usas tu bitácora [barrapunto.com] para hablar de las noticias que te interesan?
¿Muerta?
(Puntos:4, Inspirado)( http://barrapunto.com/ | Última bitácora: Lunes, 09 Marzo de 2009, 20:01h )
En esto no muere nadie...
(Puntos:3, Inspirado)( http://barrapunto.com/ )
No somos más que muestras...
Bueno, si lo dice Robert...
(Puntos:3, Inspirado)Al pinchar en el link descubro que el tal Robert es un matao que tiene una bitácora en barrapunto y lo de que "la OOP está muriendo" es algo que dice porque sí, y que "ya lo desarrollará en otro post".
¿Y esto sirve de base para una noticia en
Un poco de seriedad, por favor.
This space for sale
Yo creo que no
(Puntos:5, Inspirado)( http://www.traperware.com/ )
Perl se esta muriendo [barrapunto.com]
¿El Web 2.0 ha muerto? [barrapunto.com]
¿Java en declive? [barrapunto.com]
Y es que no hace falta mas que hacer una busqueda en barrapunto por muriendo [google.com] y es asombrosa la cantidad de tecnoligas que mueren: la arquitectura Cliente/Servidor está muriendo, internet en español este muriendo, etc.
SinMan @ TraperWare vaya historias [traperware.com]
Otros puntos de vista vienen bien
(Puntos:2)( http://blogs.publico.es/informatica | Última bitácora: Lunes, 16 Febrero de 2009, 13:17h )
En el fondo, la OO es un punto de vista, que no tiene porqué ser el más adecuado siempre.
Saludos.
Pues no
(Puntos:3, Interesante)( http://barrapunto.com/ | Última bitácora: Martes, 27 Enero de 2009, 12:01h )
Ambas las dos, cosas para las que los lenguajes (funcionales) que se citan en la noticia son bastante buenos.
No olvidemos la fábula "objects are merely a poor man's closures" [kimbly.com]
Volenti Nihil Difficile
Ni por asomo
(Puntos:3, Interesante)( http://www.thealphasite.org/ )
Existen numerosos paradigmas de programación y una gran mayoría de ellos son adecuados para un determinado ámbito, para enfrentarse a un determinado tipo de problemas. Algunos de dichos paradigmas dejan de ser utiles con el tiempo, bien porque se pruebe su ineficacia o bien porque los problemas a los que se aplicaban desaparecen o dejan de ser de ámbito común.
El paradigma orientado a objetos constituye un buen paradigma para la mayor parte de las aplicaciones comunes de hoy en día, fundamentadas en aplicaciones de gestión contra bases de datos si, pero lo cierto es que su campo abarca muchisimos más problemas. Cuestiones como reusabilidad y mantenibilidad creo que están más que probadas (y quien tenga alguna duda puede echar un vistazo al framework de
Yo creo que no solo no está muerto sino que, hoy por hoy, constituye la base del desarrollo de la gran mayoría de aplicaciones, dejando fuera tan solo a un minusculo porcentaje de aplicaciones cuyo patrón, cuyas necesidades específicas hacen que otros paradigmas sean más apropiados.
mentira!
(Puntos:2)( http://holygrial.blogspot.com/ )
Cadaver exquisito
(Puntos:3, Inspirado)Ser el Guru, el guay, el "yo he dicho", eso si que es cosa del pasado, de anuncio de television nacional por la madrugada, de vendedor ambulante de tonicos y crecepelos magnificos en las ferias.
De lo que si estoy seguro es que no hay una solucion que sea "la solucion". Por mucho que le metan a un lenguaje este no va a poder servir para todo. No existe una vacuna generica, no hay una solucion para distintos problemas. Ni la mayor parte de los juegos AAA se escriben en Python, ni detras de las aplicaciones webs esta C++. Cuesta mucho imponer un paradigma, y lo mas probable no es que entierre al anterior, sino que tengan que convivir durante muchisimo tiempo.
No voy a poner una firma aquí.
hee?
(Puntos:2, Inspirado)Lo cierto es que OOP permite hacer programas mas complejos con menos esfuerzo. Sigue siendo posible hacer estos programas con otro paradigma, pero seria mas costoso.
Si en algun sitio parece que retrocede, sera porque el impetu que ha tenido hace unos años era tan grande que ha ocupado territorios que no le pertenecian. La necesidad de la programacion en paralelo es posible que de empuje a otros lenguajes, pero eso tardara mas de 20 años en cocerse antes de ser significativo, y para entonces unas cuantas generaciones de programadores estaremos tan acostumbrados a OOP que no cambiaremos nunca, solo seremos reemplazados al jubilarnos por gente con ideas nuevas.
Mayoritariamente...
(Puntos:2)POO es una opción, un punto de vista, cuyo uso no es obligado, sino optativo, en función de múltiples factores
Afirmar taxativamente que un "concepto" de programación está "muriendo" (Yo mismo cometí el error de afirmar que Java estaba dejando de usarse) es un grave error. Estas afirmaciones deben realizarse bajo unos parámetros concretos, nunca universales
Otra vez más queda manifestado el deficiente conocimiento de algunos profesionales, que cometen errores como el de "Vicente, que va donde va la gente". Esto no debería ser una cuestión de modas, como a veces parece. En esta historia no hay buenos ni malos, cada concepto está concebido para una casuística más o menos concreta.
A veces estamos tan obsesionados por encontrar el concepto perfecto para realizar tal o cual proyecto, que al final nos damos el batacazo. He visto a una empresa de casi 2.000 trabajadores darse la gran h en un proyecto por intentar hacerlo en .NET, cuando nadie tenía idea ni siquiera de lo que era .NET. Solo sabían que "estaba de moda".
Creo que hablo por todos cuando digo que lo importante es el resultado, cada situación tiene unos requisitos, por lo que no hay dos iguales
En mi humilde opinión
(Puntos:5, Informativo)Es cierto que la OOP no es perfecta. Pero, en mi opinión, es (y seguirá siendo durante bastante tiempo) uno de los enfoques más adecuados (sino el más adecuado) para la mayoría de los problemas.
Claro que, en muchos casos, la OOP funciona mucho mejor si se "enriquece" con paradigmas como la AOP, "importando" características de otros lenguajes tales como las "closures" (que, en mi opinión no dejan de ser "objetos"), la posibilidad de ejecutar trozos de texto a modo de script...
Estas adiciones y otras que ahora mismo no me vienen a la cabeza (pero ya existen) características tales como la "reflection" (Exclusiva, creo yo, de los lenguajes orientados a objetos), consiguen hacer que la programación orientada a objetos, al complementarse correctamente, sea uno de los acercamientos que, utilizados de un modo correcto, proporcionan una productividad muy alta.
Por cierto, ¿Desde cuando Ruby no está orientado a objetos?
OOP = http://es.wikipedia.org/wiki/OOP [wikipedia.org]
AOP = http://es.wikipedia.org/wiki/Programaci%C3%B3n_Or
Closures = http://en.wikipedia.org/wiki/Closure_(computer_sc
Reflection = http://en.wikipedia.org/wiki/Reflection_(computer
Mierda .... robaron el post :P
(Puntos:2)( Última bitácora: Lunes, 09 Marzo de 2009, 20:35h )
Mi opinion sin entrar mucho en detalles tecnicos que para codigo me gusta mas mi bitacora (egoista que soy), es que la OOP no esta muriendo si no que esta mutando, esta transformandose en otra cosa, no sé muy bien cual pero en otra cosa.
Un claro ejemplo de la premisa anterior es Ruby, este lleva al extremo la programacion OOP donde todo es un objeto los enteros son objetos, pudiendo aniadir in-line nuevos metodos a los enteros. Pero a la vez incluyen caracteristicas de otros paradigmas de computación.
Veamos en claso de Java algunos signos de esta "mutacion" son, EMO, son los frameworks orientados a aspectos como AspectJ, qu e trata de incorporar a Java los conceptos de AOP, o el bytecode enhancement tan de moda en frameworks como terracota, que hacen uso de tecnicas externas a la OOP. y por poner otro ejemplo mas las annotations introducidas en Java 5, intentandor dar una vuelta a la metaprogramacion en java(o a la programacion declarativa segun se mire). Y todo lo que esta por llegar en la version 7 (closures y compania).
Tambien se puede hablar largo y tendido del exito de los DSL como ruby (umm este no es el mejor ejemplo), SQL, excel y un largo etc.
Creo que fue en Domain driven design donde decian algo asi como que la OOP habia fracasado en su intento de capturar el "dominio" de la aplicacion, el cual era su fin ultmio. Y visto ahora con cierta prepestiva del tiempo tiene mucha razon , la OOP a conseguio mayor reutilizacion, pero basicamente en frameworks y artefactos fuera de este dominio.
La esquizofrenia la "programación pretaporter"
(Puntos:4, Inspirado)( http://barrapunto.com/~puefale/bitacora | Última bitácora: Miércoles, 11 Marzo de 2009, 13:47h )
Vamos, que no, que no se está muriendo, a lo mejor como mucho, deja de estar de moda y ya no será lo último, pero a fin de cuentas, la OO seguirá ahí, y se seguirá usando aunque el siguiente programa de moda no se llame "padre" sino "progenitor", ni sea "herencia" sino "evolución".
Lo malo es que esa esquizofrenia de la "programación pretaporter" nos la acaban contajiando y nos pensamos que eso es la programación "moderna"...
Pué fueno, pué fale, pué m'alegro.
Maquinavaja.
¿Y los niños?
(Puntos:1)Ridículo
(Puntos:2)Peste de márquetin
(Puntos:2, Inspirado)A mi me parece más divertida
(Puntos:1)Y el mejor argumento que puedo dar para programar en OOP es que me parece más divertido que la progración sin objetos. (Sí, ya sé que es un argumento bastante frívolo y subjetivo, pero la diversión en mi caso es la mejor forma de motivación)
re
(Puntos:1)Erlang no es un lenguaje puro orientado a objetos. Pero se puede realizar un análisis y diseño orientado a objetos. Luego hay que realizar una pequeña conversión de esos diseños cuando se implementa.
Para cada problema hay que utilizar la mejor herramienta para solucionarlo. Erlang es muy útil cuando se tienen muchos clientes concurrentes, facilita tambien el intercambio de mensajes entre procesos, la distribución en maquinas y la tolerancia a fallos. Para todo lo demas.... Java y C++.
saludos
La orientación a objetos....
(Puntos:2, Divertido)( http://barrapunto.com/ )
Al Cesar lo que es del Cesar
(Puntos:2)( http://www.pegasusnet.com.ar/ )
Resulta que no, y que no a muchas cosas.
La OO vino a resolver la 'Crisis del Software' de principios de los 90'. Como panacea de la época, tiene muchos seguidores.
El problema principal que vino a resolver es que las especificaciones iban cambiando a medida que el proyecto avanzaba, y que según el paradigma estructurado, implicaba reanalizar, rediseñar y volver a empezar a codificar, así que un soft jamás estaría terminado. Una de sus principales ventajas, además de las técnicas que conocemos fue la reducción del gap semántico... vamos, que el analista ya no tenía nada que hacer.
La cuestión es que esto es aplicable a proyectos grandes. Unicamente. A nadie se le ocurre programar una calculadora en OO (salvo como ejercicio para una cátedra)
Software complejo, como GNOME, está pensado en OO, aunque el lenguaje sobre el que está implementado no soporte el paradigma! La OO es una forma de pensar el código.
Lo que yo creo que están, no desapareciendo, pero si reduciéndose porcentualmente, son las aplicaciones grandes. Vamos! Que las aplicaciones grandes son más o menas las mismas desde hace 10 años pero han surgido decenas de miles de pequeños programas, applets, sitios web dinámicos, que solo requieren resolver el problema de una página por vez.
En todas estas situaciones, la OO es innecesaria... salvo que se quiera tener un buen modelo para pensar las cosas.
-----
Tag: No elegimos dónde nacer.
Programación funcional
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Viernes, 17 Noviembre de 2006, 23:39h )
Me gustaría que se popularizara un poco más, por aprovechar las horas que le he hechado y tal
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!
Sensacionalismo nerd
(Puntos:1)¿y por que?
Pues como siempre he dicho: todos los diseños de software son cautivos del lenguaje en el que se implementan. Lo digo por que al ver proyectos grandes como Gnome o KDE, que estan hechos uno en C y otro en C++ se nota cual tiene mas dificultades para seguir desarrollandolo y desarrollar aplicaciones en el, esto a pesar de que algunos hablen de "arquitecturas superiores" frente a otros.
Lo que queria decir es que si uno tiene algo asi como una gran idea para una aplicacion diseñada y orientada a objetos pero se empeña uno en hacerlo todo en C por ejemplo, por que te crees muy machito, pues lo mas seguro es que tengas dificultades a largo plazo.
Respecto a la noticia, me parece una tonteria decir que este o aquel paradigma esta muerto ya, esto por que por un lado dilapida a la POO y por otro las alternativas que pone tambien soportan POO.
PD: sin animo de ofender a los gnomeros y kde-eros, solo queria dar mi opinion basado en algo de mi experiencia y como veo el panorama en general, y con los pies en la tierra. Estos nerd.
Re:firts spot
(Puntos:1, Inspirado)