C# FAQ 2.1 - How do I begin programming with C#?

To begin programming with C#, you first need to install a C# compiler. You can either use a command line compiler available from Microsoft or third party compiler kit such as the one developed by Mono. Microsoft's C# compiler is widely used by many developers as the Mono compiler kit is not yet fully developed. In addition to this you can also build C# applications with Visual C# .NET. It is a robust development tool used for developing all kinds of C# applications.

Is it necessary to install Visual C#  .NET to build C# applications?

No! It is not necessary. A command line compiler is sufficient to learn C#. Visual C# .NET is only used to simplify the development process.

Microsoft's C# compiler is available in the form of a package called the .NET Software Development Kit (SDK). A latest version of this kit can be downloaded from http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp. You will also find this kit along with many programming magazine CD's or from popular C# books such as Sams Teach Yourself the C# language in 21 Days.

After the kit has been downloaded, you have to install it. The installation process normally takes between 15-30 minutes depending upon the speed of your computer and is self explanatory. The setup will automatically register the required environment variables and hence you can straight away start programming with C# after the completion of its installation.

Is it necessary to install .NET SDK and Visual Studio .NET separately?

If you have installed Visual Studio .NET on your system, then there is no need to install .NET SDK separately. Visual Studio .NET comes with .NET Framework SDK.

During the course of its installation, setup will request you to run windows update. This update will install Microsoft Data Access Components which is required for developing database and ASP.NET applications. If you have purchased Visual Studio .NET, then you will have a separate CD titled "Visual Studio .NET prerequisites". It contains all the essential components required for running Visual Studio .NET setup.

Note:To test whether .NET Framework has been successfully installed on your system, go to command prompt and enter csc. If the system returns a fatal error message titled "No Inputs Specified" with the code CS 2008 then the installation is perfect.

All C# error messages are documented with codes. These messages will become familiar to you as you gain more experience with C#.

Can I install Mono C# compiler kit on Windows?

Yes. While Microsoft's .NET SDK has been designed to work with Windows, Mono C# kit can be installed on both Windows and Linux.

In addition to Microsoft's C# compiler you also have an option to install Mono C# compiler kit available from www.go-mono.com. Mono is a project started to create .NET compilers meant for platforms other than Windows, such as Linux. But the project is still under development and with each release of the kit more features and additional support for namespaces are added.

The upcoming version of the Mono compiler kit promises to provide support for Windows Forms, ASP.NET and ADO.NET. Moreover, the new compiler will also provide database connectivity support for MySQL databases.



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

  • ListBox

    Posted by markindia on 03/28/2006 09:21am

    hi, this is manish.I wanna to ask , how i can use all template of ListBox ?and , how can understand what is the importency of every template separetely ? In which template u will put the other control in ListBox ? why footer and item template are used?

    Reply
  • datagrid

    Posted by markindia on 03/28/2006 09:19am

    hi, this is manish.I wanna to ask , how i can use all template of datagrid ?and , how can understand what is the importency of every template separetely ? In which template u will put the other control in DataGrid ? why footer and item template are used?

    Reply
  • There's also DotGNU C#

    Posted by Qwertie on 04/20/2004 04:17am

    While the version number "0.1" doesn't instill confidence, this project has been brewing for some time. http://www.gnu.org/projects/dotgnu/

    Reply
  • You have left out C#Builder from Borland.

    Posted by CBasicNet on 04/01/2004 09:36pm

    http://www.borland.com/products/downloads/download_csharpbuilder.html Personal Edition is free. Registration is also free! Download it!

    • C# Builder is a development tool

      Posted by anand_n on 04/01/2004 11:22pm

      This FAQ discusses only about the different compilers used for developing C# applications. C# Builder is a tool. I mean an editor. I've covered this in FAQ 2.2 which will be published soon. I'm also planning a separate FAQ for C# builder.

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

Top White Papers and Webcasts

  • Digital transformation is a growing, urgent imperative for organizations worldwide. Subsequently, network resources to support digital initiatives are coming under intense scrutiny. Increasingly, that focus concentrates on the wide area network (WAN), which provides essential connectivity and valuable network services for branch offices, remote sites, and mobile workers. This white paper from IDC examines how digital transformation and cloud computing have necessitated a significant reassessment of the WAN, …

  • With the introduction of Progressive Web Apps and web platform APIs such as persistent storage, payments, geolocation, and push notifications, the web platform is taking on native apps. One important aspect of Progressive Web Apps is the concept of building your app to be Offline First. With an Offline First approach, you design your app for the most resource-constrained environment first. This approach provides a consistent user experience whether the user's device has no connectivity, limited connectivity, …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date