Although C# is derived from the C programming language, it has features such as garbage collection that allow beginners to become proficient in C# more quickly than in C or C++. C# is a good choice for many types of software development projects: rapid application development projects, projects implemented by individuals or large or small teams, Internet applications, and projects with strict reliability requirements. Its strong typing helps to prevent many programming errors that are common in weakly typed languages.
Object-oriented programming (OOP) is a programming paradigm that uses data structures consisting of data fields and methods together with their interactions – to design applications and computer programs.
- C# language is intended to be a simple, modern, general-purpose, object-oriented programming language.
- The language should provide support for software engineering principles such as strong type checking, array bounds checking, detection of attempts to use uninitialized variables, and automatic garbage collection Software robustness, durability, and programmer productivity are important.
- The language is intended for use in developing software components suitable for deployment in distributed environments.
- Source code portability is very important, as is programmer portability, especially for those programmers already familiar with C and C++.
- Support for internationalization is very important.
- C# is intended to be suitable for writing applications for both hosted and embedded systems, ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions.
- Although C# applications are intended to be economical with regard to memory and processing power requirements, the language was not intended to compete directly on performance and size with C or assembly language.
From personal knowledge, both my cousins use C# to write debugging programs for Intel’s micro computer chips.
Sources:
http://en.wikibooks.org/wiki/C_Sharp_Programming
http://www.cprogramming.com/tutorial/csharp.html
http://www.c-sharpcorner.com/UploadFile/myoussef/CSharpCodeingTechniquesold11152005014508AM/CSharpCodeingTechniquesold.aspx
C# mini tutorial:
http://www.youtube.com/watch?v=LhyBwVhz_zU
http://www.youtube.com/watch?v=Ar4aRdyO2e0&feature=relmfu a little more advanced