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

  • With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with ease (both locally and remotely), and ultimately spend more time coding instead of waiting for the dreaded application redeploy to finish. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

  • Instead of only managing projects organizations do need to manage value! "Doing the right things" and "doing things right" are the essential ingredients for successful software and systems delivery. Unfortunately, with distributed delivery spanning multiple disciplines, geographies and time zones, many organizations struggle with teams working in silos, broken lines of communication, lack of collaboration, inadequate traceability, and poor project visibility. This often results in organizations "doing the …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds