C# and .NET Basics

Introduction

Spencer Schneidenbach

Spencer Schneidenbach

Aviron Software, Microsoft MVP
C# and .NET Basics

Check out a free preview of the full C# and .NET Basics course

The "Introduction" Lesson is part of the full, C# and .NET Basics course featured in this preview video. Here's what you'd learn in this lesson:

Spencer Schneidenbach introduces himself and provides an overview of the course on C Sharp and .NET. He also discusses the evolution of .NET, its benefits, and its relevance in the current market.

Preview
Close

Transcript from the "Introduction" Lesson

[00:00:00]
>> Spencer Schneidenbach: Well, welcome everybody to this frontend master's course on C# and .NET. My name is Spencer, and I am super excited today to be talking to you about the .NET and C# and all of the things in that. I'm gonna teach you the ecosystem, I'm gonna teach you the language, I'm gonna teach you things that you need to know.

[00:00:15]
And I'm gonna open up with, first of all, this website, if you wanna go to it in follow along, all the code examples, everything I'm going through is on this website. So you can follow along as much as you like. And we're gonna hit the introduction. And I'm gonna start with maybe what's gonna be the statement, the bold statement of the year, which is that I think that .NET is the best platform for making web apps in the world.

[00:00:37]
This is not .NET as it used to be, .NET has a bad rap. I get asked all the time, I used to do .NET it was Windows only, it was closed source. How do you like doing that in such an open world? Well, a lot has changed in the last ten years.

[00:00:52]
Ten years ago, Microsoft released .NET Core to the world, and it has been an awesome experience ever since. I've loved .NET even back when it was on Windows and .NET framework, and I love it even more now. A little bit about myself, I'm the president and CEO of a software consultancy called Aviron Software.

[00:01:11]
So .NET is primarily what we do, but we also do lots of React and React Native, in fact, my favorite web stack is ASP.NET Core with React is my favorite kind of stack to develop on. And we also do some Azure as well, cuz we live in a cloud world.

[00:01:27]
I've been recognized as a Microsoft MVP for the last ten years for my contributions to the community on ASP.NET Core, specifically, as you can probably imagine. And on top of that, I'm a .NET consultant with a bunch of years of experience doing .NET consulting in various forms. So my company's been around for about four years, there's about ten of us, and that's growing all the time, which has been really cool to see.

[00:01:50]
But I've been a .NET consultant, I think, ever since I started professional development at my full-time job. I think the first thing that I got was a website, kinda like Upwork. Then I got paid 75 bucks to write a SQL stored procedure, which I was super excited about.

[00:02:04]
So I've seen a ton of code bases, I've seen lots of different .NET code. I've also spoken at conferences around the world, specifically about .NET subjects and ASP.NET Core, which is my passion, and the thing that I spend most of my time doing. So, the goal of this course is to prepare you for professional .NET development, kinda show you how I write code and how I think that the pros write code.

[00:02:32]
And of course, if you don't do this in a professional capacity, if you just wanna build cool stuff, .NET is a great platform and a language for that as well. What I wanna show you, what I intend to show you is all of the things that I felt made me successful throughout my career and my journey in .NET.

[00:02:50]
So a few things that I wanted to kinda touch on as reasons why you should spend time, and I'm so excited that you're here. It's nice to see there's so many people that are interested in .NET because there's a lot to be interested in, quite frankly. First and foremost, lots of jobs, I hire for .NET with some frequency as my company has grown.

[00:03:13]
But more than that, there's companies all across the United States and all across the world that have adopted .NET as their platform of choice. And that could go all the way from legacy .NET all the way up to the modern stuff. So there's lots and lots of jobs, there's lots of opportunity in the market to be a developer and working on the .NET platform.

[00:03:32]
I think it's fun to write and I think it's fun to use. I may be a little biased cuz I started in .NET, and I've written in lots of other platforms, I've written all the way down, nitty-gritty PHP, WordPress plugins. I've written just straight PHP, I've written classic ASP, which is the old web framework back in the VB script days, made by Microsoft.

[00:03:55]
I've written stuff in Node, I've written stuff using Express. I've written them all, and I personally have the most fun and enjoy the most when I use .NET. I like the ecosystem and I love the language, I love the ecosystem and I love the language. I think this is a big one, open source and cross-platform.

[00:04:11]
I still get questions, I was asked just doing this, just starting this process, and kinda meeting people. Yeah, you use .NET, is it cross-platform, is that the thing yet? It didn't used to be, but it is now, and that has been huge. For the last ten years, they've really invested a lot in bringing C# and .NET into non-Windows world.

[00:04:35]
And you can see that I'm using a Mac, I live it all the way through. I'm not a big fan of Windows, I'm gonna be real with you. There's some things in Microsoft, I don't like that they do, and Windows is one of those things, but .NET is definitely one of the things that I love.

