If you are working in Microsoft Technologies then you should have definitely heard about C# (pronounced as C-Sharp). If you haven’t, C# is a programming language that was developed as part of .NET Framework by Microsoft Technologies. Anders Hejlsberg is the chief designer of C# who is also a key participant in the development of .NET framework. So enough history, the main question that prevails is most of the newbies mind is: what is the best way to learn C#?
I have heard this question a lot time and hence wanted to deliver this article which just focuses on helping a beginner to learn C# in the most efficient way, so let’s get started shall we?
What Is The Best Way To Learn C#?
The answer/ approach given to this question is not just specific to this language but could also be applied to any programming language that you would like to learn. The golden rule in my opinion for learning any programming language is “Practice”. So the answer to our question: what is the best way to learn C# is Practice.
I recently answered a similar questions in forums and those answers are applicable for this question too. So let me elaborate a little more for the benefits of many.
C# is an object oriented programming language. So before even you to think of writing a Hello World program in C#, learn OOPS. OOPS is not just for C# it exists right from C++ era, so a good understanding of OOPS will help you to understand C# better and leverage it to the maximum extent when you write code.
Learn Concepts First, Syntax Next
Understand concepts, so that it is easier for you to relate them and use them when you develop real world applications. Anybody can learn (mug-up is the dictionary meaning ;-)) syntax but understanding a concept will provide you in-depth knowledge of the language and its features. Knowing under-the-hood stuff (internals) will help you a lot but this can even be done at a later point in time when you are more interested and passionate about what you learn and develop.
Learn C# by Watching Video Tutorials
The next best way to learn C# is to watch a video tutorial. It always makes life easier when someone demonstrates us how things are done. There are plenty of websites that gives you video tutorials in exchange for money but if you are a student then you can probably make use of the below official video tutorials.
PS: YouTube is not only for watching movie trailers and news, you can also use it to learn ample of stuff, C# too, try this https://www.youtube.com/results?search_query=c%23+tutorials+for+beginners
Contribute Back to the Community
Yet another Best Way to Learn C# is by engaging yourself actively in a community like Social MSDN or StackExchange. Both of these forums have a very high volume of programming experts who are very helpful for getting your queries cleared. But do not just stop by asking questions, do try give back to the community. Try to answer questions that someone raises in these forums and you will be amazed to see how it will enhance your knowledge. Knowledge grows only when you share it with others.
Best Books to Learn C#
You might be wondering why I haven’t spoken about grabbing an eBook, well IMHO there isn’t a single book that could encapsulate (oops, did I speak in OOPS?) everything about C#. Every book is just a reference/ could act as a starting point, but never ever think that you have mastered the language, when you end a book.
If you still would like to start with a book or refer it when you are away from the internet then you could try reading the below books:
- http://www.robmiles.com/c-yellow-book/ – This is an eBook so you could just print and keep a hard copy.
- Head First C# – All Head First series (For HTML, Java, etc.) follow the same approach, the book itself is written in a little bit different way and is very good book for someone who reads from beginning till end.
Free Tools to Learn C#
As I stated in the beginning of this article, the best way to learn C# is to practice it, below are some of the “free” IDE (Integrated Development Environment) that you can use to practice C#.
- Official Free Product from Microsoft – http://www.visualstudio.com/en-US/products/visual-studio-express-vs
- SharpDevelop is an Open Source IDE – http://www.icsharpcode.net/opensource/sd/
Note: Before even you try these IDE’s, try compiling a program from the command prompt; just to understand that you can also develop programs without IDE’s.