I’ve been researching a whitepaper for CloudU that looks at the different languages modern developers of cloud applications need to think about and it struck me that we’re running into some problems. While the myriad different components of web applications give great flexibility, they do little to hide the complexity of development and a key tenet of mine is that complexity should ideally be hidden in a cloudy world.
Seeing this problem and wanting to deal with these issues is what motivated Henri Binsztok, the founder and CEO of a European start up company to develop a new programming language that he believes is ideal for new web, cloud and online game applications. His language, Opa, was released as open source in June 2011 and is already gaining traction in the development world, including some trials at Facebook.
As Binsztok sees it, there are two specific problems with current development languages for the cloud:
- The web is built from too many pieces. Due to historical reasons, the stack required to run web applications is overly complex and hard to maintain in the cloud.
- The web is built using fragile technologies. The only client-side technology, Javascript; and many server-side technologies like PHP, Ruby and Python are dynamically typed and lack proper semantics. Nothing prevents a developer from comparing apples to oranges. As a result, expert developers and extensive testing are required to built quality applications.
In coming up with a solution, Binzstok is leveraging 100 person years of PhD level research. The language, Opa, doesn’t replace any of the stack pieces individually. Rather, it seeks to eliminate them all at once, by proposing an entirely new paradigm for web programming. In an Opa application, the client-side UI, server-side logic and database I/O are all implemented in a single language. Opa isn’t alone in trying to reinvent development; it competes with Node.js (made by Joyent) and Dart (by Google) but Binzstok believes that Opa is technically much more advanced in making web programming easy and safe.
Does the world need yet another language? At first glance the answer to that question is an emphatic no. But in research for my whitepaper I’ve been confronted on an ongoing basis by the complexities of developing modern applications. If Opa can really deliver on its promise of tighter, easier and more accessible development, it could potentially become a strong contender for the crown of cool language de jour…