All the AI and cloud fluff/craze being pushed to devs is a bit annoying, but outside of announcements it’s isolated and ignorable [for now]. I kept my enthusiasm during the cloud pushes, which were limited. But now, the AI and copilot pushing is annoying enough that I’m losing it. At least the enthusiasm. I feel like.
Everything else… Goes into the wrong direction and often is already obnoxious. Last time I installed windows for someone I was baffled it was almost impossible to install it with an offline account. Baffling on an operating system. Insane. Awful. Settings is still a mess. Task manager is getting worse. 11 got worse ui.
Sure you can, it’s the same in C# as it would be in C++ if you did a=b, where a and b are both pointers.
You don’t want to copy the full data of a class around every time you use it, that would have extremely poor performance. If you do want that behaviour, use structs instead of classes. If you need to clone a class for whatever reason, you can do that too, but it’s not really something that you should need to do all that often.
I don’t think you should really jump in and call something crappy if you just don’t really know how to use it, personally!
And what would that equality entail? Reference equality? You have .Equals for that for every single class. Structural equality? You can write an operator for that (but yeah, there’s no structural equality out of the box for classes, that I have to concede).
Hell, in newer C# (~3-4 versions back, I don’t recall off the top of my head) you have records, which actually do support that out of the box, with a lot more concise syntax to boot.
As fir that being Java all over again: it started off as a Java clone, and later on moved in its own direction. It has similar-ish syntax, but that’s the extent of it.
And hell, “use .Equal” is exactly what it is all about, have you heard of == ?
Back in the day all the big languages were hard to learn and had lots of quirks, but somehow C/C++ moved on and became quite simple and elegant (you can write the worst trash with it ofc. but that’s like saying you shouldn’t cook because you might burn your chicken). C# not so much.
.Equals and == have different meaning in C#. Decent IDEs will warn you about that (and yes, that excludes Visual Studio, but that always was crap 😄).
As for (re)assignments - I don’t see an issue with that, tbh; you only have to be aware of whether you’re using a reference- or value type (and if you aren’t, then let’s be honest - you have bigger problems).
I admit, “canonical C#” looks like shit due to a fuckton of legacy stuff. Fortunately, newer patterns solve that rather neatly and that started way back in C# 6 or 7 (with arrow functions / props and inlined outs).
Tl;dr: check the new features, fiddle with the language yourself. Because hell, with refstructs you can make it behave like quasi-Rust
Windows 11 “out of box experience” has been made specifically to further control and limit options in favor of value added options. Such as making online services more integrated into an ever bloated OS. The only option I know about setting up the first account as local was to disable the internet connectivity check they are enforcing now using a command prompt that required going well out of my way to get and even I saw how much they pressure you into going along with their demands/instructions instead of allowing freedom/open use of anything you wish to use.
It’s so odd because even though it is possible to do more advanced or finer tuned control, Microsoft is intentionally ignoring talking about it and therefore not even offering those options.
I love the open and evolving C# ecosystem.
All the AI and cloud fluff/craze being pushed to devs is a bit annoying, but outside of announcements it’s isolated and ignorable [for now]. I kept my enthusiasm during the cloud pushes, which were limited. But now, the AI and copilot pushing is annoying enough that I’m losing it. At least the enthusiasm. I feel like.
Everything else… Goes into the wrong direction and often is already obnoxious. Last time I installed windows for someone I was baffled it was almost impossible to install it with an offline account. Baffling on an operating system. Insane. Awful. Settings is still a mess. Task manager is getting worse. 11 got worse ui.
C# is such a crappy language.
You can’t even do a=b if they are classes, and you’re forced down the chosen road all the time. It’s like java all over.
Sure you can, it’s the same in C# as it would be in C++ if you did a=b, where a and b are both pointers.
You don’t want to copy the full data of a class around every time you use it, that would have extremely poor performance. If you do want that behaviour, use structs instead of classes. If you need to clone a class for whatever reason, you can do that too, but it’s not really something that you should need to do all that often.
I don’t think you should really jump in and call something crappy if you just don’t really know how to use it, personally!
And what would that equality entail? Reference equality? You have
.Equals
for that for every single class. Structural equality? You can write an operator for that (but yeah, there’s no structural equality out of the box for classes, that I have to concede).Hell, in newer C# (~3-4 versions back, I don’t recall off the top of my head) you have records, which actually do support that out of the box, with a lot more concise syntax to boot.
As fir that being Java all over again: it started off as a Java clone, and later on moved in its own direction. It has similar-ish syntax, but that’s the extent of it.
It’s a single =
a = 5;
b = c;
And hell, “use .Equal” is exactly what it is all about, have you heard of == ?
Back in the day all the big languages were hard to learn and had lots of quirks, but somehow C/C++ moved on and became quite simple and elegant (you can write the worst trash with it ofc. but that’s like saying you shouldn’t cook because you might burn your chicken). C# not so much.
.Equals
and==
have different meaning in C#. Decent IDEs will warn you about that (and yes, that excludes Visual Studio, but that always was crap 😄).I admit, “canonical C#” looks like shit due to a fuckton of legacy stuff. Fortunately, newer patterns solve that rather neatly and that started way back in C# 6 or 7 (with arrow functions / props and inlined
out
s).Tl;dr: check the new features, fiddle with the language yourself. Because hell, with
ref struct
s you can make it behave like quasi-RustWindows 11 “out of box experience” has been made specifically to further control and limit options in favor of value added options. Such as making online services more integrated into an ever bloated OS. The only option I know about setting up the first account as local was to disable the internet connectivity check they are enforcing now using a command prompt that required going well out of my way to get and even I saw how much they pressure you into going along with their demands/instructions instead of allowing freedom/open use of anything you wish to use.
It’s so odd because even though it is possible to do more advanced or finer tuned control, Microsoft is intentionally ignoring talking about it and therefore not even offering those options.