Friday 31 October 2014

The Notion of Time in Programming


In colloquial terms programs are the stories told to the machines. But somehow because a machine cannot understand exactly what we speak, we tend to stick to something which is understandable. In the process of telling a machine what needs to be carried out, we have also constrained ourselves with our expectations. As we cannot hangout with a machine and tell what exactly to do, we just hang a few things out of context and say, doing this would still do!

Up until now, when i used to hear the word time with programming, my mind wondered in the land of efficiency made up of some theorems, analysis and relations to find the time taken by the algorithm. And there's been quite a round of circus to improve time.

Okay. Where else could time fit in? "no where else" would look like most appealing and legitimate answer. One important reason for the consideration being, the models we developed before we programmed also had least consideration for time. It was not in design model and hence it is not propagated to program.

Time definitely needs to be associated with every step event in programming. In fact it can be also a method to prove the correctness of the program as well, which is usually ignored, though is heart of the program.

In other understandable term, we don't say
"x" made a transition to "y" with input "u"

Instead we start saying,
"x" made a transition to "y" with input "u" at time "t"

Well, yes, it needs a thinking right from the bottom, to restructure the whole of what we did so far.

No comments:

Post a Comment

Please Leave your Feedback / Suggestions