Archive for the ‘haxorz’ Category

Your Favorite Language Sucks

Saturday, April 19th, 2008

I’ve noticed at the few events I go to that have a lot of consultants running around that the de-facto standard for freelance developers has become Ruby on Rails. I think this is very sensible actually, because Rails was written by and for these kinds of people, where getting something that works well enough running in the shortest amount of time possible is the name of the game. Rails (and the subset of ruby rails uses) has also exposed a lot of people to objected oriented concepts that have been around for a while. And the rails implementation is a really good one to wrap your brain around how and why object oriented design is useful.

That said, the one thing that annoys me about this whole thing (and a lot of the webdev blogosphere) is that a vocal subset of rails people are religious about it. They like to come into any situation and immediately begin advocating for why rails is magic and should be adopted for everything. This of course has nothing to do with rails itself, which as far as I can tell never claims to be anything other than what it is: a rapid application development framework. By rights it should be putting the competition (mostly .net) out of business: its probably the best RAD framework out there. But it isn’t good for everything.

Backend work at yahoo tends to be written in c++ or java. Much more time consuming for development, but necessary to support the kind of scale our applications need. Frontend work is done in php, but not because php is super-awesome. Rather, php is easily extended with compiled extensions, is quite fast and flexible for the front end and is easy enough for experienced developers to get up to speed with.

There have been some attempts to get rails going at yahoo, with mixed results. The fact is that for a company with thousands of developers, a robust platform and massive scale rails doesn’t have much to offer. That’s because its the wrong tool for the job. Not because it is the sux0rz, or because php/java is the roxorz. Its because any competent developer should be able to get the job done in any language, provided its the right tool for the situation.

If you need to write a run of the mill database-driven application and get it done yesterday, rails is the tool for you. If you have microsoft servers and need to do the same, asp.net is probably the tool for you. If you have microsoft servers, lot of time and expertise you should probably through out the asp.net framework and write your own thing in c# for the .net run time. If you are yahoo, google, amazon or aspire to be you should decouple your frontend from your backend, write your front end in a nice template-focused language like PHP or python and design a nice REST interface for the backend, implented however (even rails if you like) with the understanding that as you grow you might need to replace the backend.

At least, thats my opinion. Others have succeeded with any old stack. Wikipedia is pure LAMP, amazon is JSP on the frontend and twitter runs on rails. That’s probably strong evidence that it doesn’t even matter that much what you use, as long as you design the thing to solve your problem. The rest is just details.

Is there a Hole in Amazon?

Saturday, October 27th, 2007

This book title, though amusing, can’t possibly be submitted by the author or publisher. How did this happen? Social engineering, a hole in the api?

A screenshot in case they fix it:
Liberal Fascism: The Totalitarian Temptation from when I got my advance until I finally hand in the manuscript in 2011 (Hardcover)