Hi,

recently AppEngine introduced a YAML parser in its code. YamlBeans has
been chosen.

I tried to find some discussions, blog post, anything about the
criteria of the decision, but I could not find any. It would be really
helpful to know why YamlBeans and not SnakeYAML or other available java
libraries ? Were there any requirements YamlBeans met but others didn't?

I will try to summarise the strong points of SnakeYAML comparing to
YamlBeans:



- SnakeYAML tries to stay as close as possible to PyYAML. At the moment
it is guaranteed that any document valid for SnakeYAML is valid for
PyYAML and vice versa. It makes very easy to exchange the same document
between Java and Python. (even the problems are respected, see:
http://sourceforge.net/mailarchive/forum.php?thread_name=4C76B74C.7050009%40rhythm.com&forum_name=yaml-core)




- Informative error reporting is very important. SnakeYAML shows line
and column number in case of invalid YAML document.




- SnakeYAML is used by a number of projects like Maven, Cassandra etc
(http://code.google.com/p/snakeyaml/wiki/Usage)
- SnakeYAML implements the full 1.1 YAML specification. SnakeYAML tries
to follow the YAML recommendation in the parser implementation
(http://yaml.org/spec/1.1/#id859333)

- SnakeYAML has a bigger user community. Activity at Google Code: High.
Mailing list is much bigger (number of messages 296 vs 46). A lot of
discussion takes place at the issues (97 vs 4). There is some info at
the Stackoverflow:
http://stackoverflow.com/questions/450399/which-java-yaml-library-should-i-use

- SnakeYAML has more commiters and the source is regularly maintained.
There is a snapshot version deployed at Sonatype
(https://oss.sonatype.org/content/groups/public/org/yaml/snakeyaml/)




- SnakeYAML has 96% (!) code coverage (reported by cobertura:
http://snakeyamlrepo.appspot.com/releases/1.7/site/cobertura/index.html).
It makes the code very stable




- SnakeYAML maintains a comprehensive documentation and wiki.
(YamlBeans does not have any wiki). Some more comparison can be found
here: http://code.google.com/p/snakeyaml/wiki/Comparison




- SnakeYAML has many unique features which can be used in future
releases of AppEngine


The feedback may be very important to further improve other YAML
parsers. Knowing strong points of YAML parsers helps the whole user
community to come to the proper conclusion.

Feel free to ask support from the SnakeYAML community if AppEngine
decides to migrate :)

-

Andrey

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to