As I hang out at Rails user groups, chat with friends using Rails, and others at conferences and the like, I have seen a few groups of Rails users out there.
Ah the consultants. If you have been to a show like No Fluff Just Stuff you would have noticed that last years season had more questions on Rails than Java (or so it felt, which was a little painful!).Many of the people up on the panel were able to answer the questions (or at least give their opinion) since they had actually used Rails. Many of them were talking about JSF and other Java web frameworks the year before, but had moved on for some of their projects.
Why have these alpha geeks moved on?
- Positive view: Consultants often get to start new projects. They do not have the same baggage (baggage in this case == legacy code that runs and makes the business money!) that IT departments often have. If you have a million lines of code in Java, WebWork, Spring, Hibernate, would it make sense to jump over to Rails? You have the knowledge of those frameworks inside and out. You have helper libraries to make your life easier. You have nailed deployment. Does it make sense to change? The consultant moving on to client.next gets to start a new project from scratch and wants to play with the new toy. He has heard about the potential of Rails and wants to test out the hype. This has always happened, and is the reason that many have deployed Struts, WebWork, JSF, and Tapestry applications in a fairly short time period. For many of the current crop, they enjoyed the Rails experience, and they haven’t jumped to another framework….. yet!
- Negative view: Consultants need new technology to master to sell themselves! The yet from above means that this year they gamble on Rails, but who knows what it will be next year. I personally think that Rails has legs, and the length of time that a consultant spends with a technology shows how changing that technology is. For example, I had used Spring on every Java project for the last 1.5+ years. Spring was useful enough to me that it made sense to use it on all of those projects. Therefore, major points for Spring. This can be said for JUnit (until TestNG comes in ;) and many other tools (even IntelliJ IDEA!).
Startups such as ODEO, of course 37 Signals, and the like have been strong users
of Rails. They get the benefit of…. being startups!
The green field is what they see, and their goal is to come up with technology a
s fast as possible to start to make some $ somehow (or the business model may be
to do a beta and get bought out by G/Y/MSFT).
They do not have the luxury of legacy code (again: code that runs and makes $) but they do have the luxury of making a choice from scratch.
Rails thrives on green field projects.
About half of my local Rails group consists of students at the local college. The first presentation was from a student. Rails fits them nicely as it is a quick environment to whip out their projects.
I remember using this same advantage back when I was at university. The class was using C++ to build a web app, and I hacked together something using Perl, and had far more time to enjoy the fun parts of college life.
The head Java instructor is very much in the Rails camp. He talks about how hard it is to teach Java in comparison. There is so much to teach in
public static void main(String args) and he has tried top down, bottom down, andevery other way (using BlueJ and …).
This isn’t a definitive list and of course it doesn’t mean that any other type isn’t using Rails, but it was a little interesting.