←back to thread

.NET 10

(devblogs.microsoft.com)
536 points runesoerensen | 2 comments | | HN request time: 0.401s | source
Show context
jcmontx ◴[] No.45899182[source]
I've worked with .NET for over 10 years and we built our startup on top of it. Here are my thoughts:

Pros:

* Stability

* Very decent standard library

* Good balance between productivity and robustness

* Great package management

* Extremely easy to upgrade, so essentially free goodies (performance) every year or so

Cons:

* Very MSFT dominated (obviously)

* Subpar tooling outside of Windows (I'm looking at you C# Dev Kit)

* C# has way to many features, it feels bloated

* Culturally, it feels like .NET devs are less "passionate" about their work

* The freaking stigma of being a .NET dev: you will never be as cool as the guys who work with Node/Python/whatever

Edit: Also I'd like to add EFCore as one of the pros of the ecosystem. Hands down the best ORM. Others don't come close.

replies(8): >>45899274 #>>45899472 #>>45899662 #>>45899834 #>>45899898 #>>45900262 #>>45904735 #>>45908095 #
1. jerhewet ◴[] No.45908095[source]
> C# has way to many features, it feels bloated

Could not agree more. Too many -- WAY too many -- "features" from Javascript and functional languages have been jammed into C#, and the language has suffered for it. Every time I see "var blah" in C# code I cringe at how lazy you must be to not use strong typing when declaring a variable.

Same goes for "astink / await". If you need asynchronous multi-threaded code, use the damned Thread Parallel Libraries that Microsoft provided over a decade ago. Being forced to have every damned thing you write in C# wrapped with astink is just one giant code smell.

Yes, I'm old. Thank ghod I'll be retiring very soon, because as far as I'm concerned the tooling and languages I've used over the past 50 years have taken one step forward and at least three steps back in the past five years...

replies(1): >>45908683 #
2. nine_k ◴[] No.45908683[source]
Sorry, but var in C# is type inference, not dynamic typing, AFAIK. It's as strongly typed as a long-form declaration.