Hi

Thanks for your great feedback !
The tooling support for JRuby has worked well for me and would
probably still use JRuby even if there was a good native MRI neo4j
wrapper.
But I have a java background and might not be spoiled with that
instant feedback loop of doing behaviour driven development using MRI
Ruby. The JVM never has time to warm up when running the RSpec tests.
I guess it will always be slower than MRI for running tests (but not
otherwise). Neo4j.rb has 1400 RSpecs (with very few mocks). JRuby will
run them in about 1-2 minutes.
I guess the other problems like having a rails console with write
access to the database is solvable.
Thanks again for your feedback and I do agree with your criticism but
for me it's not that problematic.

Cheers
Andreas

On Thu, Dec 8, 2011 at 9:48 AM, Dmytrii Nagirniak <dna...@gmail.com> wrote:
> Hi Guys,
>
> Just want to quickly give some feedback on the neo4j after some evaluation.
>
> Overall, I like the neo4j a lot, but have decided not to use it.
>
> Probably the primary reason is the tooling around Ruby. Don't get me wrong. 
> The neo4j.rb is just amazing. It really is.
> I even contributed couple of Pull Requests (and those were accepted).
>
> The problem is in neo4j Java roots. The only option for me was to use JRuby 
> (will say a word on REST later).
> But unfortunately choosing JRuby is just too troublesome and give much more 
> headache comparing to "normal" C/MRI Ruby.
>
> Everything is so much harder (even speed is x times slower).
>
> On "normal" (MRI 1.9.3) Ruby I run all the specs immediately, after saving a 
> file. Immediate feedback.
> With JRuby I'd have to wait for almost half a minute. TDD is gone. Not good 
> enough. But this is just the first "issues" that I faced.
>
> A lot of other libraries just don't work with.
> There are always small walls on my way that I have to break through, that 
> would never happen with normal Ruby.
> It just gives me a lot of pain.
>
> Unfortunately I couldn't see a lot of value in the REST API either.
> The core operations that are taken for granted with native bindings 
> (traversals using poor Ruby constructs) would require to execute HTTP request 
> (that's what SELECT N+1 in SQL world is).
> Or otherwise I would have to wrap all the logic in the traversal queries. It 
> would significantly overcomplicate the system with HTTP handling logic.
>
> Also there are no decent HTTP restful clients. The only one is neography - 
> that works pretty well, but doesn't give me any abstraction similar to 
> neo4j.rb.
> There is also neology. I declare it dead, I couldn't even run tests because a 
> dependent gem was removed from the author's own github repository.
> So I even had no way to fix any issues there.
>
> Last one - architect4r - good idea behind. But the abstractions are leaky. 
> You can't make system more or less performant without resorting to HTTP.
> I also did minor contribution to it (accepted PR). But since then the author 
> never replied to my tweets, neither he replied to emails.
> Maybe he's just sick or something else, but that's what we have.
> And there were failing specs all over the place.
>
> So I decided to write another REST library 
> (http:://github.com/dnagir/morpheus), but then gave up realising that you 
> just cannot have a proper abstraction over HTTP.
> (I'll probably kill off that repo).
>
>
> So all in all, to summarise: I am giving up on neo4j because it forces me 
> into Java world to leverage its full power.
> I could have agreed on that if I would be a Java dev. But there is nothing in 
> this world that can convince me to choose Java instead of Ruby (maybe other 
> langs in the future).
>
> But what DO have to mention is the dedication of people around neo4j. 
> Everybody tried their best to help.
> And that feels like everybody within Neo Technologies has common vision and 
> is really passionate and keen to help.
> I can't remember any other company that would be so dedicated.
>
> I would really love to use neo4j, but unfortunately I can't do that until it 
> will be available as native binding for C Ruby.
>
> And as a lost note, I want to say THANKS to the neo4j community for the great 
> and amazing support you all guys give.
>
> Cheers,
> Dmytrii
> http://www.ApproachE.com
>
>
>
>
> _______________________________________________
> NOTICE: THIS MAILING LIST IS BEING SWITCHED TO GOOGLE GROUPS, please register 
> and consider posting at https://groups.google.com/forum/#!forum/neo4j
>
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
_______________________________________________
NOTICE: THIS MAILING LIST IS BEING SWITCHED TO GOOGLE GROUPS, please register 
and consider posting at https://groups.google.com/forum/#!forum/neo4j

Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to