Recently, Joel Spolsky wrote an article entitled “Language Wars.” In it he spoke about web frameworks and languages, and their appropriate uses. He basically said Java, .NET, PHP, and maybe Python were the only ones you should really bet your business on. He also snubbed Ruby on Rails as not being proven.

That didn’t sit well with some in the Rails community.

However, what really set them off was that at the end of the article, Joel mentioned that they use their own custom language, Wasabi, for their flagship product, FogBugz. How could Joel deride Rails as being unproven, which has been around for a few years, and then say he used his own custom language? Clearly this was an ironic contradiction.

Right?

No, not really. Joel’s point was, when picking a web language, it should be proven. More specifically, Joel mentioned that it should be known that it can scale, and have all the features your web application might need. PHP/.NET/Java have been around enough and used enough by large web applications that its well known that they have both of these qualities. Ruby on Rails, while very promising, doesn’t have the reputation of being proven yet. I suspect in a few years Rails will have this reputation, but right now its too young.

The reason using Wasabi isn’t a contradiction is because it isn’t what ships. Wasabi isn’t the language that runs on the server or what Joel’s customers get when they buy FogBugz. Wasabi is just the front end language that compiles down to PHP or VBScript, which is what the customers get. It doesn’t matter if Wasabi can scale or if it has all the features FogBugz needs. If Wasabi doesn’t have a feature FogBugz needs, they just add it to the front end. Since the backend only targets PHP or VBScript, the feature will already be there.

What’s more, is when Ruby on Rails becomes proven and surpasses PHP, Java, and .NET, then Joel can modify Wasabi to target Rails. He doesn’t even have to change the code to FogBugz to do that.

So when comparing Ruby on Rails to what Joel bet his business on, you can’t compare Rails to Wasabi, you have to compare it to PHP or VBScript. That’s what the customer sees, and that’s what the product is implemented in. My point is, Joel isn’t betting his business on Wasabi. He’s betting it on PHP and VBScript.