Hacker News new | ask | show | jobs
by auntienomen 1689 days ago
Python's a lingua franca in AI/NN because it was already a dominant language in scientific computing. Its dominance in scientific computing grew steadily through the 1990s and 2000s, for a few reasons:

1) Python -- specifically CPython -- made it easy to wrap existing, thoroughly tested high performance libraries in Python APIs. So, you got easy access to things like GSL and BLAS and LAPACK, but you get to call numpy.linalg.svd instead of GESDD.

2) Python was a general purpose language, unlike R or MATLAB, so you could extend existing systems to do more without running into a wall.

3) Python was a heck of a lot less effort to use than C++.

4 comments

Extending the comment a little: I'm crediting CPython for the nice APIs, but really I should be crediting David Beazley's SWIG. That got the ball rolling on a lot of projects.
He gave a talk on this very question in the past week. I strongly recommend. See https://m.youtube.com/watch?v=4RSht_aV7AU
I was a student in the early 2000s and part of the academic community and have personally seen some of the world's best scientists working on physics or computer science. Not one of them used Python - in fact our professor chose to teach us Haskell and C in the first year of under-graduation. C, C++ or Fortran was quite common for scientific programming.
Indeed, Python was already the main scripting language at CERN when I was there during the early 2000's.
Can you link any source on the python scientific usage in the 90s and early 2000s? I think the dominant language in science at that time was a mishmash of MATLAB, Java, C++, FORTRAN and Perl (In Biology at least, perl was the goto glue language due to its excellent string processing capabilities)
https://aip.scitation.org/doi/pdf/10.1063/1.4822400

I can attest to Python usage in physics exploding after this. What Livermore says, you listen to. They were considered the best of best, after all.

An unknown student making an unknown library, no one cares. But when Livermore says, hey guys, Numeric is interesting, you listen.

Things rolled from there.

I'm not sure I could find sources on the web any more easily than you. (Maybe start by looking at references in David Beazley's old talks?) I was in physics at the time, and what happened there was that Python basically enveloped Fortran & C++, letting people use the existing code without getting bogged down in complicated invocations.
https://www.youtube.com/watch?v=4RSht_aV7AU is a recent Beazley talk about that era.