Are you venturing outside of the realm of C/Java descendants?
The nature of how those languages model execution, their basic paradigms, data structures and design patterns all fall within a fairly narrow scope. Stepping outside those trappings lets you see them with a bit more clarity because you're forced to stretch your brain to accommodate something altogether new and get fresh perspective on the problems the languages are solving and how they solve them.
You won't necessarily gain any perspective if you're writing the same exact kind of code in languages X and Y, and you can gain perspective by writing an entirely different kind of code in a language you're used to. It just tends to follow that when you learn a new language, you'll learn to do things in the style of that language.
I spend most my time doing Python (for scientific programming).
Knew Java, C++, Matlab and Perl before I learned Python.
A couple years ago, I learned R... I still use that a few times a week. Don't think it's improved my python programming.
More recently learned Clojure and Javascript. I think those count as meaningfully different from Python. I program differently in those languages, but I'm skeptical they've made me a better python progammer.
I'm skeptical they've made me a better python progammer.
Maybe it hasn't, the whole idea is basically acquiring tacit knowledge and understanding through osmosis. That's why its hard to quantify how it should work.
Try learning Haskell. The concepts I discovered while learning it were very influential in my approach to other languages, even if I don't use Haskell itself all the time.
The nature of how those languages model execution, their basic paradigms, data structures and design patterns all fall within a fairly narrow scope. Stepping outside those trappings lets you see them with a bit more clarity because you're forced to stretch your brain to accommodate something altogether new and get fresh perspective on the problems the languages are solving and how they solve them.
You won't necessarily gain any perspective if you're writing the same exact kind of code in languages X and Y, and you can gain perspective by writing an entirely different kind of code in a language you're used to. It just tends to follow that when you learn a new language, you'll learn to do things in the style of that language.