Referring to prototyping. I mostly do them with Emacs Lisp. This may sound strange at first, but this allows me to focus on exploring the problem and takes away the pain of setting up an interface to test stuff when they are still fluid.
The funniest part is that once I had to help with a tedious documentation merging task on a tight schedule. Due to extremely limited time constraints I made a half automatic elisp solution that became the standard tool to perform the task. It's still used and by people never exposed to Emacs before.