# Srijith Sarman

Time,space and living

Home  |   Contact  |   Syndication    |   Login

### Programming .NET

Friday, October 20, 2006 #

Zeno's paradox is a mathematical paradox.During my school days the story of tortoise  and achilles had haunted me very much.I have heard the story in many different forms(In some stories it's the race between a rabbit and a trotoise ,as there is already a famous folk story of a race between them).But the theroy was the same.Zeno of Elea lived during the period of B.C 450.And his contributions to the world are  perceived as slightly negative.

His paradoxes confounded mathematicians for centuries, and it wasn't until Cantor's development (in the 1860's and 1870's) of the theory of infinite sets that the paradoxes could be fully resolved.

Since I may cannot paraphrase the story with it's sole ,I copied the below story from mathacademy.com

The Tortoise challenged Achilles to a race, claiming that he would win as long as Achilles gave him a small head start. Achilles laughed at this, for of course he was a mighty warrior and swift of foot, whereas the Tortoise was heavy and slow.
“How big a head start do you need?” he asked the Tortoise with a smile.
“Ten meters,” the latter replied.
Achilles laughed louder than ever. “You will surely lose, my friend, in that case,” he told the Tortoise, “but let us race, if you wish it.”
“On the contrary,” said the Tortoise, “I will win, and I can prove it to you by a simple argument.”
“Go on then,” Achilles replied, with less confidence than he felt before. He knew he was the superior athlete, but he also knew the Tortoise had the sharper wits, and he had lost many a bewildering argument with him before this.
“Suppose,” began the Tortoise, “that you give me a 10-meter head start. Would you say that you could cover that 10 meters between us very quickly?”
“Very quickly,” Achilles affirmed.
“And in that time, how far should I have gone, do you think?”
“Perhaps a meter – no more,” said Achilles after a moment's thought.
“Very well,” replied the Tortoise, “so now there is a meter between us. And you would catch up that distance very quickly?”
“Very quickly indeed!”
“And yet, in that time I shall have gone a little way farther, so that now you must catch that distance up, yes?”

“Ye-es,” said Achilles slowly.
“And while you are doing so, I shall have gone a little way farther, so that you must then catch up the new distance,” the Tortoise continued smoothly.
Achilles said nothing.
“And so you see, in each moment you must be catching up the distance between us, and yet I – at the same time – will be adding a new distance, however small, for you to catch up again.”
“Indeed, it must be so,” said Achilles wearily.
“And so you can never catch up,” the Tortoise concluded sympathetically.
“You are right, as always,” said Achilles sadly – and conceded the race.

Zeno's Paradox may be rephrased as follows. Suppose I wish to cross the room. First, of course, I must cover half the distance. Then, I must cover half the remaining distance. Then, I must cover half the remaining distance. Then I must cover half the remaining distance . . . and so on forever. The consequence is that I can never get to the other side of the room.

This makes motion impossible.

Lots of tips are available in the net for improving .Net perfomance.There are some common practices which we often do.As everyone,knows .Net has some inherent tools with them which helps to make high perfomace applications.But it would be foolish if e rely completely on .Net framework to take care of the application perfomance.

Some tips we often here are like avoiding loops,disposing objects after usage , usage of normal arrays instead of arraylist in order to reduce the overhead of boxing and so on....Another tip is to use for loops instead of for-each as the latter is actually creates an enumerator.For each can be used when enumaration is required.Even though .Net framework has an inbulit garbage collector ,it's adviced to dispose the objects after use,or use using blocks ,which will call the dispose method by itself.

But most of us wouldn't realize the application's being slow down ,until we face the problem.Perfoamnce would be a big headache ,when we code applications which includes technlogies like webservice,remoting or other distributed technologies etc.Hence,the first step of starting in this technologies should be by reading some of the artices regarding the perfomance issues.One of the best resource for this is here

(Today I took print out sof some of the chapters.It would be useful to keep as a collection).Though some of the papers have been written in the period of .Net 1.0,it will be still useful. After reading all these aricles ,you would be having some confidence to face high end technologies.Also technology is changing fastly.Microsoft and others are bringing more and more methods o trap the perfomance issues.If we couldn't adopt today's technologies,things would be more complicated by tomorrow.