Programming languages - seeing the future, but can you make money off of it?

Published: by

Programming languages are an interesting area of technology. On the one hand, they are the indispensable basis for everything that is done in software, the Internet, embedded devices, essentially everything in technology, and thus are invaluable. Advances in languages - from assembler up to the latest high level languages - are what have made possible the creation of portable devices, Google, Facebook, Microsoft Word, and everything else we do. On the other hand, from a business perspective, they are the arcane "language" (pun intended) of techies. From the end-user perspective, all that matters is that it works.

For those aware of the underlying languages, the choice of language and their development is often the subject of fierce debates among technologists. Whether to develop a project in Java or .Net, client-side in Flash or JavaScript/Ajax, can lead to wars that are called religious. The latest trend in Web development is an interesting language called Ruby, developed by a Japanese programmer who was displeased with his choices, and the development tools and framework around it called Rails, developed by a small company called 37Signals, the company behind Basecamp, Backpack and other highly popular Web 2.0 applications. Nonetheless, advances in languages have had a significant impact on the ability and ease with which developers build and maintain applications. Of course, anything that is easier to build and maintain, means less effort, which equals lower cost and less time to get to results. These matter greatly to businesses, who focus on return on investment. The right technology can lead to lower costs, faster delivery, and a much better profile for investment and success.

However, from the side of the language itself, it is interesting to note that very few organizations have actually made money on the languages themselves. There really are only three types:

  • Language Service Organizations: These are organizations that build up expertise and then sell that expertise. These are primarily consulting firms and training houses. Every time a new language comes along that has demand, those organizations smart enough to see which one will have broad adoption gain early expertise and a name, and leverage it to sell training and consulting.
  • Proprietary Owners: The specific example here is Microsoft, which owns .Net (and various "Visual" languages before it). I cannot think of another firm that has owned a language and made money on it in a similar manner. Even Sun, which largely owns Java, has never made serious money directly off of it. Certainly, it has leveraged its ownership to develop commercial products around it, but little to no direct financial benefit.
  • Tools Providers: These are organizations that sell tools to help in development, whether Integrated Development Environments (IDEs), testing tools, debuggers, and similar tools that assist developers.

Proprietary Owners has existed in rare circumstances. Most of the languages in use today have no one getting direct ownership benefit: C/C++, Java, Perl, PHP, Ruby, etc. There is some money in debuggers and IDEs, probably a reasonable amount of money in training and consulting, but nothing in direct language leverage. Further, many of the critical infrastructure elements, like application servers and frameworks - think Rails for Ruby, JBoss or Tomcat for Java, Cake or Kohana for PHP - are open-source. In other words, real money, the kinds of high-growth firms that investors like, are hard to find directly around a language. There have been what would largely be called "arbitrage plays," where commercial software takes a lead before open-source fills in - WebSphere and WebLogic for Java before JBoss - but they are few and far between.

Given this background, the growth of a new language is important and interesting, critical to understanding where to invest your labour, but it is hard to see how to make scaling money off of them.

Why bring this up now? Arguably, the single most well-known language in the world is not Java, .Net, C/C++, Perl, PHP or even Ruby. Since there are far more Web developers than programmers - Web pages are easier and require less structured engineering thinking, in most cases, than server programs, and developers may sometimes develop complex Web pages - the language of choice on Web pages likely has the single highest knowledge and adoption rate: JavaScript. Until recently, JavaScript was relegated primarily to client-side Web pages, running in your local browser - Internet Explorer, Firefox, Opera, Safari, Chrome, etc. Lately, a concerted effort has been made to put in place the missing elements that would allow JavaScript to run properly on a server. These projects - almost entirely open-source - include CommonJS, NodeJS, SpiderMonkey, Rhino, Jaxer, Helma, mod_js, the list goes on and on, and are spreading at a tremendous rate. Further, serious JavaScript conferences have begun to take place, both focused on a particular set of tools and, notably, general JavaScript, like the JSConf that occurred in 2009 in both the US and Europe.

This leads to an interesting question. A lot of effort is being put into JavaScript as a server-side language, essentially a competitor to Java/.Net/Perl/PHP/Ruby/etc. Clearly much of this effort is in open-source. I am not interested in whether or not JavaScript should succeed, from a technical perspective; lots of technology products that should fail from a technical perspective succeed in the market, and vice-versa (VHS vs. Betamax, anyone?). From a market perspective, having the same language on client and server has enormous financial benefits for Web application developers. I am not advocating for or against this or any other language. I am, however, interested in:

  1. Will JavaScript be the next hot language?
  2. If it does, other than becoming an expert firm and offering training and consulting, where is there real money to be made?

The answers could be interesting.