"e;It is also tempting to compile several different languages into the same inter- mediate language and use a common back end for the different front ends, thereby obtaining several compilers for one machine. However, because of subtle differences in the viewpoints of different languages, there has been only limited success in this direction."e; -Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools (Addison-Wesley Publishing Co., 1985) When I first saw .NET, I was overwhelmed by the influx of new ideas and concepts. Web developers were getting a vastly improved framework with ASP.NET and Web services. Visual Basic was getting a major overhaul with VB .NET, adding inheri- tance and free threading into the mix along with removing some long-standing BASIC compatibility. A new language was introduced-C#-that looked a lot like Java with some subtle yet substantial differences. Security was markedly improved, allowing users to prevent code from running based on the code itself and not just on the current user's credentials.