We have a winner


For better or worse, we’ve decided to go with Ruby on Rails for our prototype. Why? In short, we think RoR will let us finish a version 1.0 very quickly – and that means we can start getting real feedback from early users sooner rather than later.
Django had some very nice features, but ultimately, it didn’t seem like a clear winner over Rails (both had pros and cons) and, probably most importantly, we know and prefer Ruby over Python. That’s not flame-bait, it’s just a personal preference (I heart blocks). YMMV.
Of course, the scaling issue is in the front of our minds, especially with the recent high-profile case of Twitter (and certain responses). Are we concerned? Yeah. But, scaling would be a nice problem to have, since it would imply that we actually have users. In all likelihood, scaling problems are still many months out.
But, when it comes up, our plan for scaling is four-fold – first of all, we’re hoping the Twitter experience motivates the RoR community to look more into scaling (particularly using multiple databases effectively), and we can reap the benefit of that work in few months (hey, maybe when we understand the issues better we can write something ourselves).
Also, JRuby is looking more and more promising. Not only does it look like it’s going to be as fast (or maybe a bit faster) than regular Ruby, but, since it runs on the JVM, we’ll be able to integrate it with faster, statically-typed languages on the backend (Scala, anyone?).
We might also try to use faster, statically typed language on separate machines and connect it to the front end using web services. I’m sure there is some overhead here, but on the plus side, it’d force us to develop a nice web API sooner rather than later, which is something we want to do anyway.
Failing that, we can always rewrite the damn thing in another language. It would suck, but hey, it didn’t kill Reddit.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: