I think a little note about linguistic preference of Punjabis is in order, just to clarify what @
cb4 is trying to say - and what @
Armstrong has also touched upon.
Punjab as a region gained a lot from British Administration in the latter half of Nineteenth century (post 1849 conquest of Punjab by British). First, Punjab got rid of the overbearing and expensive war machinery of Sikhs. Second, the Britishers realized that the solution to India's hunger lay in bringing the barren wasteland of Punjab into cultivation via a canal network. The result was spectacular. Punjab's population increased many fold because of the new found wealth derived from Agriculture. Third, Lahore assumed a very prominent position because of the stability of the British Administration's special focus and the fact that many Punjabis had a good bit of money to spend. Consequently, the newly emerged elite class in Punjab look to Lahore, and found that Lahore actually looked to Delhi. That is how Urdu became popular. It was THE language to know if one wanted to show that one was educated and cultured. Not that Punjabi lacked much in itself, but that British policies and collective cultural memory of Lahore pointed towards Urdu as the cross-cultural lingua franca of Muslims of Sub Continent.
Sir Syed Ahmad Khan in his efforts to establish Aligarh made trips to Punjab to collect required funds. The memory of 1857 and Punjabi Muslims' help for British cause being fresh in his mind caused him to utter the remark 'Zinda Dilan-e-Punjab'. This phrase somehow morphed into 'Zinda Dilan-e-Lahore'. We have often heard of this phrase, but we hardly realize the bitter-sweet context of this ironic phrase. In any case, where ever Sir Syed went (Lahore, Sialkot, etc...) he met people who had learned Urdu and were eager to express themselves in it. So, it is no accident that educated Punjabis had started to learn Urdu with zeal and affection much more than a century ago. But even after partition (1947), Punjabi kept its place as the dominant language of Punjab. It was only slowly that Urdu's edge started eroding Punjabi's place. Now I do not know any family in Lahore that actually encourages its children to speak Punjabi. Irony is that English has replaced Urdu during the last couple of decades. Mothers are mad about teaching their kids English. Urdu syllabus in private schools has become a non-priority.
But the common folks still speak Punjabi; which is far more expressive, frank, and status-blind than the language of Punjabi elite which happens to be mediocre English or Urdu.
@
cb4 is correct that Punjabi has seen erosion in its usage post-1947. But that is a process that had already been on-going for many decades by that time. And of course @
Armstrong is correct in observing that languages and cultural values are ever in a state of flux.
A few decades down the road, people would be wondering about the new-found popularity of Chinese language in Punjab. If I live to see it, I would not be surprised.