In my view, the best code is correct, reliable and maintainable code. The first criterion requires fully understanding of the problem and the solutions. Reliability and maintainability are by design and implementation with help of right tools and programming languages.
After spending several years in Java and Scala, I am in love with C# again after used LINQ and Entity Framework in a project. Visual Studio, C# and .NET framework (with new features such as TAP) make coding easy and fun.
If coding is not challenge enough, trying to understand hardly-use concepts such as Y-Combinator and Monad bring some fun.
Q&A for professional and enthusiast programmers