Microsoft's C# language and the Common Language Run-Time (CLR) bear more than a passing resembelance to Java (the language) and the JVM. Although I've never programmed in Java to any great extent I have read some good books which I thought were very applicable to .NET developers. Effective Java by Joshua Bloch has lots of great insights into library design - I remember reading this and thinking a few times “so THAT is why that language feature exists“. It's easy to read and packed with good insights. Bitter Java is a catalogue of Java anti-patterns which have no doubt been un-knowingly “ported“ to .NET. Are there any other Java books out there that are worth crossing the platform and language barrier to read?
And now for a brief link iterface:
A simple summary of eqivalent keywords in C# and VB.NET - as somebody who is constantly swapping between the two this is always useful: http://www.dnzone.com/ShowDetail.asp?NewsId=356
A managed wrapper for MSHTML in WinForms in Whidbey - it's about time: http://www.devx.com/codemag/Article/20145/0/page/4\
Visio UML stencils that don't try to think too much for you (via Ingo Rammer): http://www.phruby.com/stencildownload.html
A nice overview of the architecture of Shadowfax: http://weblogs.asp.net/HernanDL/archive/2004/02/23/shadowfaxintro.aspx