←back to thread

.NET 10

(devblogs.microsoft.com)
489 points runesoerensen | 3 comments | | HN request time: 0.333s | 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. deburo ◴[] No.45899834[source]
* C# has way to many features, it feels bloated

Most of the newer features make C# less cumbersome to use. I can't imagine using the language from ten years ago, in fact the first thing I do when working on a legacy app is to set langVersion=latest.

replies(2): >>45900144 #>>45900182 #
2. jcmontx ◴[] No.45900144[source]
Sometimes less is more. It very easy for devs to use the language in completely different ways. I lean towards Go style in that regard. My ideal language would be like Go + Linq.
3. danielbarla ◴[] No.45900182[source]
I've heard this argument before from the perspective of C# having more keywords and language features to be aware of than something else (in my particular argument, the other side was Java).

From this perspective, I can't say I disagree as such. If you look at the full set of language features, it sure is a lot of stuff to know about. The argument that it is too much, and that we should sacrifice expressiveness and signal to noise ratio in the code to keep the language simpler, I don't agree with.