For those wondering, it’s most likely a jab at unity with it’s new license model, as you could code in C# in it.
It’s probably a tiny fraction of the C#/dotnet ecosystem. But hobbyist meme creators mostly care about games, I guess.
No, as other’s have pointed out it’s not. There are plenty of other areas to use it, even in other game engines. OP is just trying to make it seem funny by making the exaggerated narrative that it’s the only use case for C#. If Boo was still around in Unity this joke would been accurate with that, don’t think that was used anywhere else
I mean Windows is also undergoing enshitification it could still be true?
You think C# is a Unity thing?
Me writing my silly little forms apps in silly little VS Pretty drop-down fields :)
Oh, VS is not “little”, it’s one of the bloatiest pieces of software on earth.
Also, Forms? How dare you. :p
Once upon a time, a content management system for microsoft.com was a plug in for VS. And also a plug in for Word. And these two plugins had different feature sets, so you had to use both to manage content on microsoft.com. Don’t ask how I know.
Can confirm. Have had to download the full VS 2022 Pro over a shit wifi connection at work 55GB. It took half a day then failed. Re run the command to recheck every package and get the missing / broken ones and it is a single threaded app so it takes forever computing file hashes on one thread.
In the end it took around 7.5 hours.
My boss: add this field to this old form.
Me: open the form, add my field. Now VS crashes. I have to open the form code in a different editor and delete all the code VS added to the form when I opened it in the form editor.
Ok. What am I in the dark about this time?
Surely other engines use it? I know godot supports it. Not to mention half the business software of the world (pre cloud) seemingly built with it. etc
Unreal, Unity’s primary competitor, doesn’t. Mainstream gamers seem to only know about the two. Anyway, it’s a meme. I use C# for exclusively boring corporate stuff, and will continue.
Thinking that C# is just Unity is a MASSIVE disservice to C# and dotnet imo. Unity’s usage of C# is really crummy, basically relegating a very powerful language to working as a weird scripting language.
Absolutely. C# in Unity always seemed to me like a square peg in a round hole.
From my perspective (teaching game programming classes), it’s incredibly clunky for beginners when compared to others. Unity needed a tightly integrated, noob-proof scripting language. Despite C# being the primary language, it’s integration and setup with the rest of Unity seems surprisingly lacking, and, like you’re referencing, you don’t even get convenient use of the broader C# / Mono / .net ecosystem, which makes skills more portable. Even the “bad old days” of Flash/ActionScript were much easier for students, and results in more portable coding skills (e.g. at least transitioning to Web / JavaScript from Flash / ActionScript is easier)
It’s much easier to teach same lessons / concepts using Godot, though sadly Unity is much better known. Hopefully the present pricing chaos might shift the needle a bit on this!
Unity used to also have UnityScript, but it’s deprecated. It was like JS, but it wasn’t really used by many people compared to C#.
I mean you’re right, but I’ve never met anyone who thinks that way. C++ is everywhere (although C++ itself is just a hot mess of a language imo).
Agreed, I feel like if someone starts their C# journey exclusively in Unity, they won’t have a solid foundation in the actual language, just that specific implementation of it as a scripting language.
Look at all these C# dev who don’t know the witch hunts are starting in 2024.
Jokes on you, I am already one! (yes my company chosen dev language is really vbnet)
My old boss loved VB.Net. I still remember a time when I helped him out by solving mysterious bug for him.
He used to have this class he copied about to do database stuff. Not the worst thing of itself, but it was oddly specific in some ways for reused code. E.g. It had a function that took an enum value and returned connection string. And of course what options were in the enum varied.
So I come in one day and two other devs are already peering over his shoulder trying to help. The program is crashing when it tries to connect to the database and they can see for some reason the connection string is a single letter. I ask to see the function that is getting the connection string and see he’s removed the parameter, but the compiler didn’t pick up on it because:
- VB.net lets you call functions that have no parameters without parentheses
- VB.net is type lax, so an enum can be treated as an integer without casting
- VB.net uses parentheses for array indexation as well as method invokation
- .Net strings can be indexed like an array of characters
- VB has no character type so VB.net treat characters as 1-length strings
So instead of passing an enum to a function, it was calling the function with no parameter, then using the enum value to index the returned string into a single character, which was then treated as a string and passed to the SqlClient constructor.