Why do Indians speak such good English, but Pakistanis don't?

When Musharraf was at his peak, he made a statement on public television that surprised me:

Why are American companies outsourcing jobs to India when Pakistani people speak better English than Indians?

I was in a Pakistani restaurant back then (in Houston) with friends, and we all laughed our heads off. Not because we thought that Indians speak better English, but because of

Mushraff's reluctance to accept the fact that Pakistan has become a closed society to anything that is not Muslim, and that also include languages. The founding fathers of Pakistan wanted to associate everything in the new country to its religion: education, language, food, culture, almost everything... I believe in that process they ended up distancing themselves from rest of the English speaking world.  

Here are my reasons: 

If you are born and brought up in an affluent, well educated family, especially in the metropolitan areas of India, you will speak better English. I believe that is true even for Pakistan. If you studied from a "vernacular" (local language) school, or from schools in rural areas, your spoken English is definitely going to suffer. 

India over the past 60 years managed to add more metropolitan areas compared to Pakistan. Also its middle class population has prospered and more people from the lower economic classes have moved to the middle class. Quality of education in English medium school is generally considered better, though expensive. With more disposable income, more and more parents can now afford to send their kids to English medium schools. Local language schools teach the exact same subjects and syllabus as the English medium schools. Most college/higher education (especially science) is taught in English. Kids from non English schools struggle in first few years of their college.  As you can see their is no great incentive for parents to send their kids to local language schools. In fact they will have to face more problems later in life.  

In India English is just another language, it is not associated with Christianity. Only one in 20 English medium schools In India is a convent school, rest are just "schools", following a board recommended syllabus and not mixing the teachings of any particular religion in the school curriculum. For this reason, sending a child to an English medium school does not upset a Hindu parent.

Hindu parents largely think that religion must not be part of school education and that it should be limited to the boundary of their home. That is why you will not see "Hindu Schools" in India the way you see Muslim schools in Pakistan or in Indian Muslim communities. I believe that English is not taught in most Muslim schools, especially in India and Pakistan. I also believe that a good majority of Muslims rely on such schools for their children's education. For these reasons, you are going to see a much higher concentration of English speakers in India compared to Pakistan. With overall high number of English speakers, even a small percent of good quality English speakers is going to yield a sizable number.

source :- quora.com