Generics podría ser el final de Java, Jonathan Locke (fundador de Wicket)
lunes, junio 2, 2008 at 9:44AM Jonathan Locke, el fundador del popular framework web Java Wicket, ha publicado una entrada en su weblog comentando los problemas que generics está trayendo a Wicket. Los desarrolladores y los usuarios no se ponen de acuerdo en si tiene sentido aplicar generics a ciertas partes del API del framework y, en caso afirmativo, como aplicarlas.
Jonhatan también afirma que en varios trabajos anteriores ha visto problemas similares con generics y ha visto como gente tremendamente inteligente ha tenido muchos quebraderos de cabeza intentando aplicar generics para luego darse cuenta que no era posible y tener que deshacer el trabajo hecho.
Jonhatan afirma que el principal problema que tiene Java en la actualidad son las generics y que es necesario que los programadores puedan escribir código con generics, y no sólo usarlo (es de consenso que usar generics, por ejemplo el framework de colecciones, es sencillo y es una ventaja para el programador; lo complicado es escribir tu propio código genérico, en especial si necesitas usar wildcards). Jonhatan afirma que ésto es mucho más importante que otros temas más populares en la actualidad como son las closures.
Personalmente, estoy de acuerdo en que escribir un API Java empleando generics es complicado. Aunque en mi experiencia (bastante particular, el dominio del procesado de señal) el factor más limitante es el hecho de que los generics en Java sean un mero azúcar sintáctico para el compilador y se eliminen en tiempo de ejecución. Tras varios días devanandome los sesos sobre cómo hacer genérico un framework de procesado de señal en el que trabajo llegué a la conclusión de que no me merecía la pena porque nunca conseguiría que los arrays donde se almacena la señal fuesen genéricos, y ahí es donde estaría la principal ventaja de hacer genérico mi framework. Así que tuve que abandonar la idea.
Siendo honestos, el abandonar la idea por un lado me decepcionó (hubiera sido muy útil para el usuario del framework). Por otro lado, me sentí aliviado porque se me estaban poniendo los pelos de punta con lo que iba a tener que hacer para aplicar generics...
¿Cuál es vuestra experiencia particular con generics? ¿Cuantos habéis usado generics en vuestro propio código? ¿Creéis que efectivamente es uno de los principales problemas que tiene Java en la actualidad?
j2se 
Reader Comments