Honestly interested to know: Is there any added value for a Python developer in learning and using Scala? I love Python, especially because of its ecosystem, its widespreadedness, and of course because of Pandas, Numpy, Matplotlib. But I miss functional constructs from Mathematica or Scheme. Scala seems to be much more systematic and profound, but again: For everyday usage, is it overkill?
It depends on your needs. Scala has some advantages over Python when you want high performance, or if you want to build large programs, or if you're interested in building principled or robust programs using functional programming. Netflix machine learning seem to be leaning towards using both Python and Scala together to take advantage of both. See this project: https://netflixtechblog.com/open-sourcing-polynote-an-ide-in...
I cannot answer your question. Since you love Python, I guess you don't have any problem with dynamic type-checking. You also mentioned Scheme, I take that as you don't mind parentheses either. :)
If you would like to try something that's closest to Scheme and has access to the rich libraries in both the Python and Java ecosystems, give Clojure a try. You have access to the Java libraries out of the box and, with libpython-clj [1], you get access to your familiar Python libraries.
I love Python too! The style of Scala used in this book is much closer to Python than Mathematica or Scheme, with many of the libraries involved being carbon copies (os-lib, requests-scala, ujson) so you will feel right at home.
As to what you get going to Scala, it depends what matters to you.
Does 50x faster compute matter to you, for the code that’s CPU bottlenecked but inconvenient to rewrite in C?
How about easy parallelism, to trivially and fully utilize multiple cores without clunky subprocess management?
How about easy packaging? One builtin command to package your program as a single file that can run anywhere with a JVM, no other global installs required?
You do give up some things using Scala: compile times are slower than iterating on Python scripts, the JVM runtime takes a second or two to warm up when launched, and you don’t have quite the same numpy/scipy machine-learning ecosystem. Whether that is worth it is up to you!