Intro to C#

Hello everyone!

Today I am going to talk you about C#, what’s nice about it, why one would learn it and why should you?

C# is one of the high level languages due to its high abstractization level. This means that each instruction is translated into much machine code but it offers to programmer the possibility to express complicated things with few code lines.
C# it’s also a pure OO (Objected Oriented) Language, except for the primitive types (int, double, string…) meaning that everything is an object (there are also wrapper classes for the primitive types: Double, String …)

It has a big advantage having the syntax similar to C or C++ if you’re familiar with OOP concepts. Being an evolved language it has a garbage collector meaning you don’t have to worry about memory management.
Despite many people are saying C# it’s not portable this is not actually true. Thanks to MonoDevelop, an open source IDE (I am also contributing to it – you can too!) you can now code in C# on Linux and you can code applications for Android up to .NET 4.5 and C# 4.0.

So why is it so great?
Well, because you can do complicated stuff very easy and straightforward and it’s easy to learn if you are already familiar with C/C++.
C# has been designed to be simple and it works great. It has a the best IDE namely Visual Studio 20xx(2013 is the last version, but 2008,2010,2012 versions also exist). Some of people would say this it’s very expensive(there is also an Express version which is FREE) but for students it’s free anyway(through Microsoft’s partnership with various universities).
There is also another advantage that C# has now. You can develop applications for Windows 8 and Windows Phone 8, two fast growing OS for PC and mobile respectively.

Through the .NET initiative you can design Windows Forms, WPF (Windows Presentation Foundation), WCF (Windows Communication Foundation) applications with C#.
So, if you want to get started programming some real world applications, C# can be an excellent choice, being a modern and ever developing language.

But as I always recommend when learning something new: Work on a fun project! Learning should be fun 🙂

Some code snippet:

using System;  //System is a namespace

class Program
{
    static void Main() //Entry Point in our program
    {
        Console.WriteLine("Hello world!"); //Note that Console it's a class and WriteLine it's a method(function)
    }
}

If you have further questions do not hesitate to contact me.
Now I have 2 books to start with, both free. Personally I think the first it’s better. Enjoy!

Fundamentals-of-Computer-Programming-with-CSharp-Nakov-eBook-v2013 csharp_ebook

csharp_ebook

Simple Share Buttons