Pragmatic Programmer Dave Thomas, author of the ‘pickaxe book’ Programming Ruby, and co-author of Agile Web Development with Rails and The Pragmatic Programmer, found some time to talk with InfoQ about Ruby, Rails and the importance of choosing the right tool for the job.
Watch the full interview here (22 mins)
When asked what he thought about the influence of Ruby and Rails, Dave hoped that it would encourage developers to explore and discover new options, rather than sticking to the same set of tools:
“People have seen the success of Ruby, the success of Rails and said: “Oh, it is possible to use something different.” and that’s encouraged people to go out and explore.”
When asked why people should explore other options, Dave described how in certain contexts it made business sense to use instead of one of its competitors: J2EE
“If you look at Rails, most of the consultants that I know that are experts in both Java and Rails will tell you that they get between maybe 5 and 15 times performance increase, let’s say 5. They can write their applications maybe 5 times faster, so for domains where Rails is applicable, and that’s not all domains, but in those domains where it’s applicable a shop can turn out an application with 20% of the effort, if they were to use Rails over say C# or Java. If that’s the case then really you could say that developers who stick with the Java model and C# model are actually being negligent, because they are costing their shops so much extra money”
Dave also believes that some of the more ‘enterprise’ solutions can also be very hard to learn:
“I don’t even know how a beginner J2EE developer gets started, because the stack of books you have to read just to write a simple J2EE application it’s probably 5-6 feet tall”
“It’s a lot of pain for not much payback”
Dave cited a lack of vendors as one of the advantages of lesser-used technologies such as Ruby. In fact he believes that vendors can actually get in the way of choosing the right tool, as they have an agenda for just one technology:
“I think anybody who tries to push any technology in as the solution is missing the point.”
However he emphasised that Rails wasn’t always the best solution, and that the important thing was to make sure that you choose the right tool for the job:
“Rails is a particular solution for particular set of problems and part of the trick is making sure you use it appropriately.”
Dave described how Rails is an example of a framework that focusses on one particular problem-set and doesn’t try and solve every developer’s need. He hopes that people start to realise the benefit of this approach, and start to write more similarly focussed frameworks for particular problems:
“I think what we are going to see, or at least I hope what we’re going to see, is people realizing yet again there is no one single best solution and that maybe we can look to have smaller and more focused frameworks or solutions for individual styles of problem”
Finally, when asked why Ruby made him happy, he was only too pleased to answer:
“Coding in and Ruby makes me happy because it’s one of the shortest paths between my brain and a computer. I can think of something and I can express it very succinctly and typically fairly elegantly in Ruby without all the kind of extraneous fluff that you need in most of the languages and that makes me happy.”