Ruby is just PHP 2.0, or at least it seems that the same crowd that sweared by PHP few years ago, are attracted to it and "have seen the light". Every beginner is a "Rails" expert now. Same people, same crap will come out.
I like it a lot, and do not consider myself one of the "crap producing PHP crowd".
Also, how can you equate Ruby to PHP? They're very different in terms of philosophy and design. Ruby has all kinds of nice language features that make it a pleasure to use. PHP basically borrows things from here and there, and was never a very "inspired" programming language.
Why do you thing startup is using Rails? because they want to get rich fast by throwing their simple products faster.
People can't wait for 8 months to see their work comes to fruition.
Basically it's human nature to like Ruby on Rails, not because of the technical merit.
Hibernate is just another complexity with a steep curve, and it's propertary stuff to learn (HQL ?).
If you must do a ORM, I like Apache's Cayenne. It comes with a very nice utility, which creates everything for you. Much simpler than Hibernate.
Overrall I'd rather not use java. Python seems a much better fit for web development, thou it's most popular framework, Django, suffers a lot of the same stuff as Rails.
And Ruby is an ugly language. Too perl-ish.
Hibernate does one thing, and does it well. With the annotations, it has improved even more. What parts of it do you consider magic? Magic is not necessarily a bad thing - I like the magic of higher level programming languages that shield me from the gory details of assembly language. I just don't like it if code is not readable anymore without knowing the magic.
I will look into Cayenne on occasion. Hibernate is the industry standard now, though, and for a good reason in my opinon.
I would like to move to a more dynamic language, though...
Maybe using GORMS (the ORM from Grails, based on Hibernate) standalone in a Java project would be nice.
Definately a taste thing, but I would agree (having done a bit of both over the last year). Ruby OO is nice, but then OO is often the cause of problems for me (python makes quasi functional styles easy).
People don't really use XML with hibernate (and haven't for some years from what I see). Hibernate does try to cater for every corner case though (perhaps the cause of the "bloat"). But its the 80/20 rule again - most people only want 20% of the features, the problem is that every one wants a different 20% (hence you get subjective bloat).
Ruby is PHP 2.0? Have you spent any time with Ruby, or have you only looked at Rails, one of several Ruby Web frameworks?
I suspect few ex-PHPers are doing straight-up Ruby coding.
http://www.symfony-project.com/blog/2007/10/02/delicious-pre...
Why would they choose that??
Give it a shot for your own edification - a lot of making a rails app is the command line: install ... The lightweight plugins are just beautiful, and they would only be possible with Ruby or a language like it. It really makes your code a joy to create, maintain, and update.
For example with Java annotations, I only have to press ctrl+space in Eclipse above a variable in a model, and it gives me the options for mapping all sorts of things with hibernate (ie many to many etc). Much nicer than looking things up in a book. Presumably it would be possible to set up the Dev Environment to be able to offer completions in the rails migrations, but that would be a hack - in Java, it follows from the types... Oh and btw, isn't it ugly to have the model code distributed all over the place (migrations, model, database schema)? I'd rather have it all in one place.
Internationalization seemed very fishy in Rails, too, from what I gather from "Agile Rails".
Anyway, sorry for the rant - I really have to force myself to complete at least one Rails application, but my expectations are rather low. At least perhaps I can appreciate Java again afterwards...
I like Ruby, but the reality is probably that in a typical Web Application, it's features don't come into play that often. It's mostly CRUD, after all...