diff --git a/README.md b/README.md index 418ea44..dca69f1 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,22 @@ library, is not thread-safe and problematic to install on certain platforms (apparently). I don't want to compile libxml2 every time I install Nokogiri either. +To give an example about the issues with Nokogiri on Rubinius (or any other +Ruby implementation that is not MRI or JRuby), take a look at these issues: + +* https://github.com/rubinius/rubinius/issues/2957 +* https://github.com/rubinius/rubinius/issues/2908 +* https://github.com/rubinius/rubinius/issues/2462 +* https://github.com/sparklemotion/nokogiri/issues/1047 +* https://github.com/sparklemotion/nokogiri/issues/939 + +Some of these have been fixed, some have not. The core problem remains: +Nokogiri acts in a way that there can be a large number of places where it +*might* break due to throwing around void pointers and what not and expecting +that things magically work. Note that I have nothing against the people running +these projects, I just heavily, *heavily* dislike the resulting codebase one +has to deal with today. + Ox looks very promising but it lacks a rather crucial feature: parsing HTML (without using a SAX API). It's also again a C extension making debugging more of a pain (at least for me). @@ -86,7 +102,7 @@ writing it in Ruby we don't have to deal with all the crazy things of C/C++ or even Java. In theory it should also allow it to run on every Ruby implementation, be it -Jruby, Rubinius, Topaz or even mruby. +JRuby, Rubinius, Topaz or even mruby. [nokogiri]: https://github.com/sparklemotion/nokogiri [oga-wikipedia]: https://en.wikipedia.org/wiki/Japanese_saw#Other_Japanese_saws