• @onizuka89@programming.dev
        link
        fedilink
        402 years ago

        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

    • @hairyballs@programming.dev
      link
      fedilink
      22 years ago

      WTF I didn’t understand, thanks for the explanation. The fact that it’s used all around the world in big companies doesn’t matter I guess.

  • Rentlar
    link
    fedilink
    58
    edit-2
    2 years ago

    Nice meme. I’ll just ignore the fact most C# devs aren’t game devs but…

    Many other engines use C#. Godot is compatible with it, for example.

      • @makingStuffForFun@lemmy.ml
        link
        fedilink
        352 years ago

        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

        • @turbodrooler@lemmy.world
          link
          fedilink
          English
          342 years ago

          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.

          • El Barto
            link
            fedilink
            -52 years ago

            Oooh, I bet they will! They’re probably salivating about it.

        • @lobut@lemmy.ca
          link
          fedilink
          82 years ago

          It’s a joke built in hyperbole for sure. A lot of my friends are C# devs they’re not going anywhere.

          • @marcos@lemmy.world
            link
            fedilink
            22 years ago

            You can access the Excel scripting engine from C#, but this is more of a case of C# supporting Excel than the other way around. (And you will really not want to do it if you just have to read and save data in excel files.)

            Excel mainly uses VBA.

      • @areyouevenreal@lemm.ee
        link
        fedilink
        102 years ago

        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

        • @Wooki@lemmy.world
          link
          fedilink
          2
          edit-2
          2 years ago

          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.

          • @areyouevenreal@lemm.ee
            link
            fedilink
            2
            edit-2
            2 years ago

            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.

            • @Wooki@lemmy.world
              link
              fedilink
              1
              edit-2
              2 years ago

              .net is not secure, it’s so far from secure it’s a joke. 503 security patches this year alone, that includes one for each windows version but you get the point.

                • There are of course security flaws, we’re humans after all. Unless the compiler and the language can be proven mathematically correct at least.

                  But as described above, in practice the security flaws are easier to isolate in Rust compared to C# IME. The current story of security flaws in Rust is quite good so far.

            • Learning curve is steep in the beginning, I agree (I wouldn’t argue painful though, maybe if you have to unlearn bad practices, like interior mutability though etc.).

              But I think it pays off after some time. I’m now faster in Rust than in C# with similar experience, and the quality of the code is definitely higher as well (which can be credited to the strict kinda opinionated design of Rust IMO).

              It composes really well, better than most (non-functional) popular languages. I think this is probably the Sell for Rust, as it additionally works remarkably well over the entire stack (kernel -> frontend) (in each abstraction level might be better/easier to use languages to be fair though).

              • @areyouevenreal@lemm.ee
                link
                fedilink
                11 year ago

                What’s interior mutability and why do you think it’s bad?

                I might have another try at rust some time in the future. I think I tried it in a bad situation having to use it for a web microsevices project when I had limited knowledge of the language. If it had been another language I probably would have been able to pick it up in the time frame required. Using it did cost me in terms of grades, and it was a poor decision to use that language at that time.

                The main things I struggled with were all the borrow checking and asynchronous stuff, as well as the lifetimes concept. I still don’t understand how you are meant to specify object lifetimes. In C you assign and free things manually, in Java and Python it’s done mostly automatically, in C++ you choose manual or automatic when it’s assigned. In Rust it seems it’s automatic until the compiler can’t figure it out and then it becomes manual, which is frankly bizarre.

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

              Rust has actually quite a good record with depreciation and backwards-compatibilty etc. They are changing the language in non-backwards compatible way over editions, but the changes are mostly very manageable.

              But to not end up being another C++ (syntax-wise it’s a disaster IMHO), a few non-backwards-compatible changes every few years are the way to go, when it’s manageable.

              • @areyouevenreal@lemm.ee
                link
                fedilink
                1
                edit-2
                1 year ago

                What’s so confusing about C++ syntax exactly? To me it seems to make a lot of sense given the languages history.

        • 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).

    • @acwern@sh.itjust.works
      link
      fedilink
      22 years ago

      Sadly don’t think Bevy’s going to benefit too much from this drama. Most people from Unity will want a more complete toolset and probably won’t be wanting to learn a whole new language. Can see a lot of indie devs making the switch over to Godot though

    • Yeah me too, but I think it’s not there yet, when you think out of a less programmer focused perspective, as most of the stuff in games is of artistic nature (which takes time to make, even with all the AI stuff) and otherwise simple game logic for most of these indie games. So something like an interactive GUI editor to “debug” is a must have for artists.

      • anti-idpol action
        link
        fedilink
        22 years ago

        There’s still Fyrox too. But for those used to Unity’s ECS it’s OOP style might be deterring.

        • True, Fyrox often gets less love than e.g. Bevy (probably because the data-driven ECS pattern feels more idiomatic in Rust than OOP, and probably because it’s mostly a one-man-show as well)

  • @tomjuggler@lemmy.world
    link
    fedilink
    102 years ago

    Fun meme but corporate job listings in my town contradict the premise.

    Let them C# I’m sticking to C++ and Python.

  • @PixxlMan@lemmy.world
    link
    fedilink
    662 years ago

    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.

    • @modulojs@programming.dev
      link
      fedilink
      11
      edit-2
      2 years ago

      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!

      • @dukk@programming.dev
        link
        fedilink
        72 years ago

        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).

        • @dylanTheDeveloper@lemmy.world
          link
          fedilink
          2
          edit-2
          2 years ago

          C++ is pretty good by itself but I end up using mostly C for actual functions, QT, wxwidgets and a few others utilise C++ to a degree but my god does it get messy without the help of a visual aid (blueprints, formbuilder etc)

    • kryllic
      link
      fedilink
      62 years ago

      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.

  • @pleasemakesense@lemmy.world
    link
    fedilink
    62 years ago

    Is it pissible for programmers to encounter a silly little meme without taking it serious and going into a frenzy explaining that actually its premise is wrong

  • MrScottyTay
    link
    fedilink
    English
    72 years ago

    C# is massive, .NET one of the biggest platforms for code is C#. Plus Godot, Unity’s closest comparable competitor, also allows C#.