.net - static/Shared in VB.NET and C# visibility - Stack Overflow:

Remember, the design criteria of different languages are different, and therefore the decisions made are different. On the C# design team, we highly value a language definition which makes illegal patterns that look suspicious; since there's no meaning to passing an instance as the receiver to a static method (unless computing the receiver expression causes a side effect) then why allow the user to type meaningless code?

On the VB design team, they value the code working the way you meant it to work the the first time you typed it; if something looks a bit dodgy, maybe give a warning, but allow it and move on.

Just horrendously interesting.  Though I still feel a little like VB.NET is just a compatibility layer draped over C# in practice, at least in theory I'm starting to believe the difference is more nuanced.

Labels: , ,