drake
Just for context, I’m an experienced software engineer with years of experience with both C++ and C#, as well as several others, including Rust. You can do shallow and deep copies in C# as well, it’s done extremely infrequently because it’s usually a bit of a code smell and it has some downsides - it’s inefficient both for performance and for memory.
In C# the assignment operator will copy the value if it’s a value type (structs and primitives) and copy the reference if it’s a reference type (classes). It does that because it’s a garbage collected language and it needs to track how memory is referenced and so on.
The whole debate about what languages are better is honestly a bit silly, IMO. C, C++, Python, C#, Javascript, Rust, they all serve their purpose, they have their strengths and weaknesses.
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!
May all of the for-profit websites chip and shatter.
We don’t need them. We have never needed them.
Let’s take the internet back to when it was a place where people ran websites for things they cared about.
Fuck profits, fuck corporations, fuck capitalism. Solidarity across the working class.
I completely understand where you’re coming from, and I absolutely agree with you, genAI is copyright infringement on a weapons-grade scale. With that said, though, in my opinion, I don’t know if calling people parasites like this will really convince people, or change anything. I don’t want to tone police you, if you want to tell people to get fucked, then go ahead, but I think being a bit more sympathetic to your fellow programmers and actually trying to help them see things from our perspective might actually change some minds. Just something to think about. I don’t have all the answers, feel free to ignore me. Much love!
It’s absurdly unprofitable. OpenAI has billions of dollars in debt. It absolutely burns through energy and requires a lot of expensive hardware. People aren’t willing to pay enough to make it break even, let alone profit
This is a “cool tech kid” opinion. Linux is for EVERYONE. Let’s not gatekeep it. Having GUI tools and stuff that is so easy to use that tech-illiterate people can use Linux is a great thing.
I stopped using streaming platforms personally and just went back to pirating music. Personally I don’t want to support Spotify because they continue to support far-right ideology with their podcasts, but that’s a completely personal decision.
Since at least a couple of years ago - it requires a bit of jumping through hoops, but it’s 100% worth it to get ad-free YouTube on iPhone!
You can do it in any country as far as I know, it’s not EU-only.
Yeah, of course - you should do what you think is best. I was thinking that if everyone cancels their YT Premium and signs up for a few Patreons, distributed as randomly as possible (which is why I said to go for the smaller creators) then overall creators would get more money, while we’d still be paying less. Everyone wins - except Google, but fuck Google!
There’s probably quite a bit of content still that is playing “World of Warcraft” but it’s more like a “just chatting” kind of stream, if you know what I mean - WoW is a safe, comfy game to have on in the background while talking about other stuff.
If you create a new project from scratch, yes, you can enable it project-wide. If you have a project which has a bunch of code predates nullable reference types, and you enable it project wide, you’ll have a billion warnings about it. Also, they’re warnings and not errors by default, which just encourages developers to either ignore or suppress them.
So the reality is that you need to remember when you’re making new classes to add the attribute, and then deal with external stuff - which isn’t always clearly marked whether it’s nullable or not unless it’s using attributes, by the way… just such a total mess.
They should have just gone with something more like Rust’s “Option” type. Would have been clearer for codebases that have to deal with a mix. They also could have clearly and decisively deprecated non-nullable reference types and just told people they were going to remove support in some future version so we could all migrate to them properly like we’ve done for .NET Core/.NET 5+.