People who use it for data crunching and analysis use packages like numpy and Pandas that are, in fact, just a bunch of calls to C libraries.
I would say it’s more for interactive analysis and quick scripts that don’t need to run super fast. A typical workflow for me would be to prototype algorithms in Python, and then, when I get something that works (and that I know is possible to run really fast, based on the types of math used) then I hand it off to someone else, who will implement it in c++ and optimize it so it runs really fast on a supercomputer.
To be perfectly clear, nobody has EVER asked me to teach people how to write software.
On a long drive, my wife once asked me how exactly computers work. I remember saying “Well, they’re actually quite simple…” before I bored her for an hour explaining how every little part works.
Just going through Python-Flask with SocketIO. Sigh The documentation is patchy, as it’s an add-on library based on a Javascript/Node.js add-on.
There are examples out there, but so many of them seem like Cargo Cult programming: Well-crafted, but where they didn’t really understand the underlying library. 80% are chat apps, based on the Node.js example, which stops short of using bidirectional websockets or messages directed to a single client, and so neither do they.
One that I’m looking at now, does the missing stuff, but opens three websockets to do it. (Four sockets per client including the base HTTP one.) It may work, but that’s just wrong! Plus the example code uses hardwired IPs and port numbers.
It is kind of a pain to get your deck of cards ready, take it to the window and then wait for them to run it, then find out that you missed ending a line with a period.
That’s basically my first encounter with FORTRAN77.
Luckily the card reader at the computer centre broke, wasn’t replaced, and we were allowed to use the terminals.