haberlo leido ya por aqui, creo que en una bitacora de Fernand0... pero estoy muy vago como para andar buscando ahora links ;)
en cuanto al texto, muy, muy bueno, desde luego ejemplifica uno de los grandes problemas de java...
aunque siendo estrictos, el problema no es de java por si mismo, por un lado es culpa de la propia orientacion a objetos, un objeto, por definicion, es un nombre, las acciones que pueda realizar, tambien por definicion, son verbos... de hecho ese problema lo he visto tambien en C++
y por otra parte esta el (innegable) gusto de muchos desarrolladores en general, de java en especial y de sun especificamente de complicar las cosas intentando que sean mas flexibles... muchas veces entre interfaces, factorias, factorias de factorias y demas, se llega a un punto en que es imposible hacer nada... o al menos hacerlo sin tener que instanciar un par de decenas de objetos
en mi opinion, daria una mencion especial a las clases finales y a las abstractas... se, en teoria, las razones por las cuales se crearon y por las cuales estan ahi, solo que sigo sin verle demasiado sentido a esas razones...
--
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
un objeto, por definicion, es un nombre, las acciones que pueda realizar, tambien por definicion, son verbos... de hecho ese problema lo he visto tambien en C++
Sin quitarte la razón, C++ es multiparadigma [wikipedia.org] (según el propio Stroustrup [att.com]) lo que en principio no tiene que ser ni bueno ni malo... a pesar de que mucha gente lo usa solo orientado a objetos... De hecho en el estándar del 98 tiene mucho peso la programación genérica en la que desde luego los verbos (#include < algorithm> ;) ) tienen una relevancia tan grande como lo nombres...
No voy a ser yo quien diga que C++ es perfecto, es más bien una evolución de una evolución [barrapunto.com], con lo que eso conlleva... Solo digo que en C++ se puede evitar el tema de que los verbos estén supeditados a los nombres...
Por otra parte a veces no está mal englobar una serie de verbos en un nombre al modo de namespaces para agruparlos y que se vea la relación que tienen...
Lo que es innegable es que algunos lenguajes tratan a las acciones como miembros de primer nivel y otros no te dejan. Como decía fernand0 por aquí [barrapunto.com], hablando de Can Your Programming Language Do This? [joelonsoftware.com] de Joel, todo se puede hacer en todos los lenguajes, pero hay lenguajes que ayudan mas que otros...
me suena...
(Puntos:3, Inspirado)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Febrero de 2014, 10:03h )
en cuanto al texto, muy, muy bueno, desde luego ejemplifica uno de los grandes problemas de java...
aunque siendo estrictos, el problema no es de java por si mismo, por un lado es culpa de la propia orientacion a objetos, un objeto, por definicion, es un nombre, las acciones que pueda realizar, tambien por definicion, son verbos... de hecho ese problema lo he visto tambien en C++
y por otra parte esta el (innegable) gusto de muchos desarrolladores en general, de java en especial y de sun especificamente de complicar las cosas intentando que sean mas flexibles... muchas veces entre interfaces, factorias, factorias de factorias y demas, se llega a un punto en que es imposible hacer nada... o al menos hacerlo sin tener que instanciar un par de decenas de objetos
en mi opinion, daria una mencion especial a las clases finales y a las abstractas... se, en teoria, las razones por las cuales se crearon y por las cuales estan ahi, solo que sigo sin verle demasiado sentido a esas razones...
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
sin quitarte la razón...
(Puntos:1)( https://twitter.com/yapw | Última bitácora: Viernes, 13 Mayo de 2011, 21:21h )
Sin quitarte la razón, C++ es multiparadigma [wikipedia.org] (según el propio Stroustrup [att.com]) lo que en principio no tiene que ser ni bueno ni malo... a pesar de que mucha gente lo usa solo orientado a objetos... De hecho en el estándar del 98 tiene mucho peso la programación genérica en la que desde luego los verbos (#include < algorithm> ;) ) tienen una relevancia tan grande como lo nombres...
No voy a ser yo quien diga que C++ es perfecto, es más bien una evolución de una evolución [barrapunto.com], con lo que eso conlleva... Solo digo que en C++ se puede evitar el tema de que los verbos estén supeditados a los nombres...
Por otra parte a veces no está mal englobar una serie de verbos en un nombre al modo de namespaces para agruparlos y que se vea la relación que tienen...
Lo que es innegable es que algunos lenguajes tratan a las acciones como miembros de primer nivel y otros no te dejan. Como decía fernand0 por aquí [barrapunto.com], hablando de Can Your Programming Language Do This? [joelonsoftware.com] de Joel, todo se puede hacer en todos los lenguajes, pero hay lenguajes que ayudan mas que otros...
Aquí había una firma