A thinly veiled M$ ad, trying to save face after the .NET fiasco of 2021…
Tell me more about the .NET fiasco of 2021?
Microsoft tried to lock a development feature behind a paywall by introducing an artificial dependency on Visual Studio.
This also happened to occur right around the time there were also licensing and hosting issues around open source libraries. The manipulation of the .NET foundation was the really concerning part. Made it clear that MS still doesn’t give a damn about the wider community using their language.
the long con, wait three years and nobody will suspect your ads
pervasive unchecked nullability
Framework management is hell, fat binaries inconvenient and not default
No option monad in the standard lib
Cross version dependencies simply don’t work in some contexts
Compiler output only marginally better than working with c++
At least it doesn’t have Gradle.
pervasive unchecked nullability
Addressed nowadays with the question mark and exclamation mark syntax, and programming without nullability is a pain
Framework management is hell, fat binaries inconvenient and not default
Nuget?
Compiler output only marginally better than working with c++
No one claims it’s faster at runtime than good C++, it’s just a lot easier to write decent code
Compiler output only marginally better than working with c++
No one claims it’s faster at runtime than good C++, it’s just a lot easier to write decent code
I think they’re referring to warning and error content. Compared to things like rust, deciphering error notifications from the c# compiler can sometimes feel like trying to figure out what a child with limited vocabulary is trying to tell you.
Even with decades of personal experience with it, they can be confusing and non-informative sometimes for me.
Yes this is right. C++ in this context is the boogeyman worst possible scenario. C# only being a little better just means it’s not actual garbage
Nullable reference types are (a completely mandatory) bandaid fix in my opinion as a .net dev. You will encounter lots of edge cases where the compiler is unable to determine the nullability of an object, e.g. when using dependency injection to populate a field, or when using other unusual control flows like MediatR. You can suppress the warnings manually at the slight risk of lying to the analyzer. Objects supplied by external library code may or may not be annotated, and they may or may not be annotated correctly. The lack of compile-time null checking is occasionally an issue. But that said, NRT makes nullability a significantly smaller issue in C# than it used to be
No Gradle
I have such a love hate relationship with Gradle… I forget exactly what but there was something Maven couldn’t do that made me first try Gradle locally. I didn’t use it professionally for so long.
Now that I am using it professionally, I’m not sure it’s better. Maybe it’s just a case of “grass is always greener on the other side” sort of thing.
Some of my gripes,
- The documentation is almost really useful, but as soon as you have to look at Gradle’s Javadoc it’s a mess.
- I like the kotlin stuff better than groovy but a lot of old guides still use groovy and sometimes it is very confusing trying to translate.
- Why the hell does IntelliJ Idea Professional version still not give me code hints for Groovy Gradle files???
- I love that everything is customizable, but I think slightly more concrete conventions would be useful a lot of times. Or at least documenting the conventions somewhere.
- Why is it so hard to get the Maven BOM experience? There’s always fucking edge cases. Plus, why can’t I do it with plugins too?
- Why is there no “task tree” by default? Why isn’t this part of Gradle? https://github.com/dorongold/gradle-task-tree
- Why the fuck is JPMS so confusing? This is probably not really Gradle’s fault but still.
- Why is upgrading the wrapper so complicated? I have to do two invocations and get the version string myself.
deleted by creator
Always seems like you have to reinvent the wheel in .NET and I’m missing something. Is there a nice set of ready to go libraries like Spring Boot?
aspnet core is the library you want
Simple and just works
IMO C# is at the point where Java can probably just die. I don’t see a point in keeping Java when C# is a viable option in many use cases.
I don’t think this line of reasoning is strictly speaking correct, but assuming it was, then I think it would follow that Kotlin exists and as such C# does not need to be kept around.
I’m sure Microsoft will be happy to know their EEE strategy is finally paying off, only two decades late.
Oracle owns Java and has made its proprietary hold on the language clear.
There are no good guys here.
It’s attitudes like this that made me choose C# as the language I wanted to use professionally after graduation.
Having grown up in the Slashdot era where people would be childish, post about Micro$oft, and parrot EEE, all while the .NET Foundation consistently put out great tooling with a mature community that actively wanted to help you learn the language/framework, the choice was simple.
I guess I need glasses bc I can’t C#
F# is so dope too
Wrong post
Runs on Windows, macOS, and Linux
I mean, you can’t argue with that.