• EatATaco@lemm.ee
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    1
    ·
    2 years ago

    I don’t get it. I love python for small quick projects. But anytime things get more complicated, I find myself constantly tripping over myself without the strong typing and errors letting me know I when I’ve changed a property in a class that in falling elsewhere.

    • catfish@lemmy.ml
      link
      fedilink
      arrow-up
      5
      arrow-down
      10
      ·
      2 years ago

      Python was always strongly typed. For years there has been optional static typing and - you know - unit tests.

      If you’re having significant issues due to not knowing what types you’re using, the type system may not be your greatest problem…

      • EatATaco@lemm.ee
        link
        fedilink
        English
        arrow-up
        9
        ·
        2 years ago

        Sorry, I meant static typing, not strongly typing. I often cross the two. But this is exactly what I mean, if you want something to be statically typed you have to put in the extra effort, if not you’ve got dynamically typing, which is fine when things are small but I find causes stumbling blocks when things get larger.

        And depending on the scale of the project I’m working on, my unit tests usually take minutes to run, if not hours. If I’m debugging and I change a property, when I compile it instantly catches that I forgot to change it elsewhere. Hell, even when I save it I’ll get a little error warning. Maybe running unit tests all the time is fine if the project is small, but not if it’s large. I’m not going to run unit tests every time I’m starting a new debugging session. Linters kind of make up for this. But then we are back to making sure there are type hints, which, as I’ve been told, is not “pythonic.”

        If people like it, more power to them, I’m not shitting on the language as even I like it. I just can’t use it for larger stuff, and I’ve never worked anywhere that uses it for larger stuff, and I think for good reason.