does that mean

So I can ask what's the color of the sky but I cannot ask what are the colors of rainbows? The color of rainbows have very definite answer, namely a vector (or array) whose members are red, orange, yellow, green, blue, violet, purple.

However, there are indeed many colors in a rainbow. Is this okay?

Now may be there are different opinions. Some may count violet and purple the same color. However, that is not that vague.

The reason I asked is I got tons of downvotes for questions like what are the good traits to select programmer for.

While there are indeed several different traits (capability to communicate, IQ, and programming skills are different traits) we sort of know that there is one definite answer.

The answer would be a set of traits and a function that map each element of the set to "importance" of the trait.

Maybe people have different opinion on the amount of weight for those traits, but there is indeed a one definite answer of what capable programmer is. I got tons of good answers that give me insight to that one set of traits.

The question itself is heavily downvoted however. I wonder why.

The answer is definitely definite. We know that those who can't program will never be a good programmer.

1 Answer 1


Your analogy is wrong.

Asking for the colours of the rainbow is not a list question as there is a definite answer.

A list question is one that asks for an open ended list of answers. For example:

  • What's a good book for learning C# (or Python, or Perl, or Objective-C,..)?
  • What's a good web site to learn about ...?
  • How do you learn a new programming language?
  • What to look for in a framework?
  • What makes a good programmer?

For each of these questions (and the countless others like them) all you will get is a list of people's favourite book, language, framework etc. You will be no better off than when you asked your question.

This type of question shows that you haven't done any research or thought about your problem at all. Stack Exchange works best when you have a real, definite problem and require a concrete solution.

To take your question: "What makes a good programmer?". Everyone has their own opinion on this and the "answer" will be an open ended list of traits and people's opinions on why these are important. The list will probably even be contradictory.

  • The definite answer for a good programmer is smart and get things done by Jeff Adwood. That's pretty definite. You don't deviate far from it.
    – user4234
    Feb 17, 2013 at 11:54
  • 1
    @SharenEayrs what if someone posts an answer totally unrelated to your opinion? Like, "best programmers are perfectionists / lazy / fluent in Lisp / good communicators / understand recursion" (here, I just listed some other opinions I've seen on the web)
    – gnat
    Feb 19, 2013 at 5:20
  • 1
    According to Larry Wall, good programmers are lazy, impatient and full of hubris.
    – user40980
    Feb 21, 2013 at 16:59
  • Okay fine. That's interesting. There are many different answers. How can she get that kind of information if not from programmers stackexchange. Can that question be reworded?
    – user4951
    Apr 21, 2013 at 9:30
  • @JimThio You could try Quora or reddit/r/programming.
    – yannis
    Apr 22, 2013 at 3:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .