Thursday, February 25, 2010

A techie equivalent of Sachin's innings

Some of my non-cricket-following colleagues won't understand all the fuss about Sachin Tendulkar's historic feat of scoring a 200* in a innings in an ODI. So, I am going to take a shot at converting it into a programmers achievement to see if I can make get across to them. Here it goes:

Imagine you are a programmer who has mastery over any one programming language (take your pick). Now, there is a guy or gal who comes in the morning and gives you a spec, one which may take about 1000-1200 lines of code in a highly structured language (e.g. Java) and less if you can use a concise language. You have to implement this in exactly one day with only two breaks allowed - 20 mins for lunch and 15 mins for coffee in the evening. You are not allowed any references (Internet and types). You have to implement the spec - but the catch is that you have to write it in one go - you can keep editing the same line as many times as you want, but once you press enter, you are committed to keeping that line. You compilation is allowed to fail only once, but as long as it keeps compiling, you can keep redoing it.

For starters, imagine that you are given the same spec every single day and you have keep opportunities to master it out (a la net practice), but on the actual judgment day, you can be given any random spec.

Now that you get the context, Sachin Tendulkar, in equal terms, was given the spec to write the real time OS for the next space shuttle and he did it, in one go, without his compilation ever failing, with only those breaks. Thats why all we cricket fans are creating such a fuss.

Administrative note

All tech posts have now moved to or you may subscribe to its RSS feed. In due course, I shall be moving it out completely, so if you follow my tech posts, please shift to following that blog.