I must say that I haven’t blogged in a while and even that is an understatement. But I’m back! For now anyways… Let’s move on from that.
I should preface the rest of this blog with some expectations I would like to instill into you as the reader. This is a big boring book. If you don’t have any interest in learning C# then I would not recommend reading this blog. Also, I am going to eventually write something that might not be completely correct. This is a learning process for me (both blogging and C# development) and I will make mistakes. If you see anything that is so far from the truth that you physically cringe at the statement, please contact me at email@example.com. Now let’s begin!
Chapter 1: Introducing C#
Here are some questions that you probably would like answered:
- What is C#? C# is an object oriented programming language that utilizes Micorosoft’s .NET Framework. Basically, this language allows you to create objects, add some attributes to the object, then manipulate the object and its attributes (and a ton more). I.E. Create an object called Car. Add some attributes to the car such as color, weight, amount of wheels, etc. After this, you can create an unfathomable amount programs surrounding this car and it’s attributes.
- What is this .NET Framework? Pronounced ‘dot-net-framework’, This is the library for C# and some other languages as well. Allow me to elaborate. If you are trying to write a program for a desktop application, .NET Framework provides all of the building blocks needed in order to do so. Imagine that your grandmother wants you to do something. In order to do this ‘thing’ you must go to a library (If people still do that these days) and pick up a book and read this book in order to do this ‘thing’. Now that the library has provided the material to do this ‘thing’ all granny has to do is tell you exactly what they want done and you can do it. In this case the library is .NET Framework, you’re C#/the application, and your loving grandma is the developer.
Now that I have written a that terrible analogy, I would like to take the relationship between C# and the .NET Framework out of the friend-zone and into a Facebook verified relationship. Let’s discuss the details a little further.
How exactly does C# talk with my computer and tell it what to do? The answer is: MAGIC
Okay so there’s a little more to it than magic. Here’s how it goes:
- You write C# and you want it to do some techy programming stuff.
- C# compiles the code in CIL (or just IL). CIL stands for Common integration language.
- This CIL is then taken by the CLR (Common Language Runtime) and then converted to the native language of the operating system. This process is called JIT (Just in Time compilation)
It is important to note that CLR is provided by the .NET Framework. This is one of the many building blocks that .NET Framework provides. Without it, that amazing game that you spent months developing, is useless (in more ways than you know).
Before this blog becomes tltr (Too long to read) I would like to take a second to point out some of the applications that you can create using C#: Desktop Applications, Windows Store Applications, Cloud/Web Applications, Web APIs, WCF Services. Yes, this means that you can program a video game in C#.
To conclude this post, there is plenty more to know and understand about how C# and the .NET Framework correlate. Unfortunately, I do not have the time or understanding to explain further. If you are wondering where I am pulling this information from, please take a look at my resources below. I look forward to seeing you in my next blog about Visual Studio 2015 and how you can use it to create your C# masterpiece!