Sockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals

In December 2001, Microsoft publicly released the C# language. Designed by Anders Hejlsberg, C# is intended to be a primary language for writing Web service components for the .NET framework. Java has received much attention in the past decade for its portability, ease of use, and powerful class library. While the motivation behind Microsoft s development of C# is often heatedly argued, it can be seen as a response to Java s popularity. As the .NET component framework gains popularity, it is expected that many C++ and Visual Basic programmers will migrate to the C# platform.
Despite being developed by Microsoft, however, C# is not a proprietary language. The C# standard is managed by the European Computer Manufacturers Association (EMCA). This fact may curb fears that Microsoft will restrict the language to prevent functionality with non-Microsoft products.
If you listen to Microsoft, .NET is the future of computing. .NET provides a framework for Web services in which components written in different languages can interact. While many languages are supported, C# was designed to be the flagship language for .NET. Developers accustomed to programming in the Visual Studio environment will find it easy to migrate from Visual C++ to Visual C#.NET.
C# will become the default language for Windows development. While architecture-neutral Java may run on Windows, C# retains many Windows-specific features. For example, it is easy to access native Windows services using C#, such as graphical user interfaces and network objects. Programs currently written in...