“How do I learn ASP.NET?”
“What is the best way to learn ASP.NET?”

These are two questions that I am asked on nearly daily basis. The answers are quite subjective and as everyone should know, there is never any “best” way to learn, but I thought I would share some of my thoughts on the topic and provide some resources for those looking to delve into the .NET world.

Languages

Since you need to actually know a language (at least one for humans and one for computers) before you begin your journey, it’s probably important to have an idea of what your choices are. There are primarily three main languages that you’ll encounter most often in the .NET world, so I’ll provide a few resources for each of the major ones to help you on your way.

C#

A modern, object-oriented, general purpose programming language with strong similarities to Java (if you are familiar with Java) and likely the most common language that you will see when working in the .NET world. C# is incredibly versatile and easy-to-learn and is widely supported. You should have no trouble finding examples for nearly any scenario that you would need in C#.

You can find a collections of resources for Getting Started with C# below:

Visual Basic

Another object-oriented language that may be quite a bit more elusive than C# with regards to being seen or used in many modern projects. Visual Basic has a syntax that you could argue is “all its own” and it may be a bit foreign to those coming from other languages like C, C++ or Java. Nevertheless, it is still a popular language and it is still being widely used today and while it wouldn’t be my first recommendation for a .NET language to pursue, it is an option.

You can find a collections of resources for Getting Started with Visual Basic below:

F#

One of the most elusive of the major .NET languages is F# and this is probably due to the fact that it is a functional language (although it can encompass object-oriented and imperative concepts as well) and it the youngest of the .NET languages. It has begun to gain more traction in recent years however it would receive a bronze medal if a popularity contest was held between the three languages listed here. But if you are feeling adventurous or come from a functional programming background, it is worth checking out.

You can find a collections of resources for Getting Started with F# below:

You’ll also need an actual development environment to run these in. Thankfully, Microsoft offers a free Express version of Visual Studio, its flagship IDE, completely free for personal and commercial usage, which you can download from the link provided below:

Books

Books typically aren't the first thing to come to mind when searching for resources on learning a technology, but people wouldn’t write them if they didn’t work. For you page-turners out there that learn best by being away from a screen and keyboard, I’ll provide a few highly recommended options that should give you a jump start into the .NET world:

Resources and Tutorials

For some reading can be one of the best ways to absorb the concepts when learning a new technology, however I have found that developers tend to learn best when they actually can sit in front of a keyboard and “develop”. I’ve always thought that the best way to learn to become better at something is to do that very thing and software development is not exempt from this rule.

I’ve compiled a list of different resources and tutorial series that I would recommend anyone that is looking to learn or become more proficient in ASP.NET to consider below:

Supplementary Learning

While tutorials and books are excellent resources, there are a few other resources that I would recommend (if you are interested) that cover not only ASP.NET but development in general and would likely be worth checking out: