I want to have many different ways to think about problems, all linked up with ways to slide between them. (That's a big theme in SICP, the Feynman lectures, Doug Hofstadter, and Minsky's _Society of Mind_.) The languages that come up the most when I think programming thoughts: Haskell/ML (types, pattern matching), Scheme (procedural code, and my main larval-period language), E (OO: roles and responsibilities, message passing, contracts; event-loop concurrency & distribution; promises; capabilities), Python (actually coding most things), C (closer to the metal). Sketches on paper tend to use a Haskelly syntax with a Schemey meaning.