Johnny's Software Saloon

Weblog where I discuss things that really interest me. Things like Java software development, Ruby, Ruby on Rails, Macintosh software, Cocoa, Eclipse IDE, OOP, content management, XML technologies, CSS and XSLT document styling, artificial intelligence, standard document formats, and cool non-computing technologies.

My Photo
Name:
Location: Germantown, Maryland, United States

I like writing software, listening to music (mostly country and rock but a little of everything), walking around outside, reading (when I have the time), relaxing in front of my TV watching my TiVo, playing with my cat, and riding around in my hybrid gas/electric car.

Tuesday, April 25, 2006

Otaku, Cedric's weblog: Why Ruby on Rails won't become mainstream

Cedric recently blogged about the Ruby programming language. Specifically, why he thought it would never catch on.

Some of his facts are just plain wrong. Admittedly, they went wrong after he wrote down his arguments against Ruby a few weeks ago.

However, some of the logic is wrong too. A lot of it consists of strawman arguments. He creates lists a group of things that have ultimately failed to catch on, lumps Ruby into the group without really making a good case for likening it to them, and then concludes that Ruby will fail as well.

Read his article if you want to see what I mean.

Otaku, Cedric's weblog: Why Ruby on Rails won't become mainstream:
I'd like to take some time to explain why, in spite of all its qualities, Ruby on Rails will never become mainstream.


Now, as for where Cedric goes wrong, let me count the ways:
will fail to go mainstream like SmallTalk and LISP failed to go mainstream
yet he forgets to mention they both had weird syntaxes and Ruby does not
Ruby On Rails has stalled development of other Ruby web frameworks so it will not have a lot like Java does
Yet this is hardly a crippling blow. Java had almost none five years ago. Ruby supports CGI, FastCGI, and Rails. More can come later, as new niches are discovered.
no major osting companies support Ruby
Just this weekend, GoDaddy.com announced support for Ruby On Rails and Ruby CGI in their service. I checked and it is true - and as cheap as a $6.99/mnth plan! For that they will also throw in Java, PHP, and Python CGI. So this argument has been vaporized. Go Daddy is huge, cheap, and well known.
No credible IDE
RadRails is out in beta now and has been since 2005. It is uses the Eclipse IDE as its foundation and Eclipse is rapidly becoming the defacto super IDE of the 21st century. RadRails is available as a stand-alone application or a plugin for Eclipse itself. Cedric should check it out. The guys coding it are moving as fast as mongooses - despite handling a full workload in school.
Ruby On Rails is too complex because it automates much of the normal grunt work using tried-and-true MVC and other modern practices.
Let me get this straight? People should do everything with much more tediously written code because that will be easier to write and understand? I do not think so! MVC is not all that hard for everyone. Granted, currently fewer programmers understand how to write it. But given a quick demonstration, they quickly accept that it works and then stop fighting so hard to not understand it. Once they stop fighting it, it is easy to do and easy to use.
Fanatacism.
True. There is some of that. However, is he really going to argue that Java did not have its fanatics ten years ago? How as that hurt the Java cause? If anything, it has helped it. Because many of those fanatics created very useful class libraries, development tools, and so forth. Some people will be put off by an excess of ardor. Big deal, that never killed a language - some people, but never a language.
Mob mentality group think.
The lack of resistance to a few dominant group's of people's ideas does not necessarily mean blind faith in bad ideas. They might be good ideas. You cannot generalize and start off with the assumption that a certain percentage of every group's ideas have to be really bad. They might have bad ideas that they are just self-censoring and only putting out the quality ones. A lot of the Ruby elders have been around the block a few times and have both technical knowledge and practical experience. People are responding to the quality of their work, not just their mantra.
scalability
Ruby does have its limits. So does every language and every computer. Eventually, they cannot handle a problem if you keep making it bigger and bigger and limiting their resources. These days, the most expensive resource is developer time - not computer hardware, which is not cheap. Distributed Ruby caches and ORM software already exists, and are being used. Sure, I have seen some heavily used, large scale Ruby apps cough up an error from their server sometimes. It does not happen often but I do not assume the language is doomed if I see that happen a couple times every two or three months. Could be a transitory coding error or a temporarily underprovisioned machine. Take a look at 43 Places, 43 People, 43 Things, and All Consuming. They are some big sites and they seem to be working very smoothly - and with lots of AJAX being used on them, even.


I do not think Cedric is stupid because he obviously knows a lot of things. And he cites them in his post.

However, I do infer there are a lot of things he does not know and that is arguments are flawed. In short, I think he is wrong.

The reasons I think he is wrong are given above. I think these contradictory facts disable key points of his argument. I do not think it stands as correct in light of these facts.

I do not see programming languages or anything else as Completely Good or Completely bad. Everything has drawbacks and most things have advantages in at least some situations.

He is guessing that Ruby will never catch on and slide down the adoption curve before it ever scales any more height than SmallTalk.

I think he is wrong and that it already is used in some impressive sites on the Internet. Now that Go Daddy is including it in 2 out of its 3 very affordable hosting plans, many more Ruby On Rails applications are sure to come.

There really is nothing holding them back.

Related pages & news