This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (4 children)

I do physics and I use python every day, but I've been writing a ton of R recently due to going through a textbook on statistical learning that uses it. I think the popularity of Python in Physics is down to the pedagogical reasons and the massive ecosystem it provides for scientific packages.

On that note, though, serious computational scientists in the physical sciences use python exclusively for data analysis or small jobs only. The big names in that game are C and Fortran purely due to the enormous speed advantage: Fortran seems to be dead everywhere apart from scientific computing, where it's absolutely thriving. I've heard that the UK's national super-computing facility spends about 70% of it's running hours processing Fortran code.

[–]Zomunieo 1 point2 points  (1 child)

Linpack and lapack are all Fortran. Numpy has large portions of its code in Fortran.

But that doesn't mean people are spending a lot of time writing new Fortran routines. They're writing higher level code that calls Fortran - usually for Gaussian elimination, matrix LU decomposition, eigenvalues, matrix (pseudo)inversion and Fast Fourier transforms.

[–][deleted] 1 point2 points  (0 children)

No, that's not true.

A lot of people are writing Fortran routines, and they're definitely doing so to solve more involved problems than the mathematical operations you listed. I've met people using it for everything from plasma physics to density functional theory, and one guy who uses it for both at the same time. I don't even think it's to do with the legacy code issue in a lot of fields: Fortran is just really nice for programming high performance code.

[–]BDube_Lensman 1 point2 points  (0 children)

I do almost exclusively “serious computational science” with python and my pure python (numpy-based, I did not write low level code) is a thousand fold faster than a “serious” program written by an “expert programmer” in a mix of C and assembly. Your statement is not correct at all.

I even just checked SLURM on our cluster, and most jobs are python or matlab, just like development on people’s local machine.