The Modern .NET Show

Happy 2nd Birthday & Community Reflections

Embedded Player

Happy 2nd Birthday & Community Reflections
The .NET Core Podcast

Happy 2nd Birthday & Community Reflections

Supporting The Show

If this episode was interesting or useful to you, please consider supporting the show with one of the above options.

The image for this episode’s show notes comes from Unsplash. The original photographer is Jason Leung and the orginal image is available here

Episode Transcription

Hello everyone and welcome to THE .NET Core podcast - the only podcast which is devoted to:

and not forgetting The .NET Core community, itself.

I am your host, Jamie “GaProgMan” Taylor, and this is a special episode of the podcast created specifically to celebrate the show’s 2nd birthday. In this episode I’m going to talk a little about the show, and a little about the evolution of .NET.

So let’s sit back, open up a terminal, type in dotnet new podcast and let the show begin.

Getting Started

Back in early 2018, I was thinking about why there weren’t any podcasts on .NET Core. I’d reached out to a few friends to see whether they thought it was a good idea to start one, and they were all supportive of the idea. I’d already seen success with a video gaming show that I had started with my brother called “The Waffling Taylors”, so I already knew the amount of effort that was required for a podcast.

I took myself off to my local coffee shop with my laptop in hand, sat with a coffee, and started planning out some episodes. I started with an idea for three episodes and ended up planning every single monologue

except for this episode and a few, as yet, unreleased monologues

This meant that the first 13 monologues were written and planned out before I ever recorded a thing. This is something that I advise people to do all the time. In fact, it’s part of a “getting started in podcasting” course that I’m putting together with RJJ Software, and it’s how we got started with Tabs & Spaces

which is a podcast that I work on with Zac Braddy and James Studdart

I had long term goals for the show back then, and those goals were:

My original notes say, “large = 100 listeners per month”. So I’m consistently blown away when I look at the statistics for the show and see that there is an average of 11 thousand listens per month. I remember being completely awed when the show first hit 1,000 all-time downloads, so when I look at the stats today (a few days ahead of recording) and see that the same stats are sitting at 205,000 all-time downloads for the life of the show, I’m kind of lost for words.

A graph of all-time downloads for the podcast, showing a rise to 203,867 total downloads since August 2018
Even with the drop in the first quarter of 2020, I’m blown away by the support that the show has received

One of the most interesting statistics for the show is the number of listens for episode 6 “But What Is Mono?”. Being that Mono is both a .NET technology, but that the word also means “single”, I find it interesting that it has only had one listen since it’s release on October 5th, 2018. However, when you add the numbers from the YouTube channel

each episode is simultaneously released on YouTube and the RSS feed

it seems that it’s more popular in video form, with 463 views (at the time of writing):

A screen grab of the view stats for the YouTube version of episode 6 of the podcast - "But What Is Mono?"
A screen grab of the view stats for the YouTube version of episode 6 of the podcast - "But What Is Mono?"

Before I go on, I want to issue a huge thank you to all of the guests, all of the people who have given advice, and to you - the listeners. Without all of you, this show would have disappeared after the first 10 or so episodes. It’s no joke that the support for this show continues to blow me away, so thank you.

Reflecting on .NET

A few weeks back, I sent out a tweet saying:

I’m working on a special episode about the evolution of #dotnet and #dotnetcore. I’d love to hear your thoughts on where we’ve come from, where we’re heading, and what you’d love to see in .NET. I’ll quote you, and you can even be on the episode discussing it. Reach out today

This came a few weeks after asking a similar thing on LinkedIn:

A screenshot of a LinkedIn post asking for input from the community about the evolution of .NET
A screenshot of this post on the show’s LinkedIn page

I’d wanted to get the thoughts of the folks in the .NET community on the evolution of .NET, and use them as fuel for a discussion on where we all think .NET could be headed.

Community Quotes

First, there’s a wonderfully succinct quote from Lee Englestone:

lookout for an episode with him on AR and .NET

For me .NET is a varied toolbox for my imagination and creativity

- Lee Englestone

I completely agree with Lee here. He’s managed to hit the nail on the head about .NET’s ability to get to the heart of creating a solution to a problem, exploring the technology, or creating something: it’s fun to do and you can get started very quickly.

Next up is Dustin Metzgar:

you may remember him from episode 3

.NET Core’s biggest improvement for me is decentralization. .NET Framework grew in big steps from 1.0 to 4.5 with little influence from its users or visibility into its construction. .NET Core not only opens the source but also exposes the teams and devs involved in each project. You can see the issues filed and the conversations around them. Most packages follow their own cadence instead of one massive release for everyone. Individuals that don’t want to see a project die because Microsoft isn’t investing in it anymore can take the project over and even be endorsed and supported by the .NET Foundation.

- Dustin Metzgar

For me, it has been amazing to watch the folks behind .NET move it over to open source, split it up into components, and allow those components to evolve or for the community to continue to support and improve those which Microsoft doesn’t think they could give justice to. For that reason, I agree with Dustin here.

if you’re interested in finding out more about the .NET Foundation, I’d recommend listening to episode 19

Friend of the show Peter Shaw had a fair amount to say, so I’ve split his quote into several points:

