Because there are relatively poor alternatives to it. Think of it this way -- if people were used to T9 interfaces on phones, and you had a T9 pad for a computer, then most programmers would be entering their code using T9 because it's harder to learn to type properly.