I had similar problem, but then I started to look at it from the other way around, and now I am just carrying around a few concepts in my head that I really like, and every time I need to learn new language, I am first looking at how these concepts map:<p>* data definitions for lists and key&#x2F;value pairs, and how to nest them, change them, access them<p>* function and anonymous function definitions<p>* map, filter, reduce&#x2F;fold over lists and key&#x2F;value pairs<p>* api to communicate with world that uses tasks&#x2F;promises<p>This way, my code looks familiar and similar regardless if I write it in C#, Javascript, Java, or Clojure.<p>Main drawback is, that this limits my comfort zone to languages that have at least lambdas and closures.