Network Effects of Programming Languages

“The Economics of Programming Languages”

“Programming Language Popularity”

Author David Welton analyzes the important and subtle economic characteristics of programming languages in the two articles above. He states that, though languages can be very useful regardless of the number of people using them, most of them gain strength through a large reinforcing network of users. Also, his claims depict how languages that succesfully capitalize on establishing a broad user base benefit from further increased growth because of the inherent popularity effects that drive certain languages outwards towards the tail of a user distribution.

Though programming languages essentially have a direct cost of zero (i.e. there is often no price to write code in a given language), they have many indirect costs associated with them, and thus adhere to many of same economic principles that encompass more traditional products in the technology market.

Due 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”.

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 factors to weigh.

The two greatest costs involved in choosing/switching programming languages are the time and resources to teach your employees the new grammar and train them to implement it successfully, and also the time and resources for your employees to convert all of your previous code (in a different language) into the new one. Because of these severe indirect costs, in order for a language to emerge above the rest of the myriad of other languages, it must have a few defining traits which can help it diffuse easier into and across a vast network. Essentially, a language must cut down on the indirect costs to the programmers and companies who use it. Thus, the savings to “consumers’ rely directly on the quality of the language, and less on the actual skill of the programmer.

Easier to write - expanding the number of people who can use the language, and thus its value.

More efficient - making for faster programs that take less time or system resources to accomplish what they need.

Higher quality - meaning that less programmer time is spent hunting bugs, and more on developing new features.

More productive - languages that let you do complex things easily mean that you can do more than a competitor using a language that’s slower to develop in.

The reason that less used programming languages survive in the face of better, more popular competitors is because many languages hold defining traits that allow them to fulfill different niches in the complex world of computer science. Some languages are more tailored for web-applications, while others ease the use of maintaining a database, or creating a operating system. The fact that no language is an all-incompassing tool kit for the vastly differing uses of software programs means that most languages can succesfully linger around and not be “buried” under the highly popularity of a competitor.

Interestingly enough, Welton uses the aspects of Google’s search engine and ad-pricing to equate a general model of the popularity for an array of programming languages. Based on raw Google hits, he shows which languages are “visually” popular, with C and Java leading the way. By analyzing the cost-per-click that bidders are willing to pay with the overall visibility of a language, Welton is able to distinguish which languages have more “commercial interest and potential” rather than just sheer visibility. To further depict which “lesser” languages hold strong value, he analyzes the current number of job offerings for a certain language against the languages raw visibility. This denotes which languages have the most physical applicability rather than just “overhype.” Overall, this data relates how languages are certainly capable of being driven towards an outward, “popular” power within the industry, but how the underlying features of many programming languages does not allow the “leaders” to fully separate themselves from the rest.

Posted in Topics: Technology

Responses are currently closed, but you can trackback from your own site.

Comments are closed.



* You can follow any responses to this entry through the RSS 2.0 feed.