To add to and clear up the previous post.
There are really no cons to C#.
C# is a very versatile, high level language that really put c++ to shame. J#, or java demonstrated OOP as it should be. Unfortuantely, java is an interpreted language.
C# is a blend of all the previous programming languages including cobalt and fortran. C# has removed the need for other compiled programming languages. C# is derived a lot from java and many programmers(like me) who were started off in java will find C# as a cozy home. Using the + as a concoconator(i think thats how you spell it) and plus sign would probably be the final java touch.
Microsoft does not own C#, same with b,vb,c,c++,c#.
C# is free, as every library is free because it has to be.
All programming languages are free.
Microsoft,apple,linux,delphi....all provide an ide and compiler.
There are definetly more provides, there are even free compilers and IDEs.
The misconception that microsoft owns C# but thats like saying britain owns english and we need to pay to speak it.
The truth is that microsoft provides the most popular IDE and compile and the IDE is very crappy(especially if you have used eclipse).
Delphi is also very popular.