I have some background in Python and Bash (this is entirely self-taught and i think the easiest language from all). I know that C# is much different, propably this is why it is hard. I’ve been learning it for more than 4 months now, and the most impressive thing i can do with some luck is to write a console application that reads 2 values from the terminal, adds them together and prints out the result. Yes, seriously. The main problem is that there are not much usable resources to learn C#. For bash, there is Linux, a shit ton of distros, even BSD, MacOS and Solaris uses it. For python, there are games and qtile window manager. For C, there is dwm. I don’t know anything like these for C#, except Codingame, but that just goes straight to the deep waters and i have no idea what to do. Is my whole approach wrong? How am i supposed to learn C#? I’m seriously not the sharpest tool in the shed, but i have a pretty good understanding of hardware, networking, security, privacy. Programming is beyond me however, except for small basic scripts

    • vrighter@discuss.tchncs.de
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      2 days ago

      Quite bad actually, since most of this stuff is not specific to c#, and are just basic programming concepts. This leads me to believe that your python experience is “coby and paste stuff in until it looks like it works”, and you never took the time to understand what the code does.

    • Caveman@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

      I wouldn’t say it’s that bad, it probably means you lack vocabulary rather than anything else.

    • DaleGribble88@programming.dev
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 days ago

      Most probably, yes. A lot of these are fundamental concepts of most modern object-oriented languages that I am familiar with. It may be worth refreshing your basic programming skills/concepts with a book you like. There are plenty available online for free in C#, Java, C++, Go, etc.

      • kekmacska@lemmy.zipOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        Refreshing what? I don’t have anything to refresh here. I only have experience with scripting languages, which are not object oriented at all

        • atzanteol@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          7
          ·
          2 days ago

          This is going to sound harsh but… You need to take an intro to programming course.

          I didn’t know what your doing in Python, but you’ve not learned to program in Python. Maybe just copy pasting or making small changes to existing stuff? Working in a specific framework? Are you writing code from scratch?

          You need to understand datatypes (a concept Python tries to hide from you and imo does a disservice to novices), structures, conditional is, loops, etc. These concepts aren’t language specific.

          • kekmacska@lemmy.zipOP
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            2 days ago

            Yes, i write from scratch in python, but only basic things. The most advanced are reading from a file and defining an own function. I’m in a programming course already