A friend of mine, a pretty good java and C# programmer, recently asked me this question while I was advocating the merits of perl and of dynamic languages in general. Why don't universities pay proper attention to dynamic languages? Why do software companies, which are run by smart people and employ smart people, use java and C# rather than dynamic languages for the enterprise systems they develop? Why are dynamic languages used as niche tools only (e.g. perl for system administration, or RoR for quick websites), and usually because an individual pushed for their use rather then because of company policy?
I promptly replied that platforms such as java and .NET are backed by billion-dollar companies that spend enormous amounts of money convincing people that their software is superior. But even as I said it, this explanation felt somewhat insufficient to me. The question has been haunting me ever since, and gradually a somewhat unexpected realization dawned on me.