t one time or another, every software engineer makes the mistake of banking on a technology that becomes obsolete?leaving customers or users stuck in a dead-end. This scenario can make or break a company or product. Anyone who has worked in the tech industry for a while knows that it is very hard to predict what technologies will become obsolete.
Occasionally, however, a technological shift comes along that is so crystal clear that adopting the emerging technology is a no-brainer. One of those transformations is happening today: a slow, but steady, shift toward web architectures written in dynamic languages that rely on open source software.
Explanation of the Shift
On the downside, dynamic languages tend to be much less compact and efficient than their static counterparts, but hardware has typically reduced the impact of this flaw. As hardware costs and capability double every 18 months, software gets a free ride. Faster processors and denser memories continuously speed up the performance of legacy applications. Virtualization takes machine scalability to a whole new level. Cloud computing could push the trend even further. With plentiful hardware resources today, the programmer’s time has become the most precious resource. Companies are turning to the most productive programming languages. Scripting languages such as Ruby and PHP are often the fastest way to get an application deployed.
The Data Behind the Shift
An in-depth look at Black Duck Software’s KnowledgeBase reveals the truth behind these trends. The KnowledgeBase database consists of more than 220,000 open source projects with some 5.6 billion lines of code (considering only the latest and greatest releases). A few months ago, Black Duck ran language analysis on every source file in the database to find out which languages are used most frequently by open source projects.
Not surprisingly, open source developers chose C more often than any other language. However, for project releases that occurred in the past 12 months, C’s market share fell a small amount relative to other languages. This doesn’t necessarily mean that the amount of C being written is shrinking; it means that the use of C is growing more slowly than the use of other languages.
|Table 1. Market Share by Language for All Open Source Code, August 2009
|All Projects ? Share (%)
|Trailing 12-Month Share (%)
|Trailing 12-Month Gain/Loss (%)
|Author’s Note 1: The “All Projects ? Share” column shows the results for all open source projects in the KnowledgeBase. The “Trailing 12-Month Share” narrows the results to show only code that was published or released in the most recent 12-month period, reflecting recent trends in language choice by open source developers.
Author’s Note 2: Black Duck would not expect dramatic changes in these values over a 12 month time frame because each percentage point of share is about fifty million lines of code.
Open Source-Based Languages: The New De Facto Standard?
Languages popular with open source programmers will likely continue to grow as the use of open source grows within multi-source applications. With companies today looking for efficiencies both on fiscal and even environmental fronts, coders are going to choose those languages that most ably get the job done.
As the slow but steady shift towards dynamic programming languages occurs, web applications will be written more quickly at lower cost, and companies will save money by saving time. At the same time, web programmers will be able to do their jobs more easily, enabling them to direct their creativity to areas of innovation that create business value.