Introduction
As the title specifies, I will be sharing my learning experience; the intended focus is towards beginners. I will be using VS code and C# programming language for writing the demos.
Agenda
- .NET is evolving
- Introduction to .NET CORE
- Running your first dot net core program
- Visual Studio Code
- Dotnet Watch
1.0 .NET is evolving
In case you are not aware of .NET framework, my honest suggestion would be to go to the link and learn what exactly NET Framework is. .NET framework's first beta version was released by late 2000, .NET 1.0. After that, .NET has evolved a lot and it has been a successful 16 year journey in which .NET has been accepted by the community to develop various kinds of applications; i.e., Windows desktop applications, Web applications, services, and mobile application. As it’s evolving, now a single .NET framework is matured enough and has a family of frameworks depending upon the OS platform that we want to target (Windows, Linux, iOS, Android).

Figure 1: NET Family Image source: https://blogs.msdn.microsoft.com
The following table shows the .NET version and release date.

Figure 2: NET version and release date
In the current ecosystem of .NET frameworks, we have .NET framework, .NET Core, and Xamarin.
1.1 .NET Framework
.NET Framework is primarily developed for Windows. It is a matured framework and we have been using .NET for ages now. It ships with Windows OS and new versions get serviced using Windows updates or standalone downloads from the web. It’s a collection of base class libraries which are used to develop various kinds of applications (Windows client {application WPF, Windows forms}, Windows Store apps, Web app {ASP.NET Webforms, ASP.NET MVC}) and much more.
1.2 .NET CORE
.NET Core is a new framework which is written from scratch. The whole .NET Core concept is new and it is not as mature as our .NET framework.

Figure 3: NET for all Image source: https://www.simicart.com
Microsoft was going with ASP.NET 5.0 as the name because 5 is greater than 4.6. The famous sentence said by Scott in one of the conference videos is: "life is complicated, the organization is complicated, technical decisions are complicated”. My honest suggestion, if you are curious enough to know why they changed the ASP.NET 5.0 to .NET CORE 1.0, go and watch the below video conference of Scott Hanselman, you will get all the insight planning about what they were thinking and how they sorted out all the design problems.

Figure 4: NDC Conference
.NET CORE is an open source cross platform which means that we can run our .net application on Windows, MAC and some UNIXES.
The .NET CORE home repository is available on https://github.com/dotnet/core.
1.3 Xamarin
With iOS and Android rule the mobile world, mobile developers usually move towards Java, Objective C, Swift, Hybrid etc. to develop a mobile application. Microsoft seems to be lagging behind in engaging mobile developers to their set of technologies(.NET skills). The Mono open source project was launched on July 19, 2001, as a .NET linux version. In July 2011 Mono was licensed. On February 24, 2016 Microsoft acquired Xamarin. So now with the help of Xamarin a .NET developer can also easily develop a mobile application which can target a different platform.
1.4 Introduction to NET CORE
Before starting with the demo, let’s learn how to get .NET Core on your machine. In order to get the .NET core go to here.

Figure 5: Choosing the framework
Click on .NET core. During my last visit to the website lots of things have changed. Anyhow, I am also learning. Click on Windows as I am using a windows machine. I will select Windows.

Figure 6: Choosing OS
Once you click on Windows the below UI will appear.

Figure 7: Choosing Environment
There are different flavors of environments that you can choose to run your .NET CORE programs. I will be choosing the command line/another environment as I will demonstrate the programs using command prompt and Visual studio code. Click on the command line and follow the instructions as discussed in the video tutorial.
We will be using C# as our primary programming language. If you are new to C# you can learn the basics to get started and unleash the power of C# from here. So I will be downloading .NET Core SDK in order to get started.

Figure 8: Download SDK.
I have a pre-installed .net core in my machine, so in order to check that I have .net in my machine I will just write the command dotnet as shown below.

Figure 9: Running dotnet.
So I have dotnet 1.0.1 installed on the machine from the last time I downloaded the SDK from the web. So in order to check the dotnet in Linux how will I know to which command to run? I had the curiosity to run .net code program in Linux but I didn’t have Ubuntu or a Mac machine. So I figured it out using a website called Codenvy.

Figure 10: Codenvy the saver.
Code envy is Developer workspaces to modify, run and debug code in the cloud or on-premises. I got a workspace to run .net on Ubuntu just to have felt that I ran the .net program on an Ubuntu machine. I will not be talking about how I get started on Codenvy, as it’s not within the context of this article.

Figure 10: Running .net core on Ubunuty using Codenvy services, running dotnet command to check the version of .net.
So now once you download .net core sdk from the web it will be around 45mb only. Run the sdk.

Figure 11:Installing Microsoft.NET Core 1.1.0
Once the installation gets completed you are good to go and can run your first .net core program.
So in order to create our first program let's go to the past and see how things have evolved to save time in teaching. I started my Computer Science career perusing Bachelor of Computer applications, and that was the first time I heard of .NET, VB.NET, C#. I remember my practical class where we used to run all our demos and play around with code. I remember this three guys when I was installing vs 2008.

Figure 12: Software engineer seems to be like these for me.
It took almost 1 hour to install and if something went wrong then you started again. So the whole day used to be gone on installing and making a machine ready to even just to write “Hello World”. While now it’s a different story; we didn’t install anything except dot.net sdk and it hardly took 2 minutes to download depending upon your wifi speed and we don’t need to install Visual Studio to run hello world. Even in the performance benchmark .net core has seen a huge improvement that is why it’s called a lightning fast framework.
2.0 Running your first .net core program
So now in order to create our first program using .net core follow the simple steps as shown below.
- Make a directory (md FirstDotnetProgram)
- Go to directory (cd FirstDotnetProgram)
- Write dotnet new






















Sahil SharmaPosted Dec 19, 2016, 11:37 PM
Nicely written article. Thanks for sharing
Jaco ZwartsPosted Dec 14, 2016, 2:15 AM
Thank you for sharing this, really interesting!