From: Richard Conroy Date: 2008-01-09T00:58:37+09:00 Subject: Re: questions from a java programmer On Jan 4, 2008 9:09 AM, Ben Turner wrote: > I believe that tooling is one of the important factors in what makes a > language "popular" with the code-writing masses. I can only speak with > authority from a Java perspective, so bear with me. Java has a huge > community of frameworks, tools, building environments, IDEs and > anything else you can imagine. Often to a point of fault. Look at the huge number of Java Web Frameworks. > On a daily basis, I rely on tools such > as: > > * continuous integration engines such as Hudson or Cruise Control > provide an up-to-the-minute overview of the status of the code > repository Neither CruiseControl nor Hudson are java-specific, they will happily invoke a shell command as well as their built-in maven and ant support. Those shell commands could be make, nant, gant, or any of the Ruby build systems. > * build systems such as maven to provide out-of-the-box automated > building, testing, test coverage, code quality checks etc. All of this exists in Ruby too, frankly the Ruby build tools are considerably better than those in Java (Rake), to the point that Ruby is better at building Java than Java is. Witness projects such as Raven and Buildr. Certainly, testing in Ruby is easier than java and considerably more evolved (RSpec, autotest, fuzz testing, hoe, zentest). Building in Ruby is also considerably more evolved. Its not uncommon to hear of builds taking single digit seconds in Ruby (update & tests & coverage) > * IDEs with strong refactoring tools, debuggers and direct version > control integration > * etc. Just be wary of 'strong refactoring tools' aka 'push-button refactoring'. Go read Steve Yegge's article about this > > If you want a guaranteed living from Ruby, get good at Rails. (It gets > > boring, though.) > > I'm not really into web development (more backend server > applications), so I think I will be looking at plain ruby first :-) > > Best regards, > > Ben > >