It is fun to be creating in the programming language that is trending. Ruby on Rails was trending among the software craftsperson community throughout the 2010s and in the late 2000s. And I say ruby on rails not ruby. Personally, I do not happen to care very much for Ruby. It looks the same as Python and even is written using similar syntax and notation. However, it just so happens that ruby on rails was built using Ruby. It provided quick way to create projects while being the talk of everyone. The most productive framework if you may. Part of the fun was that everyone was creating using it. As a result, you could find people using ruby on rails in many places and you feel a sense of community without being in one.
Now, I am talking from MY experience and my day-to-day programming. Or should I say ranting about my experience with ruby on rails.
The biggest negative I found, while working on rails, is that the systems usually turn into spaghetti code. I’ve seen this happen time after time first hand. This type of environment is definitely not fun to untangle or add features to. It becomes work minus the fun. Second, rails is fairly resource intensive and for a good reason – it comes with a lot of utility out of the box. Third, making rails fast is possible but requires some rolling up of the sleeves and jumping into the framework specific adjustments. Fourth, and this one is kind of my pet peeve … having ruby on rails work differently from its intension, from convention over configuration, is a headache. Moreover, you should be familiar with enough of the framework as to not damage other parts that you may be modifying.
Don’t get me wrong, ruby on rails is still my goto for starting new projects but it is not as fun as it used to be. I want to be working on problems not debating if I should ditch ruby on rails for something else. I do wonder if it is laziness at this point or familiarity that is preventing me from jumping ruby ship. There is far less people using it and far less excitement talking to other programmers using the framework. It is harder to find like minded people. It seems that DHH from Basecamp is the only one that is still spearheading how awesome and relevant ruby on rails is. It is his investment after all.
Sure you can have any of these problems in any other language or framework. And sure, my problems listed above can be fixed by refactoring, reading the documents, staying with the convention, and just doing the work. When you start fixing the problems, it becomes additional work that someone has to do that is hard to sell to a manager. All of this to say, is that it removes the fun for me.
I’ve been thinking this for some time now and wanted to put it in words and archive it. Perhaps if I was still being paid to work with ruby or on ruby on rails, I would have a different opinion. I’ll continue to take on ruby on rails projects but I am on the lookout for new frameworks and languages … at least for personal projects and quick prototypes. I want to explore python and I would like to give Go a go ;-)
There… out of my head. Heh.