Doing a Double-Take with .NET Core

For some programmers and other technologists, when Microsoft or .NET are mentioned, modern web technology isn't the first thing that comes to mind. With the introduction of .NET Core and some time for the associated frameworks and tooling to stabilize, it may be worth taking another look. Here are some of the highlights of the new .NET Core platform.

A More Universal Developer Story

When a developer wanted to start working with .NET in e.g. 2008, they would have needed to have the following: - a PC - running Windows - a copy of Visual Studio

...and they're out. Many amateur developers wouldn't have had the money for Visual Studio, and may have had an Apple computer or a PC running a Linux or BSD distribution, which means .NET was a non-starter. They never even got to consider the technology itself.

Moreover, other platforms appeared and offered a more accessible on-ramp experience. Take NodeJS, for example. Not only did Node provide a traditional programming environment for a language (Javascript) that had been mostly confined to the browser util then, but it offered a package manager and the kind of free-wheeling tooling that didn't have strong opinions about operating systems or editors or build tools.

.NET Core has evolved into something similar - but with all the strengths of the .NET technologies involved. Programmers can now build .NET applications - web or otherwise - without Visual Studio and without being locked into a secondary tech stack that doesn't fit their lives or circumstances.


.NET Core has been designed with platforms other than x86-based Windows PCs in mind. In fact, Microsoft now supports production deployments of .NET Core applications in macOS, Linux (a variety of distributions), and Windows. Other platforms (and CPU architectures) are planned for upcoming major releases.

Open Source

The entire .NET Core stack is being developed in the open, generally on GitHub. The primary GitHub organization for .NET Core is located here: Not only is the core runtime being developed in the open, but so are the compilers for both C♯ and F♯, the base class libraries, as well as the new ASP.NET Core. There is an outstanding launch page located at this repository: dotnet/core. I highly recommend any reader interested in .NET Core visit that repository early and often.

Getting started

To see for yourself the new and improved .NET and try it out, download the SDK from and install it on your preferred environment.

Then, navigate to a folder where you can create a new project, like this:

$ cd projects
$ dotnet new console -n myproject
The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on myproject/myproject.csproj...
Restore succeeded.

$ cd myproject
$ dotnet run
Hello World!

That's all it takes to get started.