C# is a programming language and part of the .NET initiative. The latest version of the language (C# 4.0) was released by Microsoft in April 2010. The name of the language is pronounced see sharp and the general interpretation of the name is enhanced C++ (which, in turn, meant enhanced C). It is also connected with the musical note, which is half-step higher in pitch than C.
C# is an object-oriented language with strong type checking that enforces strict, high-quality coding habits on the developers. It also has a garbage collector, which is an important step forward compared to C and C++.
C# is very similar in syntax to Java, which is, however, perceived differently by different involved parties. While the people belonging to the team developing the Java language will claim that C# is just a clone of Java, the developers of C# itself will hotly deny it and claim that their language is much closer in syntax to C++. While it’s very obvious why their opinions on the matter differ, we have to mention that there is more to a programming language than syntax alone – there are other underlying concepts that define the language and its role in the IT industry on the whole.
First and foremost, it’s important to explain in a few words what the .NET initiative is and how C# fits in. .NET is a software framework that can be installed on computers running Microsoft Windows, so any software based on it will run on Windows computers only. The first version of the framework was released in 2002 and was available for several version of Windows starting with Windows 98. Then few other versions of the framework appeared on the scene. The Public Beta of .NET Framework 4 was released in 2009.
.NET introduces Common Language Infrastructure (CLI) – an open specification describing the executable code and runtime environment that form the core of the Microsoft .NET Framework. Just like it happens with Sun’s Java Virtual Machine, .NET utilises the virtual machine model with intermediate byte-code. But .NET’s byte-code has to be compiled before execution, whereas Java’s can also be interpreted. Besides, as we mentioned above, .NET’s applications can run only under Windows, while Java takes pride in its platform-independence.
C#, along with Visual Basic, is designed for CLI and has been part of .NET since the beginning. ECMA-334 C# Language Specification was released by Microsoft in 2001. C# became an ISO standard in 2003. Later the standards were updated several times to reflect the development of the language.
C# can be used both for standalone programming and for web programming. The latter is commonly done under the ASP.NET web application framework – another Microsoft initiative considerably enhancing the ASP platform. With ASP.NET programmers can use any .NET language – including C# – to build a full-scale web application.
Obviously, ASP.NET web applications run only on ASP.NET web servers, and the cost of such a hosting package has to be taken into account if you are considering choosing C# as the programming language for your web application. The starter ASP.NET hosting packages are offered at $3.75 per month, which is quite cheap, but for a professional application you will need more powerful servers and more advanced hosting options. Depending on your needs, the cost of your hosting may reach nearly $30 per month, and you have to talk to your developer and thoroughly analyse all the available options and factors before making your final decision. But if you can afford a professional ASP.NET hosting, it will offer you a stable, secure, powerful and fast platform for your purposes. The only other thing you’ll need to ensure for your project is a professional team of developers.