• addie@feddit.uk
    link
    fedilink
    English
    arrow-up
    37
    arrow-down
    1
    ·
    9 天前

    Interesting, but misguided, I think.

    If you’ve selected Python as your programming language, then your problem is likely either to do some text processing, a server-side lambda, or to provide a quick user interface. If you’re using it for eg. Numpy, then you’re really using Python to load and format some data before handing it to a dedicated maths library for evaluation.

    If you’ve selected Go as your programming language, then your problem is likely to be either networking related - perhaps to provide a microservice that mediates between network and database - or orchestration of some kind. Kubernetes is the famous one, but a lot of system configuration tools use it to manipulate a variety of other services.

    What these uses have in common is that they’re usually disk- or network- limited and spend most of their time waiting, so it doesn’t matter so much if they’re not super efficient. If you are planning to peg the CPU at 100% for hours on end, you wouldn’t choose them - you’d reach for C / C++ / Rust. Although Swift does remarkably well, too.

    Seeing how quickly you can solve Fannkuch-Redux using Python is a bit like seeing how quickly you can drive nails into a wall using a screwdriver. Interesting in its way, but you’d be better picking up the correct tool in the first place.

    • Pup Biru@aussie.zone
      link
      fedilink
      English
      arrow-up
      6
      ·
      9 天前

      further to that, “demonstrably worse for the planet” i’d like to debate: considering a huge amount of climate science is done with python-based tools because they’re far easier for researchers to pick up and run with - ie just get shit done rather than write good/clean code - i’d argue the benefit of python to the planet is in the outputs it enables for significantly reduced (or in many cases, perhaps outright enabled) input costs

      • xep@discuss.online
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        9 天前

        If you need to optimize for performance, a common approach in Python is to extend it in C/C++. It’s quite easy to do. Many high performance modules in Python are written in C/C++.

        It’s also easy to embed Python in a C/C++ program, should you feel the need to add some scripting support to it. A very nice feature of Python, in my opinion.

        • Pup Biru@aussie.zone
          link
          fedilink
          English
          arrow-up
          3
          ·
          8 天前

          absolutely! similar is true of node in v8 (though python imo is far more mature in this regard) and probably most other languages

          exactly why things like numpy are so popular: yeah python is slow, but python is just the orchestrator

      • bryndos@fedia.io
        link
        fedilink
        arrow-up
        2
        ·
        9 天前

        Compare it to the likely alternative for the task/person, probably R or even MS excel in many cases i’d guess. The alternatives should ideally be based on empirical observation of the population. The marginal saving of choosing a higher efficiency than python might look a lot lower.