Antonio, the points you listed are very good. Well "good" because I know nothing about C#, and this is also true for the things around C# and Dot NET. First time I hear about those "rules". What do you think if you put the focus on the languages itself? Ignoring existing libs, IDEs ...