JBoss Seam, Stripes and Hibernate: An Irreverent Look at Java Software Frameworks & RoR JBoss Seam, Stripes et Hibernate: Une Irreverent Regardez logiciel Java cadres et RoR
What is it with all these frameworks? Qu'est-ce que c'est avec tous ces cadres? Why can’t JBoss Seam or even good ‘ol Hibernate give me a simple HelloWorld example anymore? Pourquoi ne puis-JBoss Seam ou même bon 'ol Hibernate me donner un exemple simple "Bonjour plus?
Also have you noticed how complex it is to setup the whole JBoss Seam in the first place? Aussi avez-vous remarqué combien il est complexe à mettre en place l'ensemble de JBoss Seam, en premier lieu?
I am a simple person and Stripes looks much simpler. Je suis une personne simple et Stripes semble beaucoup plus simple. They also have a HelloWorld or Calculator, an absolutely simple example which you can build upon and play with. Ils ont également une calculatrice ou "Bonjour, tout à fait un exemple simple que vous pouvez mettre à profit et jouer avec. Also note how the examples are built without database requirement to setup. Notez également comment les exemples sont construites sans exigence de base de données à mettre en place. It took me about 5 minutes to setup and run the first example. Il m'a fallu environ 5 minutes pour la configuration et lancez le premier exemple. If I were to judge a software solely by its documentation, JBoss Seam fails. Si je devais juger un logiciel uniquement par sa documentation, de JBoss Seam échoue.
I dabbled with Hibernate before. Je dabbled avec Hibernate avant. Now I need to wet my feet again and I remembered an old question. Maintenant j'ai besoin de mouiller à nouveau mes pieds et je me suis souvenu d'une vieille question. Why in the world did they have to develop a query language like SQL? Pourquoi dans le monde ont-ils développer un langage de requête comme SQL? Why not SQL? Pourquoi ne pas 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. Le problème avec couture ou la documentation de type Hibernate est qu'ils ne sont pas organisés avec les lecteurs à l'esprit, ils ne sont pas le lecteur pas à pas dans le labyrinthe du mess, ils ont créé merveilleux logiciel qu'ils ont créé.
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. Chaque paragraphe de lecture vous convainc que l'auteur a été pressé dans la réalité, comme dans les dernières affres de la mort, alors qu'il a été écrit ces chapitres. It makes such chapters almost humanly impossible to understand without feeling absolute disgust and revulsion about software development in general. Il rend ces chapitres presque humainement impossible de comprendre sans sentiment absolu dégoût et de rejet sur le développement de logiciels en général. They make development a chore, a never-ending horror story. Ils faire du développement une corvée, jamais une fin histoire d'horreur. Everything and their great-anchestors are crammed into these chapters. Tout, ainsi que leur grande anchestors-sont entassés dans ces chapitres.
The only purpose they serve is to convince the readers to cough up and buy their books. Le seul but est qu'ils servent à convaincre les lecteurs de toux et acheter leurs livres.
Do you know why RoR flourish? Savez-vous pourquoi RoR s'épanouir? Not because they have something great or convoluted. Non parce qu'ils ont quelque chose de grand ou alambiqué. 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. C'est parce que un beau mec a pris le temps de créer un cadre qui rend plus facile à développer des applications et de ne pas rendre encore plus complexe que le problème qu'il n'en résout.
Hibernate and Seams team should read RoR and Stripes documentation before they embark on a massive rewrite of their tomes. Hibernate et Coutures équipe doit se lire RoR Stripes et la documentation avant de se lancer dans une réécriture massive de leurs tomes.
Even PHP Manual is a tome but a very readable tome. Même Manuel PHP est un tome, mais un tome très lisible. Tomes don’t have to be PITA. Tomes n'ont pas à être pita.
One drawback with Stripes documentation is that it is still minimal. Un inconvénient de la documentation Stripes qu'il est encore minime. Tag library javadoc doesn’t substitute for documentation. Des tags javadoc bibliothèque ne se substitue pas pour la documentation.
All in all I highly recommend Stripes framework. Dans l'ensemble, je recommande vivement Stripes cadre. It solves only half of the puzzle which RoR solves fully. Il résout que la moitié du puzzle qui résout entièrement RoR. However it does it very well, even better than RoR. Mais elle le fait très bien, même mieux que RoR.
With the other half completed, RoR will finally stop roaring so much Avec l'autre moitié, RoR va enfin cesser de rugir tellement ![]()
To All Framework Authors: Please for the love of whoever you love take the effort to make something simple and elegant. Pour Tous les Auteurs-cadre: S’il vous plaît pour l'amour de celui qui vous aimez prendre l'effort de faire quelque chose de simple et élégant. And please spend twice as much time writing documentation which are for human consumption. Et s’il vous plaît passer deux fois plus de temps à écrire de la documentation qui sont destinées à la consommation humaine. Please read K&R, PHP Manual etc. to get a hang on writing easy to understand and interesting documents. S’il vous plaît lire K & R, etc Manuel PHP pour obtenir un blocage sur l'écriture facile à comprendre et documents intéressants.
BTW: Hibernate with Annotation has a nice thing going, if only they knew how to document clearly. BTW: Hibernate avec l'annotation a une bonne chose en cours, si seulement ils savaient comment documenter clairement.
If there is one thing I really hate about today’s java software frameworks, it is their documentation. S'il ya une chose que je n'ai aujourd'hui le logiciel Java de cadres, il est leur documentation. The bottomline is framework must make our life simpler. Le fond est cadre doit rendre notre vie plus simple.
To summarize the points that can be addressed while documenting frameworks are. Pour résumer les points qui peuvent être traitées alors que les cadres sont documenter.
- Start with a simple example; very simple one Commencez par un exemple simple, très simple
- Say a simple story and carry it through the spectrum of broad capabilities Dire une histoire simple et le transporter grâce à la large spectre de capacités
- Now delve in the complex details and exceptions and overrides. Maintenant, plonger dans les détails complexes et les exceptions et dérogations.
- Stop flaunting your expertise. Arrêtez votre savoir-faire étalage.
In times such as this I head over to bile blog. Dans les périodes comme celle-ci que je dirige à la bile blog. He knows the pain which most framework developers (with the exception of Stripes and RoR) don’t. Il sait la douleur que la plupart des développeurs cadre (à l'exception de bandes et RoR) ne le font pas.
Update: An article without an example is bland. Mise à jour: Un article sans un exemple est fade. So let me illustrate with a simple example from Seam. Alors permettez-moi d'illustrer avec un exemple simple de couture.
The heading of the chapter is: Chapter 2. Le titre du chapitre est la suivante: Chapitre 2. Seam concepts Notions de couture
The two core concepts in Seam are the notion of a context and the notion of a component. Les deux concepts de base sont en veine la notion de contexte et la notion d'un composant. Components are stateful objects, usually EJBs, and an instance of a component is associated with a context, and given a name in that context. Les composants sont des objets état, généralement EJB, et un exemple d'un composant est associé à un contexte, et étant donné un nom dans ce contexte. 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 fournit un mécanisme de repliement des noms composant interne (variables d'instance) de noms contextuels, arbres composant permettant d'être assemblés dynamiquement, et rassemblés par des coutures.
Read it once, twice and then tell me if you understand what they are talking about. Lisez-le une fois, deux fois, puis dites-moi si vous comprendre de quoi ils parlent. To me it reads like incoherent rambling of technical jargon, not a documentation. Pour moi, il se lit comme incohérent randonnée de jargon technique, pas une documentation.
First “context” in this context is not defined despite being mentioned. Première "contexte" dans ce contexte n'est pas définie alors qu'elle est mentionnée. Then they simply include it in a sentence. Ensuite, ils ont simplement l'inclure dans une phrase.
“Components are stateful objects, usually EJBs, and an instance of a component is associated with a context, and given a name in that context.” "Les composants sont des objets état, généralement EJB, et un exemple d'un composant est associé à un contexte, et étant donné un nom dans ce contexte."
I don’t know where to begin. Je ne sais pas par où commencer. Is it too much to expect a proper and meaningful yet simple sentence? Est-ce trop d'espérer un bon et utile, mais simple phrase?
“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 fournit un mécanisme de repliement des noms composant interne (variables d'instance) de noms contextuels, arbres composant permettant d'être assemblés dynamiquement, et rassemblés par des coutures."
Why wasn’t “bijection” introduced earlier? Pourquoi at-on pas "bijection" présenté plus tôt? What is the context? Quel est le contexte?
This strange sentence probably makes sense only to a Seams developer. Cette phrase étrange probablement n'a de sens que pour un développeur Coutures.
Are they being penalized to write simple meaningful sentences? Sont-ils être pénalisés à écrire des phrases simples sens? Have they read their own documentation ever? Ont-ils lire leur propre documentation jamais? Or have their brain become soft working on frameworks so as not to be able to comprehend the problem? Ou ont leur cerveau devient mou de travail sur les cadres afin de ne pas être en mesure de comprendre le problème?
This is merely the tip of iceberg. Ce n'est que la pointe de l'iceberg. Such haphazard, poor quality documentation is all throughout. Ces hasard, la mauvaise qualité de la documentation est dans tout.
Filed under Classé sous Headline News Headline News , Java Software Logiciel de Java , PHP , Web | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | cet article |
Email this Article Envoyer cet article
You may also like to read Vous mai également à lire |




October 25th, 2005 at 10:47 am 25 octobre 2005 à 10:47 am
Interesting, that’s the first time so far I read a global negative feedback on Hibernate Annotations documentation. Intéressant, c'est la première fois à ce jour, j'ai lu un rétrocontrôle négatif sur la documentation Hibernate Annotations. This is usually the opposite, and the opposite on the Hibernate doc as a whole. C'est généralement le contraire, et dans le sens inverse sur la doc d'Hibernate dans son ensemble. So maybe that’s just you esp since you had to use more than 500 words to express this idea Donc, c'est peut-être juste vous esp car il fallait utiliser plus de 500 mots pour exprimer cette idée
BTW, you should now that writing a book is a real PITA and don’t really feed you. BTW, vous devriez maintenant que le fait d'écrire un livre est un véritable PITA et ne pas vraiment vous nourrir. So such evil plan just does not make sense. Ainsi, ces mal juste plan n'a pas de sens.
October 25th, 2005 at 11:58 am 25 octobre 2005 à 11:58 am
@Emmanuel @ Emmanuel
It would be great if it is only me, but I seriously doubt it. Il serait très bien si c'est seulement moi, mais je doute sérieusement. The documentation may look great to you as you are possibly immersed in hibernate. La documentation mai fière allure à vous que vous êtes peut-être immergé dans l'hibernation. But look at it, or ask someone to, from the perspective of an outsider wishing to learn this framework (possibly on a deadline). Mais regardez de plus près, ou demander à quelqu'un, dans la perspective d'un étranger désireux d'en apprendre ce cadre (peut-être sur une date limite).
> So maybe that’s just you esp since you had to use more than 500 words to express this idea > Donc, c'est peut-être juste vous esp car il fallait utiliser plus de 500 mots pour exprimer cette idée
I used 500 words that to cover Hibernate (with/without) annotations, Stripes and Seams J'ai utilisé que 500 mots pour couvrir Hibernate (avec / sans) les annotations, Stripes et les coutures
I do know Hibernate. Je sais Hibernate. It is Hibernate with Annotations which is new to me. Il est avec Hibernate Annotations qui est nouveau pour moi.
> you should now that writing a book is a real PITA and don’t really feed you. > Vous devriez maintenant que le fait d'écrire un livre est un véritable PITA et ne pas vraiment vous nourrir. So such evil plan just does not make sense. Ainsi, ces mal juste plan n'a pas de sens.
I am running out of ideas to explain such painfully hard-to-read docs. Je suis à court d'idées pour expliquer une telle douloureusement difficiles à lire-docs. You can possibly help me to understand why it is so. Vous pouvez peut-être m'aider à comprendre pourquoi il en est ainsi.
The problem is not that they do not contain information. Le problème n'est pas qu'ils ne contiennent pas d'informations. They do. Ils le font. However it is not clearly presented in a phased manner. Toutefois, il n'est pas clairement présenté de manière progressive. They are just crammed haphazardly. Ils sont entassés au hasard seulement. Please consider revising the docs with some professional technical writers. S’il vous plaît envisager de revoir la documentation de certains professionnels de rédacteurs techniques.
I tried to summarize at the end how I think the docs can be improved. J'ai essayé de résumer à la fin comment je pense que la documentation peut être améliorée. You can probably take a leaf out of Picocontainer’s idea of 1-minute introduction, 2-minute introduction and 5-minute tutorial etc. Vous pouvez probablement prendre une feuille de PicoContainer l'idée de 1 minute introduction, 2 minutes d'introduction et de 5 minutes tutoriel etc
Look at it this way. Regardez cette façon. You guys have spent lots of time in creating a good framework which have own critical acclaim. Vous les gars ont passé beaucoup de temps dans la création d'un cadre qui ont leur propre critique. Would’t you like to make it easier for people to understand? Would't-vous pour le rendre plus facile pour les gens à comprendre?
October 26th, 2005 at 1:03 pm Octobre 26th, 2005 at 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. Qualité de la documentation est quelque chose que j'ai tout à fait passer un peu de temps à penser au cours des années, et je pense qu'il se résume à quelque chose de très simple. You have to write documentation that is structured in the manner your reader needs it. Vous devez écrire la documentation qui est structurée de la manière votre lecteur a besoin. The easiest way to write documentation is to write it in a structure parallel to your software. Le moyen le plus facile à écrire la documentation est de l'écrire dans une structure parallèle à votre logiciel. That leads to more of a reference, which is only useful once you already know your way around. Cela mène à plus d'un renvoi, qui n'est utile que lorsque vous connaissez déjà votre chemin. And you still have to piece lots of things together when you want to get something done. Et vous avez encore des morceaux beaucoup de choses en même temps lorsque vous voulez obtenir quelque chose.
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. Mon approche de ces journées est de réfléchir à la question «quels sont mes utilisateurs allons essayer de le faire", puis écrire des documents à ce sujet. I’m glad you like the results Je suis heureux que vous satisfait des résultats
-Tim Fennell Tim-Fennell
stripes: bandes: http://stripes.mc4j.org
October 26th, 2005 at 11:37 pm Octobre 26th, 2005 at 11:37 pm
@Tim Tim @
> You have to write documentation that is structured in the manner your reader needs it. > Vous avez à écrire la documentation qui est structurée de la manière votre lecteur a besoin.
I fully agree with you. Je suis entièrement d'accord avec vous. This is also the reason why documentation shouldn’t be created by developers in the first place. C'est aussi la raison pour laquelle la documentation ne doit pas être créé par les développeurs en premier lieu.
Writing good documentation is art. Écrit une bonne documentation est l'art. Who are my readers? Qui sont mes lecteurs? What are their use cases? Quelles sont leurs cas d'utilisation? How easy can I make it for them. Comment puis-je facilement faire pour eux. As we write use cases for development, I think we should write use cases for documentation too. Comme nous écrire cas d'utilisation pour le développement, je pense que nous devrions écrire des cas d'utilisation de la documentation.
@Emmanuel @ Emmanuel
> BTW, you should now that writing a book is a real PITA and don’t really feed you. > BTW, vous devriez maintenant que le fait d'écrire un livre est un véritable PITA et ne pas vraiment vous nourrir.
Unless you are Mrs. Rowling or Vikram Seth À moins que vous soyez Mme Rowling ou Vikram Seth
February 19th, 2006 at 8:06 pm Février 19th, 2006 at 8:06 pm
Testimonials Témoignages
Introduction Since Stripes was released in September 2005 people have been saying a lot of nice things about it. Introduction Depuis Stripes a été publié en Septembre 2005 Les gens ont dit beaucoup de belles choses à son sujet. This page pulls together some quotes from people who have found Stripes one way or another and, unsolicited,… Cette page rassemble quelques citations de personnes qui ont trouvé Stripes une manière ou d'une autre et, non sollicité,…
June 29th, 2006 at 3:47 am Juin 29th, 2006 at 3:47 am
There are some bugs in the Stripes Framework. Il ya quelques bugs dans le cadre Stripes.
(i) I have given (i) J'ai donné
@Id SetId(){} and getId(){} methods in Entity Class and extended the in my POJO. @ Id SetId () () et getId () () méthodes de la classe de l'entité et l'étendue de mon POJO. Stripes is not accessing the methods of its superclass of POJO. Stripes n'est pas l'accès aux méthodes de sa superclasse de POJO.
(ii) I am putting a object in memory using wizard forms. (ii) Je suis mettre un objet en mémoire en utilisant l'assistant formes. But it is retaining the values across the pages. Mais il conserve les valeurs à travers les pages.
Hope someone give some solution to these problems. Hope quelqu'un donner une solution à ces problèmes.
thank, remercier,
prasd
September 13th, 2006 at 7:02 am Septembre 13, 2006 at 7:02 am
Stripes Around The Web Stripes sur le web
Libraries Built With Stripes Reflection Facets Bibliothèques Construit en noir et blanc réflexion facettes
November 2nd, 2006 at 6:04 am 2 novembre 2006 à 6:04 am
Nice article. Nice article. the only thing that i can do is just agree with you. la seule chose que je peux faire, c'est tout d'accord avec vous. Just read the seam documentation for setting up a simple project. Il suffit de lire la documentation de couture la mise en place d'un simple projet. Or just test their examples and try to debug them if something goes wrong. Ou simplement tester leurs exemples et essayer de déboguer si quelque chose se passe mal. Bad documentation is not better than no documentation. Bad documentation n'est pas mieux que pas de documentation. I believe the best way to document a framework is to provide really stupid samples and example projects. Je crois que le meilleur moyen d'un document-cadre est de fournir des échantillons vraiment stupide et exemples de projets.
December 4th, 2006 at 9:59 am 4 décembre 2006 à 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.” Je suis d'accord avec vous sur «Le problème, avec des coutures type Hibernate ou la documentation est qu'ils ne sont pas organisés avec les lecteurs à l'esprit, ils ne sont pas le lecteur pas à pas dans le labyrinthe du mess, ils ont créé merveilleux logiciel qu'ils ont créé. "