[00:04:46]
So, I'm here to say it is cross-platform and it is very open source, which we'll talk about in a minute. Another thing is that it has a strong developer ecosystem. So I believe, at the core, I'm a big business person, and I believe at the core that the network effect is really powerful.

[00:05:04]
The reason that Android, iOS have proliferated is because people use them. So the more people use something, the more value it has and tons of people use .NET. And thus it benefits from a really strong and core community that, when Microsoft doesn't do something, the community has risen up and the kinda reins and released some packages or things that have really added value to .NET.

[00:05:27]
I will touch on some of those in this course as well as my ASP.NET Core course. It's highly performant and scalable, so this is something that developers ask, how fast is it? Usually my answer is that even most web frameworks, Ruby or PHP or whatever, they're probably fast enough for whatever it is you're doing, but they've invested.

[00:05:48]
The last few years, Microsoft has made a huge investment in making .NET as performant as it can be. All the way to adding low-level language features that for embedded systems to really screw squeeze as much performance as they can out of the language and the ecosystem. Things that, frankly, I don't know and I don't use, but Microsoft has taken it seriously.

[00:06:07]
They used to, I don't know if they still do this, but ASP.NET Core, when it was really starting to ramp up, they used to measure their performance in nodes of performance. Such that, if they had a node application hosted and an ASP.NET Core application hosted, they said we can take five nodes of traffic, and we got it up to six and a half nodes today.

[00:06:24]
So they could handle six and a half times more than a node server doing a similar thing. I don't know if they still do that, but it's highly performance, highly scape. And then backed by Microsoft, which I believe is my favorite and the best tech company in the world.

[00:06:39]
One thing that I think that Microsoft has a huge advantage over companies like Google or Amazon is that you can connect directly with the product team very easily. .NET, modern and secure, and backed by Microsoft, they pour a huge amount of time and resources into making .NET the best platform it can be.

[00:06:54]
So I wanted to talk a little bit about the goal of the course. The goal is to teach you about the most important parts of the language and the ecosystem. And I define important as being important to the real world. So this is a course really built around pragmatic approach to .NET.

[00:07:12]
This isn't an ivory tower, there are no ivory towers. I'm not here to teach you the one true way. I'm here to show you things that have worked for me and throughout my career. I'm here to kinda show you decisions and trade-offs, because that's what software engineering ultimately is, it's a series of trade-offs.

[00:07:26]
So I wanted to kinda emphasize that in .NET, as part of this journey, as part of this course, I will be talking about all of that. And I will happily and boldly tell you about things about the ecosystem that I like and things that I don't like. I also don't believe in magic in code.

[00:07:44]
I mean, there are some things, if I looked at the string class and I tried to see how they implemented certain things, I'm probably not gonna understand that code very well. But some of the framework code for building ASP.NET Core apps is surprisingly approachable. It looks like code that I would write.

[00:07:59]
So, I plan to show you my real-world experience using .NET, the stuff that's been important to me. I plan to show you professional best practices. I'm not a lead coder, I don't know how to do a bubble sort, I think that I don't do lots of one lines, I often optimize for code clarity over what would be latest of code.

[00:08:20]
I wanna show you how I, as a professional developer, and other professional developers write C#. As I mentioned, we will be looking at source code and I will be showing you practical examples throughout this entire course. And if some things deviate from what I would do in practice, I might be showing you something that really is good for demonstrating a language feature.

[00:08:38]
But I will contextualize that and say this is probably not how I would write it, but it's important that you have a good foundational knowledge of C# in order to proceed. So I'll clue you in when I have those examples. The very last thing is that I am opinionated, I think opinions are really useful.

[00:08:54]
Opinions help me make micro decisions that help me be a really fast and pragmatic developer. Lots of people like to get hung up on paralysis analysis. So, I am a believer that making a decision and not waiting is better than not making a decision.
>> Speaker 1: Do I miss something if I'm outside the Windows ecosystem while using .NET Core?

[00:09:15]
>> Spencer Schneidenbach: That's such a great question. The answer is no. I mean, it's kind of no, for modern .NET, everything that you see, everything that I'm showing you today, all the new stuff. And I plan on showing you new language features as well as the older language features that you know because some people work on different versions of .NET.

[00:09:33]
All of that stuff is accessible on Mac, I do 90% of my software development on a Mac. That said, there are legacy parts of .NET that some people don't like to work on, and understandably so. It's nice It's nice to work on new exciting stuff. But if you're working on like ASP.NET, web forms, or anything in the .NET framework, then you're not exactly missing out, it's just those things are Windows only.

[00:09:56]
However, I would say that there's no trade-offs for using a Mac.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now