Ruby has a lot of buzz around it. The idiots version of what Ruby is:
- It’s a programming language (like Java) that allows you to tell computers what to do.
- Used with the Rails framework , it allows you to churn out your latest Web 2 site faster than you can pitch it to your friendly VC.
InfoQ has a good link to a Free Ruby Book that has just become available. The author of the book (Jeremy) blogs here.
We have two main reasons why we’re interested in Ruby:
- Java is great for scalable , Enterprise systems used by thousands of people. Sometimes we just want something quick and dirty to try out an idea.
- If your idea proves successful , you want a migration path (i.e. not to have to throw away all your original work). Ruby gives you this as the way it is organised means it is less likely to fall into a heap (Object Orientated)
- So Why not PHP (the way this blog, using wordpress, is built)? Ruby has a companion tool called JRuby. This means that you can run Ruby code anywhere you can use Java. Anything that Java can do , Ruby can do as well.
We’re also going down the free book route on Enterprise Web 2.0. Only it’s taking us a lot longer to get there. Currently the problem is a techie version of writers block.
You make it sound like ruby (and rails) is a prototyping language – its not.
Not the intention to make it sound lightweight – more explaining the reasons why I’m interested in it.
er Paul, isn’t that 3 reasons?
Seriously though – I read recently that the JRuby developers have managed to optimise JRuby (with JIT compiler I think) so that it’s running at twice the speed of C Ruby. Although I don’t think JRuby with compiler is released yet… Could well turn out that Java will be the platform for Ruby..
Do you know how fast it is in a web environment? I got the impression that the standard (Webbrick) server would fall over quite easily.
Fortunately , they have a way of working with Apache, I haven’t tested the scalability (yet) of that.
Webrick is a development server and has never been proposed as a production solution.
Mongrel is the solution. A cluster of mongrel’s can work with a software (e.g apache ) or hardware load balancer ensuring a horizontally scalable solution.
Line for line ruby is slower than java, however performance is more than language choice. Its also about design and development decisions. Rails provides separation of concerns as well as horizontal scaling baked in.
Appreciate the comment – you’re further ahead than I am on the rails stuff. Have you actually got to production with your current project , or is it still under wraps?
What tipped the scales for me to start getting into Ruby is that yourself and a couple of other good / heavyweight Enterprise Java guys are swearing by it.
We have a beta of our solution, we’re out there engaging with partners at the moment getting the final touches.
I can send you a more info by mail if your interested.
If you have a 1 page already done , fire it over to paulb (at sign) firstpartners.net