Murphy's Laws of .NET

I have created Murphy’s Laws of .NET, based on my previous experience with .NET (using VB.NET & C#):

1. When coding a .NET application, whatever happens, behave as though you meant it to happen.

2. When you get to the point where you really understand those new features of .NET, it’s probably obsolete.

3. For every feature in .NET, there is an equal and opposite malfunction.

4. There will be six ways to do the same thing in .NET, and you always discover that you have chosen the worst one, but only at the final stage of the project.

5. A .NET program will always do what you tell it to do, but rarely what you want to do.

6. He who laughs last probably uses the simplest architecture of developing a .NET application.

7. A complex .NET application that does not work is invariably found to have evolved from a simpler VB 6.0 system that worked just fine.

8. The number one cause of any .NET based problem is another .NET based solution.

Do you identify yourself somewhere in these laws?