“C# and Java are both nice languages. They reach similar goals through similar means, although C# adds some syntactical touches to Java, such as the foreach keyword and a more pleasant extends/implements construct. Unfortunately, the improvements are outweighed by the instances of regression. In this article, I’ll compare the languages, while trying to avoid dipping to the JVM and CLR level.” Read the article at Builder.com. Update: A similar comparison article, about security.