If you are in a highly competitive startup environment where break-neck execution for the next 6 months to a year is a matter of survival then Java might not make sense, but that doesn't describe most projects.
If you are in a highly competitive startup environment where break-neck execution for the next 6 months to a year is a matter of survival then Java might not make sense, but that doesn't describe most projects.
I suppose that if you're building a crash-or-sell "startup," this might not be a huge priority for you, but as guelo noted, most projects don't fit in this mold.
I prefer added flexibility combined with convention over configuration. In my experience, Java teams deliver less functionality implemented on top of more complicated infrastructure at 2 to 5 times the time it takes for a smaller team working on Django to implement slightly more functionality.
That said, I have taken over development of a few legacy rails applications and never had a problem adapting to the idiosyncrasies of the old developer or team.
- worse, IMO
One thing I cant remember ever having read is a horror story about people taking over a legacy Rails app, while those stories seem to be fairly common when talking about Java apps.
Seems to me that, for the most part, people who know Ruby and Rails have taught themselves, while sub-par and mediocre Java programmers are produced in their hundreds, fresh from their first programming experience in college.
Seems logical to me then that its going to be far easier to get experienced Ruby programmers than to get experienced Java programmers.
Bad code can be written in any language or on any framework. I would suggest, however, that when at larger scales, there are significant benefits to a more restrictive language and tool set. I write Java at work, and while there are cases where it's not as expressive as I'd like (s'why I write my own code in C#, which is as expressive as I'd like), reducing the ability of developers to Do Stupid Things is, to me, a very large plus.
The claim that people who know Ruby and Rails have taught themselves--well, no shit, right? I taught myself Java, too. And C#. And PHP, Python, Ruby, and half a dozen other languages. Of course sub-par and mediocre Java developers are churned out by college. So what? Hire ones who aren't. And if you give it ten years (assuming the Rails fad has legs--I'm skeptical, but just for argument's sake let's assume it's not) colleges will be churning out mediocre Ruby hacks just as well.
Your comment reads as fanboyism and not much more.