> Python won because people who knew math/science domains only knew Python.
This doesn’t explain why they knew Python in the first place, a pretty critical step. It reached popularity without a platform mandate (JS, Swift) or corporate backing (Java, Go) so there’s something going on.
Python has a lot of great libraries. It's the inverse of the chicken-egg problem.
Because there are now some critically important libraries (pandas, numpy), it means that is the obvious starting place if you want to hit the ground with minimal effort. I think that's totally fine for uni. But there should be a capstone level class for data/ai scientists before they can graduate which shows other languages and teaches some general best practices of software development.
There are plenty of other languages which can do the same job. And honestly, the algos which are available can be recreated if they don't exist. Most of it is not "rocket science".
But the greater problem is that Python itself is a poorly designed and warty language. Whether a scientist or not, choosing Python means fighting these warts. No amount of make-up can cover some of these; and plenty of other languages start with clearer foundations.
>This doesn’t explain why they knew Python in the first place, a pretty critical step.
>>Python has a lot of great libraries. [...] But there should be a capstone level class for data/ai scientists before they can graduate which shows other languages
I didn't downvote your gp reply but your answer just pushes the question to an earlier point. Why did early earlier 1995 programmers at science labs like David Beazley and Jim Hugunin (who already knew "other languages" such as C Language, assembly, Fortran, etc) ... choose Python as the scripting wrapper for their C code? See my other comment about their earlier history: https://news.ycombinator.com/item?id=30813528
The "Python having a lot of great libraries" wouldn't have been a compelling reason for David Beazley since those earlier creators of scientific packages for Python chose Python before it had a lot of scientific libs. They were among the very first.
Here are some bullets from another deep link at a different point in the video[1] :
- David's first attempt writing his own homegrown scripting language.
- he also looked at alternatives like Tcl/Tk and Perl and they weren't as appealing as Python.
- David mentioned Python had a more powerful REPL.
- Python was also open source C code so he could easily modify it to run on the Thinking Machines CM-5 computer[2] in the physics lab
- wanted a language & runtime that encouraged the wider community to build more science tools
In your opinion, what was the superior programming language that David Beazley and Jim Hugunin should have chosen in 1995 that checks all the bullet points above?
Python is more accessible in modern times than C, assembly, and Fortran.
But we are SO far past that now. My argument isn't for what should have happened in 1995, it's for the complacency which has allowed Python to become the top 1 or 2 language in 2022. It's like having proximity detectors on the back of your car, but you still start the vehicle with a crank at the front. We can do better; we have the technology.
This doesn’t explain why they knew Python in the first place, a pretty critical step. It reached popularity without a platform mandate (JS, Swift) or corporate backing (Java, Go) so there’s something going on.