I don't know if there any special "favored" languages in this area, but I suspect that the answer is "no". In any given discipline, you will typically find people using an assortment of different programming languages to explore ideas. In many cases, people choose a particular language just because it's one they already know, not because it's especially well suited to the problems at hand. As the old saying goes -- "when your only tool is a hammer, every problem looks like a nail" :-)
If you're going to learn a new language, here are a few criteria to consider:
(1) Pick one that's "mainstream", rather than some special niche language. So, pick C++, or C#, or Java, or Matlab. Maybe Mathematica. Maybe Python. Not Haskell. That way, the knowledge you gain will be more broadly applicable. It might help you get a job, at some point, for example.
(2) Pick one that is well suited to your problem domain, to make your life easier. So, for dynamical systems, I would expect that Matlab and Mathematica would be good. Python would be good, too, because you have access to the NumPy package. C++, Java, and C# might involve more work, depending on what helpful libraries you can find (there are many, but their quality varies greatly).
(3) Personally, the only reason I ever use C/C++ is when I want my code to run as fast as it possibly can. Unless performance is the main concern, C/C++ are just too much trouble, IMO.
The criteria are conflicting, of course, and only you can decide which ones are important to you.