• qaz@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    11 months ago

    A strongly typed language (requires you to say what type of data is stored in variables) like C# is a good starter language. It’s not overly complex, it’s widely used, has a large ecosystem (lots of tutorials and libraries that easily provide functionality) and can be used to create games with Unity and Godot too. My advice is to set goals for yourself and work by creating projects small enough to finish in a couple days time. It’s very easy to get distracted and try to learn a lot and get burned out / overwhelmed. Creating an actually useful tool or making a game allows you to learn while also providing the motivation to continue.

    Languages like C, C++ and Rust require you to also learn about memory management while learning the basics of programming, I recommend avoiding those. Dynamically typed languages such as JavaScript can be easier than others, but they also hide the type of data which impedes understanding, however, contrary to C, C++ and Rust I feel this tradeoff might be worth it in some cases.

    • quackers@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      2
      ·
      11 months ago

      Yes, i would also recommend C# as a starting point. It’s kind of a jack of all trades, master of some. But more importantly, it forces you to understand certain programming concepts you may not learn if you start with a language like Python or Javascript. Not knowing these concepts will cause problems as you get deeper into it.

      And if you use Visual Studio 2022 on windows (not visual studio code), it will take away some of the initial pain points of setting up your environment and gets you straight to an executable program.

      I couldn’t recommend it more as a first language.