I never understood what is the difference between GPy and GP in sklearn. I'm using the latter, but still do not understand most of parameters that go into this model.
I would argue that if you the physics behind the problem, then even semi-empirical models easily beat machine learning. I have seen this consistently on my data-sets.
Cython can be used to auto-generate optimized Python C-API code that gets source-mapped line by line to original Cython code in the form of HTML annotations. This stuff is very hard to write by hand.
TIOBE seems to be the most realistic with history tracing back to 1986. C/C++ coders have tons of code not on github and a lot of references like books, which are sometimes more useful than SO. Also the metrics, native language and area of application are very important.
What you describe looks like reactive programming and lazy evaluation and Mathematica has support for this using the notion of Dynamic. This is how actually Manipulate is implemented.
Not everyone needs more than one language in the same notebook communicating between each other. But if required, then the cell magic system looks superior to me: have a look at %%fortran, %%cython, %%javascript, %%html, %%bash options. Also it is possible to switch kernels in the same notebook, but serialization of state between kernels is handled by user.