Programmers may indeed lean toward using PHP, Python, or Ruby because of a cultural influence but I truly believe that the deciding factor is cost. New startups typically can't afford to use .NET because of the expense of licensing IDEs, MSSQL instances, etc.
I do agree that programmers should be generalists so they can quickly adapt to new languages and frameworks.
I do agree that programmers should be generalists so they can quickly adapt to new languages and frameworks.