• PixxlMan@lemmy.world
    link
    fedilink
    arrow-up
    72
    arrow-down
    2
    ·
    1 year 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
      arrow-up
      14
      ·
      edit-2
      1 year 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!

      • Cethin@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

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

      • Elderos@lemmings.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I am curious, what exactly is missing in the latest LTS version from .Net what makes it so clunky to use for students? Afaik it is pretty solidly close to actual .Net 4.7 nowadays.

    • kryllic@programming.dev
      link
      fedilink
      arrow-up
      8
      ·
      1 year 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.

      • Eloise@lemm.ee
        link
        fedilink
        arrow-up
        5
        ·
        1 year ago

        Can confirm as someone who did exactly that before starting over with c++

      • Elderos@lemmings.world
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        It is pretty damn close to actual C# nowadays. Some version, I think it was 2019, really upped up the scripting backend.

      • dukk@programming.dev
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        1 year 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).