I've upgraded to Microsoft Visual Studio 2012 recently and am very happy with the new IDE.
I don't really want to get into the differences between the versions and the "whats new" list right now since you can easily find them with Google. http://www.lmgtfy.com/?q=what%27s+new+in+visual+studio+2012
I would however, like to talk about Recursion.
Recursion is basically a programming technique involving the use of a function that calls itself one or more times until a specified stopping condition is met at which time the rest of each repetition is processed from the last one called to the first.
A common "bug" when you don't set your stopping condition correctly. In such a case the recursion process keeps calling itself until it uses all the processes resources and crashes.
When this happens it is clearly a programming bug and not the IDE's fault.
I made a recursion error that I believe the new IDE should have stopped me from making.
Below is the snippet, can you see the problem ?
private int recursionInt;
public int RecursionInt
{
get { return RecursionInt; }
set { recursionInt = value; }
}
private void Form1_Load(object sender, EventArgs e)
{
int tmp = RecursionInt;
}
The get function of the RecursionInt Property calls itself instead of recursionInt (I capitalized by mistake).
here is the screen capture of the exception
![]() |
Property Recursion Exception |
I would have thought the new Visual Studio IDE would detect such simple mistakes and stop the at design time just like they do when a function does not return any value.
What do you think ?
Just for fun, take a look at recursion by searching for it with Google.
Google is using the "Did you mean" feature, to illustrate the definition of recursion.
Check it out: https://www.google.com/search?q=recursion