.NET and C# are in trouble. Here is what I'd do.

preview_player
Показать описание
I think .NET and C# are moving too fast and focussing on the wrong things. Lets talk about it.

0:00 The debate about .NET and C# moving too fast
1:26 .NET's big problem
2:06 OMG WOW look at these AMAZING new C# features everyone asked for!
3:39 What the .NET team could be doing instead
8:50 How I'd fix it

#dotnet #csharp #coding
Рекомендации по теме
Комментарии
Автор

Please consider subscribing if you haven't already 🙏 Hot takes and coding tutorials guaranteed.

edandersen
Автор

I think there is one part of the story missing here. What you are proposing is what .NET historically came from. A slow moving framework with extremely long LTS. This strategy made .NET lose to things like Node.js. So what you are seeing in terms of rapid development of the language+framework is the response of MS losing market share and trying to innovate to gain adoption and I think that approach has worked well.

Go back 10 years and mostly enterprise shops with old devs did .NET, that's no longer the case.

Maybe it's time to slow down. But without the historical context I mentioned above, it might be hard to understand why things are like the are.

Thanks

OlofDahlbom
Автор

The problem with C# is that it's gaining so much ALTERNATE syntax, so instead of one way to write something, there are now 4 different ways to do the same thing.

The whole argument of, "You don't have to use it" is, to be blunt, bullshit, because sooner or later, you'll need to use or read code that does use these alternate syntaxes.

Kestrel
Автор

I think .NET desperately needs a Microsoft supported batteries included template like Laravel with auth, queues, scheduler, middleware, signalr, orm and so on preconfigured. You would save days in configuration time and issues for people who haven’t set up that kind of stuff before. Also it would bring a paved path for people still wanting to do it themselves, which we are really missing in key areas

Zorxh
Автор

As someone who started with C# over 15 years ago: I love how quickly and useful the language still evolves. I used to dislike new language features, but after I got to use them more often and kept adopting all of them until I liked them, I realized the issue was just me being too comfortable using old stuff and that the language design team did a great job and made great decisions all the way along.

The only thing I wished for is more manual memory management and banning null completely.

wobuntu
Автор

So you're wrong on many levels. Securing an API is baked in. You do NOT have to use Entra, IS4 or Azure B2C. Any OpenID / OAuth provider will work. Also, you point to Django, Laravel and Ruby as better options, but find me a case where those are used in an enterprise? You typically see those in smaller projects, while the larger ones use .NET or Java. As for frequent releases - C# DOES NOT change its syntax each year, but adds new features. You can use them if you want, but you can also ignore them and do what you did 5 years ago. The point being is that with .NET / C#, you can constantly evolve your code with new features and new patterns, while Python is barely on v3 after 20+ years on the market (oh and v3 is not the same as v2 so go rewrite your code). Java just recently (within the last 5 years started to innovate and add new features). And lastly, .NET and C# are open source, so I'm not sure why you fixated on Ruby's MIT license in the video.

AlexTushinsky
Автор

As a developer I enjoy receiving these regular updates and language improvements and due to these short LTS timespans I get to actually use these features in production code. If it wasnt for that, companies would much slower adapt and drive eager developers mad because they are stuck with a 10 year old framework that they hate to support after some time because newer and better things are out.

thomasg.
Автор

As desktop app developer, I get quite frustrated that these days, .Net is synonymous with web development. Pretty much every .net youtube channel focuses around web. All the new features focus around web.

SirBenJamin_
Автор

Java programmers are watching with interest. about half of them work on Java 8, although Java 22 has already been released.

anthonydixon
Автор

I think you nailed it. Absolutely exhausting trying to stay up to date while doing your actual job which is building and maintaining!!!

dougfunk
Автор

As someone that’s been supporting applications which have been built in .Net Core 2.1/2.2/3.1/5/6 and most recently 8. The hardest part is justifying an upgrade to an existing API which is working, to a new version without any “business benefits”. So whilst I like clicking file-new and using the latest framework. Companies need to understand that these applications when building on .Net Core or front-end technologies are never done, they require yearly/ 2 year upgrades just as companies do with hardware (eg laptops).

robmason
Автор

As a beginner I always wondered when and how this new thing came up in C# and its kind of frustating

delishkhadka
Автор

My biggest worry with .Net is that it often tries to push you towards their Azure Cloud Service.

georgeluyckx
Автор

C# is not a "web development framework", it's a programming language. Most the things you're asking should be directed at Aspnet team, you know, the ones working on a framework, not the language design team.

IMO, it's completely insane to ask for slowdown on language features. If you're ever impacted by a breaking change in the language, you can specify a language version in your project.

valters-tomsons
Автор

5:50
Identity Server uses a standard (openid connect, which sits on top of oauth 2.0), so any other identity provider/authorization server that uses this standard can be easily implemented too (I don't know about the 2 others).
The documentation is just lacking some details and make it seem like there are only these 3 solutions, but in fact there are many others (to name a few: keycloak, auth0, adfs).
And even that is non exhaustive, there are other ways to secure applications that .net supports but are poorly documented.

GalacticFriedChicken
Автор

Some time ago I started using Go after more than 2 decades with C# and, because it gave me the comparative experience, I completely agree with you (I still use both). Too many features can indeed become a hindrance and I find myself actually more productive while using Go, and especially while maintaining Go code. Concerning breaking changes, Go was released to the public 12 years ago and the current version is still 1.x, which means minimal breaking changes, since initial release for 12 years, absolutely nothing compared to what we have with .Net.

rui.craveiro
Автор

The whole industry is addicted to the new shiny toy. Is it for developers and users that a new product is introduced every year? I don't think so. It seems like a good question for a new person, which version will they start learning from? What about the learning content producers? I think software development is now a fair that moves forward with decisions without deep thought. Every application is loose, full of bugs and seems to have been developed in a hurry. The applications I used on 386 sx 25 hz computers were more responsive and faster than the ones I use now. The whole industry has turned into a clown show.

kaplansedat
Автор

I agree with you. The most annoying aspect to me is that now when I write by-the-book C# code from two versions ago, Visual Studio is graying the code out and suggesting I "fix" or "simplify" the code, using (in my opinion) these uglier and less readable syntaxes I would rather not use.

thebarryman
Автор

I LOVE how fast the language and framework are evolving - new features, new syntax, and major performance improvements. Keep em coming!

PaulinatorJananator
Автор

I am on the opposite side =) I'd like MSFT to release features as soon as they are ready as it was with .NET Core 2.1, 2.2

VoroninPavel