You are viewing a single thread.
View all comments View context
21 points

I mean why else would you want to use C# when there’s Rust 🦀 and all the awesome tooling and libraries around it…

permalink
report
parent
reply
21 points

permalink
report
parent
reply
13 points

Rust really isn’t all that. Plus C# is used for all kinds of corporate stuff where Rust levels of performance aren’t needed. It’s also used in several other game engines

permalink
report
parent
reply
1 point
*

Security, performance and most importantly, security. .net updates every week to address security vulnerabilities, stability and enhancements. While the language is lower you just can’t overstate poorly c# lasts. C# Deprecation and dated code make for a pretty high maintenance and frustrating ecosystem at the best of time.

permalink
report
parent
reply
4 points
*

It being updated frequently just shows it’s being regularly maintained and improved.

C# has many of the same security and safety advantages that Rust does given they are languages with memory management and other safety features built-in.

Rust has exactly the same problems with depreciation as many Frameworks rely on experimental features which are subject to change.

Edit: plus if you have ever used Rust it’s a pain to learn and use compared to C#. C# is so similar to Java and so much easier than C++ that it’s really not much of a jump for programmers new to the language.

permalink
report
parent
reply

I’m not speaking for Rust level performance. I’m using Rust nowadays, because it’s generally doing a lot right, that other popular languages struggle with IMO.

Think about error handling. I think even Java is better here than C#. I think it’s quite a mistake, not being required to add all possible exception types that a function can throw to the function signature.

Then the next thing, I really hate about almost every popular language is implicit null. To be really safe, you have to check every (non-primitive) variable for null before using it, otherwise you have a potential NullPointerException.

Then take pattern matching, this is a baked in feature of Rust from the beginning and it does this really well (exhaustive matching etc.). There’s “basic” pattern matching in C#, but it just doesn’t really feel right in the language, and is not even close in capability compared to Rusts.

All of this (and more) makes Rust the less error-prone language, which I can say with confidence after long experience with both of these languages (both > 5 years).

I’m honestly not sure why exactly C# was chosen for most of the games, but it’s probably because it’s relatively good to embed, is relatively strong-typed, while being somewhat performant (compared to something like python or other scripting languages).

permalink
report
parent
reply
7 points

Yea, there are 50 game engines written in rust - or so I heard.

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 7.2K

    Monthly active users

  • 955

    Posts

  • 37K

    Comments