• boletus@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    11 months ago

    Python is fine as a language I guess

    But python programmers give it a bad name. I’ve never seen “well written” python code, it’s always shit that’s been thrown together cos it works.

      • Anahkiasen@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        Doesn’t Python 3 have types? I’ve seen a few well typed codebases and it really made the code much easier to understand. Or is it just that it’s not checking them strongly enough?

        • kaesaecracker@leminal.space
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          The type annotations are just fancy comments. They do not do anything at runtime. If you have a function that takes an int someone can still pass in a list or anything else.

      • boletus@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        I think python is good as it is for what it can do, mostly because I have no reason to use it.

        What we need is lua with types!

        • Shush@reddthat.com
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          Have you heard of Typescript-to-lua? I used to do Dota modding (which is in lua) with TSTL and it works great!

          You write TS code (using Typescript syntax that includes types) and it is compiled into lua.

          Wonder if that could be an alternative that can work for you.

    • marwwin@suppo.fi
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      Arrow functions should be used only for callbacks. I hate that people has started defining named functions with arrow functions in JS. Arrow functions are not hoisted and the ordering of your functions is going to get wonky, because you need to define all you functions first before composing them, when it should be the other way around. Start with the most high-level function which calls lower level functions.