Hacker News new | past | comments | ask | show | jobs | submit login

Is a better fit a good fit?



Well, if you're asking about the ability of a language to prevent the ability of a corporate army of 1000 developers to blow it's collective foot off, then no, Ruby and almost every other language will forever pale in comparison to Java.

On the other hand, if you're talking about the ability to mix, match, configure and replace components of Rails in order to meet your particular requirements, then Rails 3 shows real promise, though it's not yet officially released and a lot of the modularity needs battle-testing.


"Well, if you're asking about the ability of a language to prevent the ability of a corporate army of 1000 developers to blow it's collective foot off, then no, Ruby and almost every other language will forever pale in comparison to Java."

This is the common wisdom about java, but I don't think it's true. I have a far harder time dealing with other peoples java code than I do dealing with other people's ruby code. And yes, I work in a corporate army that happens to do both java and ruby.

Libraries change over time. In java, if you realize your interface needs to change then you're fucked if someone else is using your code.

If you're using someone else's code and it doesn't do exactly what you need it to do then in java you have to get their code, change it, compile your own custom version, and in many java shops upload it to your companies maven repo with some version like foo-lib.jshens-fork-1.0.1. In ruby you'd just monkey patch it. This has it's risks, but those risks are under your control, you don't have to ask someone else for a favor to update their lib. (using other people's monkey patching is a different animal)

Spring, need I say more? In our corporate army there are 1000's of developers with 1000 page tomes telling them how to glue their libraries together in java. Think about that for a minute. Some of the "problems" that java doesn't have are really still there. They're just pushed into things like maven, ant, and spring.

At the end of the day, bad java code makes my life much harder than bad ruby code.

On a side note, what's up with the recent spate of people complaining about rails because they used some shitty library that isn't a part of rails? Here's a hint, you should do some due diligence before using some random library.


This may well be true. I don't have any corporate Java experience.

However I do believe from my limited Java experience that it's nearly impossible for a bug to occur that the average programmer can not trace back to it's source using more less standard methods (race conditions and other concurrency nastiness notwithstanding). In Ruby on the other hand, real head scratchers can and do occur on a regular basis that require a higher level of debugging skill than some mass-educated code monkeys are capable of.


It's just a different way of doing it. In java you ctrl-b your way into method calls using your IDE. In ruby (assuming it's not C code or eval'd code) you use ruby-debug. Set a break point and start stepping. In minutes you'll stop scratching your head.

I've seen the "code monkeys" you speak of hit a brick wall with spring. Java the language simply pushes these problems into it's tools. I've spent countless hours getting my java tools to play nice. I don't have that problem in ruby. There really is a law of conservation here.


No I'm talking about the crazy bugs that happen when you do soemthing like silently redeclare a method from deep in the framework and get no warning because Rails runs with warnings off. Or when two popular well-tested gems happen to add the same method to a core class with slightly differing implementations.

Usually once a year or so I run into one of these mind-bending bugs where something breaks in a bizarrely tangential way that simply can't happen in Java.


yeah, that happens to me too, about once a year, and worst case I spend a few hours on it. Let's say it's 5 hours a year I spend on this sort of problem. That's nothing compared to the amount of time I spend getting maven and spring to do what I want. Hell, it's far less time than I spend getting my IDE to run my projects!


modularity needs battle-testing

Don't worry, the Perl and Python web frameworks have been doing this for years, and it works great.


I'm confused, are you suggesting that Rails 3 architecture is influence by Perl and Python frameworks? Or are just talking about modularity in general?

Because I was just talking about Rails 3 getting out in the wild and people getting to actually start using it with heavy customization to shake out some of the bugs. The re-archtecting to this point is quite impressive, but it's still living in a bit of a vacuum.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: