JBoss Seam, Stripes and Hibernate: An Irreverent Look at Java Software Frameworks & RoR JBoss Seam, Stripes y Hibernate: Una irreverente Vea el software de Java Marcos & RoR
What is it with all these frameworks? ¿De qué se trata con todos estos marcos? Why can’t JBoss Seam or even good ‘ol Hibernate give me a simple HelloWorld example anymore? ¿Por qué no puede JBoss Seam ni siquiera buena "ol Hibernate me da un simple ejemplo HelloWorld más?
Also have you noticed how complex it is to setup the whole JBoss Seam in the first place? También se ha notado cómo el complejo es configurar el conjunto de JBoss Seam, en primer lugar?
I am a simple person and Stripes looks much simpler. Soy una persona sencilla y Stripes se ve mucho más simple. They also have a HelloWorld or Calculator, an absolutely simple example which you can build upon and play with. También tienen una HelloWorld o calculadora, un ejemplo absolutamente simple que se puede aprovechar y jugar con. Also note how the examples are built without database requirement to setup. También tenga en cuenta los ejemplos de cómo se construyó la base de datos sin necesidad de configuración. It took me about 5 minutes to setup and run the first example. Me llevó unos 5 minutos para configurar y ejecutar el primer ejemplo. If I were to judge a software solely by its documentation, JBoss Seam fails. Si tuviera que juzgar un software exclusivamente en función de su documentación, JBoss Seam no.
I dabbled with Hibernate before. I dabbled con Hibernate antes. Now I need to wet my feet again and I remembered an old question. Ahora tengo que mojado mis pies de nuevo y me acordé de una vieja cuestión. Why in the world did they have to develop a query language like SQL? ¿Por qué en el mundo no tienen que desarrollar un lenguaje de consultas SQL, como? Why not SQL? ¿Por qué no SQL?
The problem with Seam or Hibernate type documentation is that they are not organized with readers in mind, they don’t take the readers step by step into the labyrinth of the mess they have created wonderful software they have created. El problema con el cierre o Hibernate tipo de documentación es que no están organizados con los lectores en mente, no tienen los lectores paso a paso en el laberinto del lío que han creado maravilloso software que han creado.
Reading each paragraph convinces you that the author was in real hurry , like in the last throes of death, while he was writing these chapters. La lectura de cada apartado convence de que el autor se encontraba en real apuro, como en el último medio de la muerte, mientras él estaba escribiendo estos capítulos. It makes such chapters almost humanly impossible to understand without feeling absolute disgust and revulsion about software development in general. Hace tales capítulos casi humanamente imposible de entender sin tener la sensación de absoluta indignación y repulsa sobre el desarrollo de software en general. They make development a chore, a never-ending horror story. Ellos hacen una tarea de desarrollo, un sin fin historia de horror. Everything and their great-anchestors are crammed into these chapters. Todo y su gran-anchestors están hacinados en estos capítulos.
The only purpose they serve is to convince the readers to cough up and buy their books. El único propósito que sirven es para convencer a los lectores para la tos y hasta comprar sus libros.
Do you know why RoR flourish? ¿Sabe por qué RoR florecer? Not because they have something great or convoluted. No porque tengan algo grande o tortuoso. It is because one fine guy has taken the time to create a framework which makes it simpler to develop applications and not make it even more complex than the problem it solves. Es porque un buen chico ha tomado el tiempo para crear un marco que le hace más sencilla para desarrollar aplicaciones y no lo hacen aún más compleja que el problema que resuelve.
Hibernate and Seams team should read RoR and Stripes documentation before they embark on a massive rewrite of their tomes. Hibernate y costuras equipo debe decir RoR Stripes y la documentación antes de embarcarse en una masiva reescritura de sus tomos.
Even PHP Manual is a tome but a very readable tome. Incluso Manual de PHP es un tomo, sino un tomo muy legible. Tomes don’t have to be PITA. Tomos no tienen que ser PITA.
One drawback with Stripes documentation is that it is still minimal. Un inconveniente con la documentación Stripes es que todavía es mínima. Tag library javadoc doesn’t substitute for documentation. Etiqueta biblioteca javadoc no sustituir a la documentación.
All in all I highly recommend Stripes framework. Con todo lo recomiendo Stripes marco. It solves only half of the puzzle which RoR solves fully. Se resuelve sólo la mitad del rompecabezas que RoR resuelve plenamente. However it does it very well, even better than RoR. Sin embargo lo hace muy bien, incluso mejor que RoR.
With the other half completed, RoR will finally stop roaring so much Con la otra mitad terminó, RoR finalmente detener tanto rugido ![]()
To All Framework Authors: Please for the love of whoever you love take the effort to make something simple and elegant. Para Todos Marco Autores: Por favor, por el amor de quien le gusta tomar el esfuerzo de hacer algo sencillo y elegante. And please spend twice as much time writing documentation which are for human consumption. Y por favor, pasar dos veces la misma cantidad de tiempo escribiendo documentación que son para el consumo humano. Please read K&R, PHP Manual etc. to get a hang on writing easy to understand and interesting documents. Por favor, lea K & R, etc Manual de PHP para obtener un cuelgue en la escritura de fácil comprensión e interesantes documentos.
BTW: Hibernate with Annotation has a nice thing going, if only they knew how to document clearly. BTW: Hibernate con anotación tiene una bonita cosa pasa, si sólo supieran cómo documentar con claridad.
If there is one thing I really hate about today’s java software frameworks, it is their documentation. Si hay una cosa que realmente odio al día de hoy sobre el software de Java marcos, es su documentación. The bottomline is framework must make our life simpler. El bottomline es marco debe hacer nuestra vida más simple.
To summarize the points that can be addressed while documenting frameworks are. Para resumir los puntos que pueden abordarse al mismo tiempo la documentación de los marcos.
- Start with a simple example; very simple one Comience con un ejemplo sencillo, muy simple
- Say a simple story and carry it through the spectrum of broad capabilities Decir una historia simple y lo lleva a través del amplio espectro de capacidades
- Now delve in the complex details and exceptions and overrides. Ahora profundizar en los complejos detalles y excepciones y redefiniciones.
- Stop flaunting your expertise. Stop flaunting sus conocimientos.
In times such as this I head over to bile blog. En momentos como este me la cabeza a más de bilis blog. He knows the pain which most framework developers (with the exception of Stripes and RoR) don’t. Él sabe el dolor que marco la mayoría de los desarrolladores (con la excepción de los Stripes y RoR) no lo hacen.
Update: An article without an example is bland. Actualización: Un artículo sin un ejemplo de ello es anodino. So let me illustrate with a simple example from Seam. Así que permítanme ilustrar con un ejemplo sencillo de costura.
The heading of the chapter is: Chapter 2. El título del capítulo es la siguiente: Capítulo 2. Seam concepts Seam conceptos
The two core concepts in Seam are the notion of a context and the notion of a component. Los dos conceptos fundamentales en Seam son la noción de un contexto y la noción de un componente. Components are stateful objects, usually EJBs, and an instance of a component is associated with a context, and given a name in that context. Componentes de estado son objetos, por lo general EJBs, y una instancia de un componente se asocia con un contexto, y dado un nombre en ese contexto. Bijection provides a mechanism for aliasing internal component names (instance variables) to contextual names, allowing component trees to be dynamically assembled, and reassembled by Seam. Bijection proporciona un mecanismo para aliasing componente interno nombres (variables de instancia) a contextual nombres, lo que permite componente árboles para ser ensamblados dinámicamente, y montarlo de cierre.
Read it once, twice and then tell me if you understand what they are talking about. Leer una vez, dos veces y, a continuación, dígame si usted entiende lo que están hablando. To me it reads like incoherent rambling of technical jargon, not a documentation. Para mí, se lee como incoherente senderismo de la jerga técnica, no una documentación.
First “context” in this context is not defined despite being mentioned. Primera "contexto" en este contexto no está definida a pesar de ser mencionado. Then they simply include it in a sentence. Luego simplemente incluirlo en una frase.
“Components are stateful objects, usually EJBs, and an instance of a component is associated with a context, and given a name in that context.” "Los componentes son objetos de estado, por lo general EJBs, y una instancia de un componente se asocia con un contexto, y dado un nombre en ese contexto."
I don’t know where to begin. No sé por dónde empezar. Is it too much to expect a proper and meaningful yet simple sentence? ¿Es demasiado esperar que un adecuado y significativo aún simple frase?
“Bijection provides a mechanism for aliasing internal component names (instance variables) to contextual names, allowing component trees to be dynamically assembled, and reassembled by Seam.” "Bijection proporciona un mecanismo para aliasing componente interno nombres (variables de instancia) a contextual nombres, lo que permite componente árboles para ser ensamblados dinámicamente, y montarlo de cierre."
Why wasn’t “bijection” introduced earlier? ¿Por qué no se "bijection" presentado anteriormente? What is the context? ¿Cuál es el contexto?
This strange sentence probably makes sense only to a Seams developer. Esta extraña frase probablemente tiene sentido sólo a un desarrollador de costuras.
Are they being penalized to write simple meaningful sentences? ¿Están siendo sancionados a escribir oraciones simples significativa? Have they read their own documentation ever? ¿Han leído su propia documentación nunca? Or have their brain become soft working on frameworks so as not to be able to comprehend the problem? O se han convertido en su cerebro blando en los marcos de trabajo a fin de no ser capaz de comprender el problema?
This is merely the tip of iceberg. Esto no es más que la punta del iceberg. Such haphazard, poor quality documentation is all throughout. Esa azarosa, la mala calidad de la documentación es todo en todo.
Filed under Filed under Headline News Headline News , Java Software El software de Java , PHP , Web | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | este artículo |
Email this Article Enviar artículo
You may also like to read También puede leer |





