• dudinax@programming.dev
    link
    fedilink
    arrow-up
    62
    arrow-down
    4
    ·
    2 months ago

    Best scientific packages in the open source by far, a library for everything, everybody knows it. Works on all kinds of systems. Available by default in many OSs.

    You might not like it, but you can’t leave.

    • azimir@lemmy.ml
      link
      fedilink
      arrow-up
      48
      arrow-down
      2
      ·
      2 months ago

      The summary that I liked from the last post was “python is the second best language for everything”. There’s always something specialized and better for every given job. But, if you want one tool that’ll do a solid job everywhere, python is your go to.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        23
        ·
        2 months ago

        I literally used to say this last decade, but as I grew experienced with more languages/paradigms/systems, it became 3rd best, then 4th, until I realized it actually not really great at anything other than there is an large ecosystem around it (wildly varying in quality). To some that might be enough, & going outside what you know isn’t typically the most wise thing to do, but it’s not particularly simple, or readble, or performance, or composable, or offering great patterns. Anything that used Python in Nixpkgs tend to be the most unreliable software for actually building & using.

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        1 month ago

        I don’t think that’s quite right. It’s more like if you have to choose a language before you know what you’re doing, Python is the best choice. For anything large enough it’s multiple places down the list, but you really don’t want to have to learn Rust and possibly reinvent wheels for your quick boilerplate hack.

    • LANIK2000@lemmy.world
      link
      fedilink
      arrow-up
      17
      arrow-down
      2
      ·
      2 months ago

      Can’t speak for the science libraries as I’ve never used em, and I’ll gladly just blindly accept that as truth, but for everything else it’s always a pain in the ass. For being designed to “run on anything” it sure is funny that 90% of the time I download a python app it doesn’t fucking work and requires me to look up and manually setup a specific environment for it. Doesn’t help that the error messages are usually completely random and unrelated to this…

      I always dread when some fucking madman makes the installer for their app in python, knowing it’ll probably fail… God forbid it’s a script that’s supposed to modify something else. Always a good time for reflection upon the choices that led me to this point.

      Even my old scripts I kept around for sentimental value. Half of those don’t work either, and I can’t be bothered to figure out what version I made em for.

      I tried my best to scrub python from my pc out of principle, but as you say, it’s soo common my distro uses it as a dependency, fucking bullshit!

      • Kichae@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        Is great until you need a job. It solves the 2 language problem right up until you’re working with others.

      • dudinax@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        I guess I don’t know. Whenever something tempts me to R, I quickly find that Python’s got a good-enough solution.

        • menemen@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          2 months ago

          Same for me with python, I always fall back to R after 10 minutes of trying to do it in python. :)

        • Knock_Knock_Lemmy_In@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          R is better if you want some very specific, niche statistical packages.

          Python is better if you want to combine statistics with any other compute process.