C# FAQ 1.2 - What is C#?

The C# (pronounced "C-Sharp") programming language is one of the most powerful object-oriented programming languages developed by Microsoft. According to them, "C# is a modern, object-oriented language that enables programmers to quickly build a wide range of applications for the new Microsoft .NET platform, which provides tools and services that fully exploit both computing and communications." Actually, C# was originally codenamed "Cool" before being released as a beta in 2000. Microsoft then released different versions of the language including the latest release of C# 2.0. With each release, the product shipped with improved features for developing secured and scalable applications along with high quality documentation and code samples.

Prior to .NET, C, C++, and Visual Basic 6.0 had dominated the computer industry. The main drawback with these languages is that a programmer has to devote a long time to develop and deploy an application. Also, the syntax used by one language is different from the other; hence, it took a long time for a programmer to migrate between two different languages. Programmers were searching for a programming language that would not only reduce the development time of applications but also to attain good productivity. These difficulties were eliminated with the introduction of C#. This is because all .NET languages, including C#, commonly follow the Common Language Specification (CLS) and target the Common Language Runtime. Moreover, C# is relatively simpler language than C++ as it doesn't contain pointers and templates.

Some of the notable features of the C# programming language are namespaces, type-safe variables, multi-dimensional arrays, jagged arrays, operator overloading, indexers, delegates, versioning, attributes, and overriding. C# also comes with features such as "pass by reference" and "pass by value" for parameters, XML-based documentation with special comment tags, and integration with COM components developed using Visual Studio 6.0 and other non-.NET languages. Moreover, C# 2.0 supports new features such as Generics, Anonymous Methods, and Partial Types. Further, the key specifications for the C# language have been reviewed and ratified by an international standards organization called the European Computer Manufacturers Association (ECMA). For more details regarding this topic, refer to http://msdn.microsoft.com/net/ecma/.

You can develop console applications (executed from the command prompt), Windows applications, ASP.NET Web Applications, ASP.NET Web Services, and Mobile Web Applications, Class libraries, Windows control libraries, smart device applications, and Web control library applications by using the C# language. In addition to these applications, you can also create setup files for your C# projects using by Visual C# .NET. You will learn about the development of each one of these applications in forthcoming FAQs.



About the Author

Anand Narayanaswamy

Anand Narayanaswamy (Microsoft MVP) is a freelance writer for Developer.com and Codeguru.com. He works as an independent consultant and runs NetAns Technologies (http://www.netans.com)which provides affordable web hosting services. He is the author of Community Server Quickly (http://www.packtpub.com/community-server/book). Anand also runs LearnXpress.com (http://www.learnXpress.com) and Dotnetalbum.com (http://www.dotnetalbum.com) and regularly contributes product and book reviews for various websites. He can be reached at ananddotnet@yahoo.co.in

Comments

  • Basic programming

    Posted by morerajesh on 11/02/2006 01:09am

    Hello Mr. Anand I am well known to JAVA Plz tell me is it make easy to learn c# What are the basic syntax and concept what are the similarities betn java and c# Rajesh More morerajesh@rediffmail.com morerajesh@codeguru

    Reply
  • Thank u

    Posted by rejish823 on 06/01/2006 01:49am

    I got some knowledge about the c#.net

    • VERY GOOD

      Posted by shyam.krishna2020 on 11/25/2007 02:00am

      hi i m SHYAM; from NIIT LUCKNOW i got such a wonderful knowledge about c# (version 2.0),thanks for this YAAR.

      Reply
    Reply
  • Comments

    Posted by Legacy on 02/19/2004 12:00am

    Originally posted by: anon

    >C, C++, and Visual Basic 6.0 had dominated the computer >industry for the past two decades.
    Is VB 6.0 really 20 years old?

    >Also, the syntax used by one language is different from the >other;
    Of course. This is not a flaw. Each Dot net languages still has its own syntax.

    >Programmers were searching for a programming language that >would not only reduce the development time of applications but >also to attain good productivity. These difficulties were >eliminated with the introduction of C#.
    Where's your data showing these reductions in development times? You make claims without supporting them.

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Java developers know that testing code changes can be a huge pain, and waiting for an application to redeploy after a code fix can take an eternity. Wouldn't it be great if you could see your code changes immediately, fine-tune, debug, explore and deploy code without waiting for ages? In this white paper, find out how that's possible with a Java plugin that drastically changes the way you develop, test and run Java applications. Discover the advantages of this plugin, and the changes you can expect to see …

  • Live Event Date: August 20, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT When you look at natural user interfaces as a developer, it isn't just fun and games. There are some very serious, real-world usage models of how things can help make the world a better place – things like Intel® RealSense™ technology. Check out this upcoming eSeminar and join the panel of experts, both from inside and outside of Intel, as they discuss how natural user interfaces will likely be getting adopted in a wide variety …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds