A little while ago Scott posted a post that got quite a few responses about the validity of personas and whether they are helpful in targeting customer segments or not. I'm going to stay out because many people who are smarter then me have already commented.
What I want to point out, though, is an interesting fact relating personas and static type languages. Traditionally, we viewed Mort as a developer that did not care about types and thus, VB6 was a language that was traditionally viewed as a Mort language. We viewed Einstein as a developer that built complex applications utilizing the benefits of static types and type safety (and thus, uses type-safe languages such as C# and C++).
Yet I understand the need to create personas - they can be a very useful guide at times where the product is going in a hundred different directions.
Thus, the secret I think then is to determine how to balance the idealized personification model while remembering that not everyone will fit into the model nicely (and in fact, as Paul mentions, some people may be in all three categories), and we need to design our product to target the appropriate market segment yet be flexible enough to be easily adopted by people who don't fit nicely into the personification model. Flexibility and simplicity are tough and sometimes contradicting goals.