Hello friends, the title is mostly self explanatory. I would like to start programming but I also feel like I am not very smart, so I would like a programming language that is easier to grasp than others. That considered I don’t hope to be able to learn something “powerful” but it would be nice to still be able to do some useful things. Something I would love to do is make games, I know those are usually made in C, which is a very difficult one, but maybe some simpler games can be made with other languages.

  • Kache@lemmy.one
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year ago

    If you’re coming into programming from zero, try Hedy.

    It’s a gradual progression textual programming language specifically designed for teaching and learning. At the last level of progression, it’s just Python. The link above lets you get started right away in the browser with no setup, in your native language (English or otherwise).

    If you’re not coming from zero, you might want to jump a little deeper into C#, considering your goal of making games and the ecosystem of Godot and Unity. C# has a higher “low bar” of strictness and structure, which can stumble “from zero” learners.

  • AbelianGrape@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    If you want to make simpler games, you could start with scratch or stencyl. These tools aren’t really programming languages per se but they let you build programs out of blocks that are much easier to visualize and play around with. There’s some research that suggests they are good entry languages and some research that suggests they aren’t, so ymmv. I’ve used both, but I knew how to program already.

    For the record you shouldn’t let “usually made with” drive your decisions. Java is still popular for some games. Slay the spire, a very popular deck building game, was written in Java, which is a decently popular choice if you want to support modding. But C++ and C# are more popular simply because that’s what you use if you’re using engines like unity or unreal.

    side note: C, C++, and C# are all different languages.

  • TwilightKiddy@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Another C# gang comment here.

    I’ll try not to repeat what others said.

    C# has one of the best debuggers in the industry. Debugger is a thing that lets you stop your program at a set state and investigate values of variables in that state. Very useful for education. The thing is incredibly easy to set up in Visual Studio right out of the box and is a matter of installing another extention in VS Code.

    C# is in C syntax family, which includes C, C++ and Java. While you’ll have to learn some syntax quirks to switch languages, they are not as drastically different as Python, for example. If your intention is getting into game development, setting a base for C++ is a nice bonus.

    C# is strictly-typed. Unlike Python, Lua or JS that I saw in this thread, C# requires you to specify types of your variables. While it may sound as a disadvantage at first, it is actually extremely useful catching silly mistakes. Like if you make a string and pass it to a method that expects integer, C# simply won’t compile, you’ll have to explicitly convert your string to integer. JS is notorious for it’s ('b' + 'a' + + 'a' + 'a').toLowerCase() > "banana", which is extremely hard to follow if you’re learning the language IMO.

    If you’re trying to build games with big game engines like Unity or Unreal Engine, C# is a no-brainer, as they support it natively. Godot has it’s own language, but it has an option to switch to C#, so, you can cover all of them with one language.

    Windows Forms. It’s a package for developing GUI applications on Windows. Visual Studio comes with it and has a designer for it. If you want to learn how to make a simple GUI application, that’s one of the easiest routes. Worth noting, if you’re not on Windows, that thing is not that easy to use.

    Here is an official “get started” guide: link.

  • heschlie@lemmy.schlunker.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Python is pretty easy to pickup and super popular so there are tons of guides and libraries to help get the job done. It does have a library called PyGame but honestly it is not super powerful, however there is a FOSS engine called Godot that uses what they call gdscript, which is very similar to Python.

    • Trash Panda@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I heard about pygame, I was hopeful but oh well. I also heard about godot but I didn’t know if it was similar to something else.

  • WhelmedInEurope@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    If you decide to look at Python, I really enjoyed going through the “Automate the Boring Stuff with Python” lessons/book. It breaks it down really well in non technical terms and I thought the work was pretty fun. It may be a good way to get a feel for it. I think once you learn one language it’s a bit easier to pick up your next one (at least that how it went for me).

  • 601error@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Python is easy to learn and marketable. I personally prefer Ruby to Python, but Python is a good place to start. For most AAA games, it’s C++, and yes it’s horrendously complex. I vastly prefer Rust to C++. Good old C is actually a fairly small language, and only moderately difficult.

    • Trash Panda@lemmy.mlOP
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Thank you for your post, before this thread I thought that all the C named languages (c, c++ and c#) were at least similar but it looks like it’s not the case.

      • 601error@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        C derivatives are similar in terms of things like imperative control flow, lower-case keywords like if, mostly insignificant whitespace, { }-delimited blocks, etc., but they can be vastly different in terms of features, semantics, idioms, and typical use cases.

        It’s like how non-programming languages can use the same Latin alphabet but be vastly different in terms of grammar and culture.

  • kool_newt@beehaw.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I suggest learning Ruby, it’s a lot nicer and easier to learn than many others in my opinion. You can learn Crystal at the same time, it’s got very similar syntax but it’s a compiled language so super fast.

    • Trash Panda@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks, ruby was another language I saw in the thread popping a few times, the first one being python. I I was told a few things python can be good for, can you give me a few examples of good uses for ruby just to have a vague idea?

      • Kache@lemmy.one
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Ruby has carved space for itself in web application development, but has limited popularity in in other domains. In comparison with Python, Ruby has fewer “old warts” and feels more internally consistent. In a similar manner, the community is more cohesive and is notably newcomer-friendly (newcomer experience is a higher priority and advice/help you get will be more consistent), compared to Python.