Programming language popularityDue to the rapid pace of change in the high tech sector, we often need to evaluate new technologies in order to decide whether to allocate time to learning and using new systems. Jump on the bandwagon too early, and you risk becoming involved with something that just heads downhill or doesn't go anywhere. Wait too long, and you may find yourself behind the times with regards to “the latest thing”.Programming languages are a particular area of interest. Selecting a language involves many factors, and certainly isn't something that can be considered in a vacuum. Of course, it's important to pick something that can do the job correctly and efficiently, but depending on what you need to accomplish, and who you have to work with, the availability of external libraries, people to help you out, or even to hire you or be hired by you can all be important things to weigh. Economists use the fancy sounding term “positive network externalities” (or “network effects”) to describe products that gain value as more people that use them. For instance, you could have a really fancy cell phone, but if you could only call one person with it, it really wouldn't do much good. The exact same hunk of plastic has more value if it's connected to a network. Programming languages, when considered in that light, certainly exhibit some of these traits. If everyone is using a language and contributes a little bit back here and there (libraries, documentation, help on mailing lists), it's certainly more valuable than an equivalent language with none of this participation, or a language with a very small user base that can't keep pace with the contributions of a much more widespread language. Conversely, once you've chosen a language and have code written in it, bought books, and spent time to learn it, there is a large lock-in factor. Switching to something else will be expensive, even if the other language is open source and you pay nothing for the tools to use it! The time it would take to learn the new language well, as well as ongoing costs for maintaining old code, make the change prohibitively expensive.
|