What language do you think in?
jaddison: I tend to think in terms of workflow.  1. How would user interaction occur?
  2. What systems are necessary?
  3. How can the problem(s) involved be solved? (what languages/tools/infrastructure)
  4. Pseudo-code
  5. Get crackin' on code

It's a pretty high level list, so I am probably missing some key points.I tend to spend a fair amount of time just thinking and pondering the problem; once I reached some indeterminate threshold, I start typing up point-form notes.  As I think more to gain more definition of the problem and potential solutions I add new, revise existing and remove obsolete notes.And to actually answer the question "Which language do I think in?", it depends on my answers to #3.