I just started learning C# 3 days ago in order to make some SMAPI mods for Stardew Valley ('SV'). I've never coded before, and just started with the C# beginners course on YouTube that was suggested in the SV SMAPI guide.

I'm wondering:

  1. What are some good free or cheap resources/tutorials you've used for learning C#/coding in general?; and

  2. Suggestions for good languages/your favourite language which I should try out after I've gotten some idea of C#.

The ultimate goal after just moding is to make a game in similar scale to SV with my mate — it's going to being a life sim/tactics game with similar mechanics to the first two GBA Fire Emblems.

Thanks in advance for any suggestions, beautiful comrades :jeb:

  • MarxGuns [comrade/them]
    ·
    edit-2
    3 years ago

    Haven’t heard of Rust ...

    :eye-twitch:
    Rust is something that's hard to realize why it's so great unless you struggled with C or C++ and had learned Haskell and maybe something like Python or Ruby, I think. I'd tinkered with all sorts of languages before Rust really started taking off so I could see it's advantages as it developed. What Java and C# did with class inheritance (only one extending class), Rust is doing with ownership (only one owner of data at a time). It's similar to only having one writer and multiple readers in the classic multi-access problems (I can't remember what the formal name for this class of problems is).

    And yeah, don't get stuck in the boring now, exciting later details (compilers, CLR, etc). You only learn to program once (even when you start doing something 'weird' like Haskell or Prolog or J).

    I think that you sound like you're off to a good start.

    • YoungGramsci [comrade/them]
      hexagon
      ·
      edit-2
      3 years ago

      You sound like you've been on a long and difficult journey comrade :sankara-salute: .

      I'm still interested in having a look at C++ at some point in the nearish future, but I'll have a shot at Rust before I do that, the concept of ownership sounds interesting -- at least from what I'm reading in the defiiniton section in the guide on rust-lang website.

      And thanks, I'm taking this a step at a time, this is the first time in a while I'm learning something that I think about while I'm at work and want to race home and do -- actually kind of wild how much this has swept me up tbh.