What this 3 have in common? Sometimes they are used to describe programmers. What follows is a characterization of each type.
This is the most used term out of the 3. You might even seen it in job offers ads like: "Are you a Rock Star programmer? We want you in our team... bla bla bla".
First of all that means a person that is very good, one of the best at what it's doing (programming in our case), but it also describes it's character. It's all about him. The world revolves around him. All the others are not worthy of his attention. He is the God, as he can create what no other can. So not a team player.
The masters in their craft, the warriors that know their weapons, and handle them like no other. Can do things faster then anybody else because they know the secret shortcuts to get a job done. Google is their best friend. Why invent new solutions when so many problems have already been solved? They will be able to reuse code and modules that the society has produced.
Doesn't refer to one's technical side. For a hero it's all about getting it done. If there is a problem with the delivery of the product, the hero will step up and put everything he's got to solving the problems and delivering the project on time. Yes, that means working late hours. Just as real heroes (not comic book ones) they burn out eventually.