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
Hello everyone and welcome to THE .NET Core podcast - the only podcast which is devoted to:
- .NET Core
- ASP.NET Core
- EF Core
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.
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:
- Get to 21 released episodes
- Get a large audience
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.
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):
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— dotNetCoreShow (@dotNetCoreShow) Jul 29, 2020
This came a few weeks after asking a similar thing on LinkedIn:
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.
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
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.
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.
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.
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:
And I agree, the future of .NET is looking very exciting indeed.
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.
I asked over on the Coding Blocks slack
if you don’t listen to their show, then you really shouldand 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.
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 knowndoes 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?)
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:
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 withis 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
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
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.
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.
- The cover image for this episode’s show notes
- The first episode of Waffling Taylors, aka 56 Games in 63 Minutes
- Trust me, the quality got a lot better
- Getting Started in Podcasting
- RJJ Software
- Tabs & Spaces
- Asking the Twitter community for their thoughts on .NET
- Asking the LinkedIn commuinity for their thoughts on .NET
- Dustin Metzgar on Twitter
- The .NET Foundation with Jon Galloway
- Peter Shaw on Twitter
- Coding Blocks
- Orleans with Russ Hammett