You've got to be able to participate in the environment. The particular language chosen. It's got to be an environment worth participating in. Pre-existing library or component packages. You need a solid base on top of which to build, and some concrete examples of how things are put together.
Different languages are good at talking about different things.
Figure out what you want to talk about first, and then choose the language. Here are some words used to describe concepts that certain interactive programming languages are good at manipulating.