I feel that with Core, MS have FINALLY gotten dotnet right. Personally I think it should have been cross platform years ago, instead of depending on the likes of Mono to provide it’s cross-platform user story.

- Peter Shaw

Supporting the cross-platform story out of the box was always going to be a tough point for Microsoft, but I’m really glad that they have chosen to do it. I remember saying to Dave Rael, back in episode 15, that being able to run the same code on my Windows 10 machine, macOS machines, and my Linux based machines was a dream of mine for a long time.

Peter goes on to say:

.NET to me now is actually, genuinely useful for many of the same reasons I was almost tempted to the dark side of NodeJS, being free to build on what ever platform I desire, and having a super flexible usage model that allows me to automate it from anything and anywhere.

- Peter Shaw

This is so true, and an important parallel to draw. In fact, .NET Core started its life using libuv which is the same I/O library that Node used at the start of its development - it was replaced in version 0.9.0 though. I like to think that Node was seen as a direct competitor to .NET, which was likely why version 1 used a project.json file similar in format to the package.json found in Node projects.

Peter wraps up his point with:

It’s taken .NET a helluva long time to get to this kind of level, but now where [sic] here, and the future is looking very rosy indeed.

- Peter Shaw
And I agree, the future of .NET is looking very exciting indeed.

I asked over on the Coding Blocks slack

if you don’t listen to their show, then you really should

and Russ Hammet had this to say

you might remember him from episode 21

It’s so much more user friendly and accessible to people now. I worked on an original framework project a few months back and did I hate it after being used to what we have now, regarding project files (specifically csproj) and NuGet package management. I didn’t think it was bad at the time, but oh my god do I now.

- Russ Hammet

It’s true that going back to older, Framework, projects can be difficult. .NET Framework does things differently to how .NET Core

or "5" as it will soon be known

does things. But that’s because there have been 20 years of innovation and improvement, we also don’t build software like we used to. .NET Framework was always meant for enterprise applications which would never reach out of the intranet, but we now have infinitely scalable services being served from datacentres all over the world. It’s exciting stuff to be sure.

Russ also said:

Visual Studio Community is a very nice thing to have for people just getting started tinkering at home, and/or with open source projects. open-source MS is just more accessible than pre-Nadella days (i think that’s when it started right?)

- Russ Hammett

The free tiers of Microsoft’s tooling for .NET development are up there, in terms of quality, with some of the most expensive tools for languages and frameworks. Although you don’t have to use it, Visual Studio really is one of the most feature-rich IDEs out there - and that’s to say nothing of the likes of Rider from JetBrains

which is equally feature-rich, if not more

Devin Goble (also in the Coding Blocks slack group) added to that with:

Add that to the fact that all of the tooling is decoupled from the IDE and OS, and you’ve got something that is as, if not more, approachable as the industry darling that is JavaScript. With a couple of orders of magnitude fewer files as well.

- Devin Goble

Whereas .NET Framework development was very coupled to Visual Studio - it could be done without involving Visual Studio, but it wasn’t easy - .NET Core is IDE agnostic. In fact, one of the topics of conversation in a future episode with Zac Braddy

one of the people that I host Tabs & Spaces with

is whether .NET Core code can be written in vim - you’ll have to wait for that episode to find out whether it can be done

unless you want to install vim and find out

Mikberg (still on the Coding Blocks slack group) had this to say:

1.We got web forms to make applications in a RAD way
2.We got linq so that we could access data without typos. eg. no broken column names at runtime
3.We got MVC to make our web apps leaner and with more precision
4.We got cross platform to help us leverage our code and skills to fullfill the promise of the original Microsoft mission statement - "great microsoft software running on computers everywhere" - part of the cloud first / mobile first
5.We got open source so that .net could experiment with other technologies that might not be important today but could be in the future. linux/ mac / raspberry pi/arm / docker and k8s now with .net a full stack means a dev or small team of devs make yesterdays impossible=>hard, and the hard => easy

- Mikberg

I agree that everything Microsoft and the .NET community have done since the inception of .NET Core has been driving our applications towards smaller, faster applications which can be booted in more constrained environments.

Boldty had this to say:

I’m a big fan of the evolution. I have to maintain framework projects and it feels kinda bloated compared to dotnet core. I also feel like I’m forced to use VS for those without the cli. Also all the syntactic sugar they always add is just awesome

- Boldty

I agree with everything that Boldty says here. The CLI is a joy to use, and the fact that Core is split into fragments means that the applications that we build with it can be quite small, meaning that we can spin copies up as quickly as we want.

Wrapping Up

That was my celebration episode for the 2nd birthday of the podcast, and some community reflections. I’m really looking forward to seeing what direction Microsoft will take with .NET in the next year or so. Be sure to check out the show notes for a bunch of links to some of the stuff that I talked about, and full transcription of this episode. The show notes, as always, can be found at dotnetcore.show, and there will be a link directly to them in your podcatcher.

And don’t forget to spread the word, leave a rating or review on your podcatcher of choice - head over to dotnetcore.show/subscribe for ways to do that - and to come back next time for more .NET Core goodness.

I will see you again real soon. See you later folks.

Follow the show

You can find the show on any of these places