Educational: Why C#? What is the .Net Framework?


Greetings,

I stated my new initiative is to educate the masses, so why not start with the place in which the masses at one point also began?

C# (pronounced C-sharp) is a programming language developed by Microsoft. C# is written against a framework called the .Net Framework (pronounced, dot net framework).

All this means is that out of the box C# comes with a lot of functionality built-in for you. The .Net Framework is essentially just as it sounds. It’s a collection of tools to help you do your job more easily.

You don’t need to reinvent the wheel, and the wheel is the .Net Framework.

<tech speak>

When you write code against the .Net Framework, it is compiled into another language called an intermediate language. In-fact, C# is not the only language under the umbrella of the .Net Framework; there’s VB.Net, C++.Net, F#, A#, P#, and many more (complete list here). When you write code in any of these .Net languages and compile it, the .Net compiler turns your human readable code, into the less human readable intermediate language. This language is complex, but can be interpreted and transformed once again into native code (or machine code). The glory of this process is what allows 5 developers, all using different languages targeting the .Net Framework to work on the same project at the same time (not that this would happen often).

</tech speak>

So with all of these other languages out there, why choose C#? Why even choose the .Net Framework for that matter?

Both good questions, and both have complex answers.

Myself being a C# developer, am a little biased. However, from my experience over the past 6 years, here’s what you should know.

If you’re wanting to work on intensive, high performance video games targeting the popular platforms out there (PS3, Xbox 360, Wii), then C++ is the language you should learn.

If you’re wanting to get into phone development, then depending on the platform you choose, iPhone = objective C, Android = Java, Windows Phone = .Net (C#, Silverlight).

If you’re wanting to work on web development, then you have a lot of avenues you should investigate (HTML, CSS, Javascript, Flash, Silverlight, PHP).

There’s a lot more fields and languages to suit them, but the last one I’m going to talk about is tools development. What is tools development? What is a tool? Well, aside from that guy in highschool that wore his football jersey every day, a tool in the context of software development is an application that aids another person. Consider it analogous to a tool you would pick up out of a work shed to aid yourself in some home improvement task. Tools are an amazing asset to software development. A tool could be developed for internal use within your company or team, or it could be developed and released to the public. Microsoft Word is an example of a tool in the public. In-fact, all of the Microsoft Office suite applications are tools.

In this day and age, quick turn around time is important for tools and application development. Remember the .Net Framework that I mentioned before? Well, it comes with a ton of building blocks out of the box to assist you in getting your job done faster. For this reason among many (read… many) others, and the simplicity (arguably) of the .Net Languages (most notable, C#), the .Net Framework is a perfect choice for tools and application development. It is also a great way for first time programmers to jump in and get their feet wet with software development.

There is always market research being conducted on where the jobs are geared towards in programming these days. I can tell you that familiarity with the .Net Framework is a plus in a lot of companies out there. I haven’t seen every job, but I have casually job hunted over the past few years and the market never ceases to amaze me with its plethora of jobs targeting the .Net Framework.

<closing>

I hope you were able to take something away from this. I wanted to talk about C# and the .Net Framework first before I lectured on coding. If you had familiarity with this already, then I hope it was a refresher for you. If this was all new to you, then I hope this was helpful in aiding you in deciding what path to take next.

In any case, if you have any questions, feel free to email me or leave a comment here.

</closing>

Advertisements

One thought on “Educational: Why C#? What is the .Net Framework?

  1. “Educational: Why C#? What is the .Net Framework? | mariocatch
    on .Net – WPF – VC#” ended up being a superb blog. If merely there were way more web blogs
    like this excellent one in the web. Well, thanks for your personal
    precious time, Analisa

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s