You listed 4 specific languages, but the following things are each inconvenient in them:
- C: it's inconvenient to implement a quick prototype
- Ocaml: it's inconvenient that the stdlib is so small
- Go: it's inconvenient for scientific/numerical code
- TypeScript: it's inconvenient to run server-side
Obviously you can do everything in any language (Turing, blabla), but the question is, how much effort (time) does it cost.Python rocks in all of them (edit: the big exception being frontend webdev), in particular for quick prototyping. I think mypy is an exceptional and fine contribution to the eco-system and I really appreciate their effort.
How much I would like Webassembly to be ready to open the gates to other languages on the frontend land. Anyone here has more information about webassembly / python on the browser? I would love to know what is the current state of the art of running python on the browser and contribute to make the dream come true.
I have on my radar Brython [0], py.js [1](seems to be abandoned) and pypy.js [2]
[0] http://www.brython.info/ [1] http://pyjs.org/ [2] http://pypyjs.org/
I don't know what "strictly typed Python" is, but the type checking discussed in this post is 1) completely optional and 2) static. You don't have to do it if you don't want to, and even if you do do it, it doesn't affect in any way Python's runtime behavior or flexibility. You can have a codebase that works fine yet at the same time fails mypy's checks.
Also, no, we are not moving towards "strictly typed Python", even if that were a thing. PEP 484, which laid out the standard type hints, included this line in bold under "Non-goals" [0]:
> It should also be emphasized that Python will remain a dynamically typed language, and the authors have no desire to ever make type hints mandatory, even by convention.
I used typing with PyCharm for one of my project and it helped me to find several bugs.