PhD. is from science realm. Programming isn't a science, it is a craft. Like in any craft, you have master craftsmen who is able to and have produced masterpieces and you have apprentices and journeymen. There is also CS which is a science, and PhD is completely applicable there. And as expected and normal in any other area, the PhD in the science - CS - isn't automatically means that the holder is a master craftsmen in a somewhat related craft - in this case programming. The same way like for example PhD in economy theories vs. financial manager/CFO or just general manager/CEO - science and theory vs. craft.