(Please don’t lob rocks at me. I love Python.)

    • @abbadon420@lemm.ee
      link
      fedilink
      020 hours ago

      I’ve never played with FORTRAN, but I’ve done some linear algebra with matlab. Matlab was interesting for the native handling if matrices. What makes FORTRAN so good at linear algebra?

      • lime!
        link
        fedilink
        English
        019 hours ago

        the main thing that makes fortran preferable to C is the way it handles arrays and vectors. due to different pointer semantics, they can be laid out more efficiently in memory, meaning less operations need to be done for a given calculation.

        • @LeninOnAPrayer@lemm.ee
          link
          fedilink
          English
          0
          edit-2
          17 hours ago

          Interesting. Is this a fundamental limitation of C or is it just more preferable and easier to use FORTRAN when implementing it?

          Meaning could the same performance be achieved in C but most optimized libraries are already written so why bother? Or basically C can’t achieve the memory optimization at all?

          • lime!
            link
            fedilink
            English
            0
            edit-2
            15 hours ago

            you can get the same performance by using the restrict keyword in C.

            basically, C allows pointer aliasing while fortran does not, which means C programs need to be able to handle cases when a value is accessed from multiple locations. fortran does not, so a lot of accesses can be optimized into immediates, or unrolled without guards.

            restrict is a pinky-promise to the compiler that no overlapping takes place, e.g. that a value will only be accessed from one place. it’s basically rust ownership semantics without enforcement.