Why C#?

Sjpark01

New Member
Messages
2
Reaction score
1
This is definitely a stupid question, but I'm curious about the choice of language. As a young developer, my perception of C# has always been on an extreme. At first, I thought it was just superior C++, then I it was the Unity language, and right now it's just that language Microsoft made (with all of the negative perceptions of the company attached) (also just not a fan of .net, mostly because I can't install the sdk on my computer). I don't have much experience with C# or C++, but I have been using C for the last few months, and it's difficult for me to understand the reasons for using C#. Clearly there is a lot for me to learn about the nuances and benefits of C#, considering BRUTAL uses it. Please enlighten me!
 
I'm curious, why are you unable to install .NET SDK on your computer?

Personally, I think it has a lot of quality of life features in C# with .NET compared to lower level languages like C++ or Rust. It's also all very cross platform with C# and .NET being able to build things for pretty much any platform. I've also been a professional dev/tech lead for the past 6 years working exclusively with a C# backend and started with C# while working with XNA Framework in middle school, so I am heavily biased on that front.
 
I'm on a school issued device, and the policies on it prevent the standard installation. Technically, I have been able to get a pre-built version of it on the computer and get it to work, but it's a hassle that I don't need to go through for other languages, and I just haven't found a good enough reason to look into C# any further. What are some things you like about C#? How cross platform is it? I have been very interested in that recently, as I expand my projects into other systems.
 
I'm on a school issued device, and the policies on it prevent the standard installation. Technically, I have been able to get a pre-built version of it on the computer and get it to work, but it's a hassle that I don't need to go through for other languages, and I just haven't found a good enough reason to look into C# any further. What are some things you like about C#? How cross platform is it? I have been very interested in that recently, as I expand my projects into other systems.
I learned C++ first, so coming from that, what I like about C# is how much less low-level stuff you have to deal with. You generally don’t need to worry about pointers or manually managing memory, since the garbage collector handles that for you.

Most of my experience with it is in Unity, where garbage collection can be a downside if you’re constantly allocating memory every frame, because collecting it can cause stutters. You ideally want those allocations close to zero, but I wouldn’t worry too much about that on your first pass. Get things working, then profile and optimise if performance becomes an issue.

Another thing I like about C# is how much functionality is built into its types. Things like strings, numbers, and enums have useful methods and properties readily available, so a lot of common tasks feel more straightforward. C++ has things like std::string.length() too, but I find C# more consistent in that respect.

C# also has built-in reflection, which lets you inspect types, properties, and methods at runtime. Standard C++ doesn’t have an equivalent runtime reflection system built in, so you generally need extra tooling or your own system for that.
 
Back
Top