October 25th, 2005 at 10:47 am 25 de octubre de 2005, a las 10:47 am
Interesting, that’s the first time so far I read a global negative feedback on Hibernate Annotations documentation. Interesante, esa es la primera vez hasta la fecha he leído una retroalimentación negativa a Hibernate Anotaciones documentación. This is usually the opposite, and the opposite on the Hibernate doc as a whole. Este suele ser el contrario, y en sentido contrario a la Hibernate doc en su conjunto. So maybe that’s just you esp since you had to use more than 500 words to express this idea Así que tal vez sólo usted esp ya se tenía que utilizar más de 500 palabras para expresar esta idea
BTW, you should now that writing a book is a real PITA and don’t really feed you. BTW, usted debe ahora que escribir un libro es una auténtica PITA y realmente no pienso que usted. So such evil plan just does not make sense. Así por ejemplo el mal plan simplemente no tiene sentido.
October 25th, 2005 at 11:58 am 25 de octubre de 2005, a las 11:58 am
@Emmanuel Emmanuel @
It would be great if it is only me, but I seriously doubt it. Sería muy bueno si es sólo conmigo, pero yo dudo seriamente. The documentation may look great to you as you are possibly immersed in hibernate. La documentación podrá ver a grandes como usted es, posiblemente, inmerso en hibernate. But look at it, or ask someone to, from the perspective of an outsider wishing to learn this framework (possibly on a deadline). Pero mire, o pídale a alguien que, desde la perspectiva de un outsider que deseen aprender este marco (posiblemente en un plazo).
> So maybe that’s just you esp since you had to use more than 500 words to express this idea > Por lo tanto, quizás eso es sólo usted esp ya que tenía que utilizar más de 500 palabras para expresar esta idea
I used 500 words that to cover Hibernate (with/without) annotations, Stripes and Seams He utilizado las 500 palabras que para cubrir Hibernate (con / sin) anotaciones, Stripes y Costuras
I do know Hibernate. Que sí sé Hibernate. It is Hibernate with Annotations which is new to me. Es Hibernate con las anotaciones que es nuevo para mí.
> you should now that writing a book is a real PITA and don’t really feed you. > Usted debe ahora que escribir un libro es una auténtica PITA y realmente no pienso que usted. So such evil plan just does not make sense. Así por ejemplo el mal plan simplemente no tiene sentido.
I am running out of ideas to explain such painfully hard-to-read docs. Estoy acabando de ideas para explicar tales dolorosamente difíciles de leer documentos. You can possibly help me to understand why it is so. Puede posiblemente me ayudan a entender por qué es así.
The problem is not that they do not contain information. El problema no es que no contienen la información. They do. Ellos hacen. However it is not clearly presented in a phased manner. Sin embargo, no es presentado claramente en forma gradual. They are just crammed haphazardly. Sólo son hacinados azar. Please consider revising the docs with some professional technical writers. Por favor, considerar la posibilidad de revisar los documentos con algunos redactores técnicos profesionales.
I tried to summarize at the end how I think the docs can be improved. He intentado hacer un resumen al final cómo Creo que la documentación se puede mejorar. You can probably take a leaf out of Picocontainer’s idea of 1-minute introduction, 2-minute introduction and 5-minute tutorial etc. Usted probablemente puede tener una hoja de Picocontainer la idea de 1 minuto introducción, con 2 minutos de introducción y 5 minutos de tutorial, etc
Look at it this way. Mire que de esta manera. You guys have spent lots of time in creating a good framework which have own critical acclaim. Ustedes han pasado mucho tiempo en crear un buen marco que han propia aclamación de los críticos. Would’t you like to make it easier for people to understand? Would't que te gusta para que sea más fácil que la gente entienda?
October 26th, 2005 at 1:03 pm 26 de octubre de 2005, a las 1:03 pm
Quality of documentation is something I’ve spend quite a bit of time thinking about over the years, and I think it boils down to something very simple. Calidad de la documentación es algo que he gastar un poco de tiempo pensando en lo largo de los años, y creo que se reduce a algo muy simple. You have to write documentation that is structured in the manner your reader needs it. ¡Tienes que escribir la documentación que se ha estructurado en la forma para que el lector lo necesita. The easiest way to write documentation is to write it in a structure parallel to your software. La forma más fácil de escribir documentación es escribir en una estructura paralela a su software. That leads to more of a reference, which is only useful once you already know your way around. Eso conduce a más de una referencia, que sólo es útil una vez que ya sabes cómo. And you still have to piece lots of things together when you want to get something done. Y usted todavía tiene a pieza muchas cosas juntos cuando quiera conseguir algo hecho.
My approach these days is to think through the question “what are my users going to be trying to do” and then write documents about that. Mi planteamiento en estos días es pensar a través de la pregunta "¿cuáles son mis usuarios va a estar tratando de hacer" y, a continuación, escribir documentos al respecto. I’m glad you like the results Me alegro de que te gusta los resultados
-Tim Fennell - Tim Fennell
stripes: franjas: http://stripes.mc4j.org
October 26th, 2005 at 11:37 pm 26 de octubre de 2005, a las 11:37 pm
@Tim Tim @
> You have to write documentation that is structured in the manner your reader needs it. > Tienes que escribir la documentación que se ha estructurado en la forma para que el lector lo necesita.
I fully agree with you. Estoy totalmente de acuerdo con usted. This is also the reason why documentation shouldn’t be created by developers in the first place. Esta es también la razón por la cual la documentación no debe ser creado por los desarrolladores en el primer lugar.
Writing good documentation is art. Escribir buena documentación es arte. Who are my readers? Que son mis lectores? What are their use cases? ¿Cuáles son sus casos de uso? How easy can I make it for them. ¿Qué tan fácil se puede hacer por ellos. As we write use cases for development, I think we should write use cases for documentation too. Como escribimos casos de uso para el desarrollo, creo que deberíamos escribir casos de uso de documentación.
@Emmanuel Emmanuel @
> BTW, you should now that writing a book is a real PITA and don’t really feed you. > BTW, usted debe ahora que escribir un libro es una auténtica PITA y realmente no pienso que usted.
Unless you are Mrs. Rowling or Vikram Seth A menos que esté Señora Rowling o Vikram Seth
February 19th, 2006 at 8:06 pm Febrero 19, 2006 a las 8:06 pm
Testimonials Testimonios
Introduction Since Stripes was released in September 2005 people have been saying a lot of nice things about it. Introducción Desde Stripes fue puesto en libertad en septiembre de 2005 personas han estado diciendo un montón de cosas bonitas al respecto. This page pulls together some quotes from people who have found Stripes one way or another and, unsolicited,… Esta página reúne algunas citas de personas que han encontrado Stripes una manera u otra y, no solicitadas,…
June 29th, 2006 at 3:47 am 29 de junio de 2006, a las 3:47 am
There are some bugs in the Stripes Framework. Hay algunos errores en el marco Stripes.
(i) I have given (i) que he dado
@Id SetId(){} and getId(){} methods in Entity Class and extended the in my POJO. Id @ SetId () () y getId () () métodos en la clase de entidad y prorrogó el POJO en mi. Stripes is not accessing the methods of its superclass of POJO. Stripes no es el acceso a los métodos de su superclase de POJO.
(ii) I am putting a object in memory using wizard forms. (ii) estoy colocando un objeto en la memoria usando formas asistente. But it is retaining the values across the pages. Sin embargo, es mantener los valores a través de las páginas.
Hope someone give some solution to these problems. Espero que alguien dé alguna solución a estos problemas.
thank, gracias,
prasd
September 13th, 2006 at 7:02 am Septiembre 13, 2006 a las 7:02 am
Stripes Around The Web Stripes en torno a la Web
Libraries Built With Stripes Reflection Facets Bibliotecas construido con franjas reflexión facetas
November 2nd, 2006 at 6:04 am 2 de noviembre de 2006, a las 6:04 am
Nice article. Niza artículo. the only thing that i can do is just agree with you. la única cosa que puedo hacer es sólo de acuerdo con usted. Just read the seam documentation for setting up a simple project. Acaba de leer la documentación costura para la creación de un simple proyecto. Or just test their examples and try to debug them if something goes wrong. O simplemente probar sus ejemplos y tratar de depurar si algo va mal. Bad documentation is not better than no documentation. Bad documentación no es mejor que no tener ninguna documentación. I believe the best way to document a framework is to provide really stupid samples and example projects. Creo que la mejor forma de documento es un marco para proporcionar realmente estúpido muestras y proyectos de ejemplo.
December 4th, 2006 at 9:59 am 4 de Diciembre, 2006 a las 9:59 am
I agree with you on “The problem with Seam or Hibernate type documentation is that they are not organized with readers in mind, they don’t take the readers step by step into the labyrinth of the mess they have created wonderful software they have created.” Estoy de acuerdo con usted sobre "El problema con el cierre o Hibernate tipo de documentación es que no están organizados con los lectores en mente, no tienen los lectores paso a paso en el laberinto del lío que han creado maravilloso software que han creado. "