C#.NET Programming Language

C# (pronounced see sharp) is the flagship language for the Microsoft .NET platform.  It is a member of the C family of languages which currently includes:

image C# was created by Anders Hejlsberg at Microsoft.  Anders is originally known by his work at Borland where he created the Turbo Pascal programming language, then later the Object Pascal language provided in the product “Delphi” and the BCL (Borland Class Library).  Delphi and the BCL turned out to be essentially the precursor to C# and the .NET framework (also called the BCL “Base Class Library”).  Not surprisingly, a .NET program looks and smells an awful lot like a Delphi program.

The purpose of the C# programming language was to give theimage programmer everything they liked about C++, but remove the headaches caused by things such as pointers, function pointers, and memory management, to name a few.

Unlike C++, C# programs are compiled to IL or MSIL (Microsoft Intermediate Language).  This is a byte code language not targeted to any real CPU, but targeted to the .NET runtime.  This is similar to how Java programs are compiled to byte code to run in the Java Virtual Machine.  C# programs are “managed” programs, meaning they don’t get free reign of the image computing environment in which they run.  The .NET runtime has control over the program and can actively deny the program any activity the program is attempting, such as writing to disk, accessing the network, etc…  This makes C# a safe language, in comparison to C++.  It also helps prevent common programmer mistakes with regards to memory management.

image Even though C# was created at Microsoft, Microsoft does not own the language, like it does the proprietary Visual BASIC language.  It handed control over to the ECMA standards body and any changes Microsoft intends to make to the language must be submitted to the ECMA standards body for approval.  This also means that anyone is free to create their own C# implementation.  And, in fact, others have.  The first was Borland, with their C# Builder product.  The most popular being the Mono project, which is a complete rewrite of the .NET technology stack for Linux and Mac.

image Using C#, a developer can create software for Windows desktops, Windows services, web services, web applications, mobile applications, Linux, Mac, iPhone, XBox 360, Zune, and many embedded devices, to name just a few.

The 1.0 version of the .NET framework was written entirely in the C# programming language.  Later versions of the .NET framework have a few pieces also written in VB.NET.

Leave a Reply