Does program code entirely between curly braces {} ring any bells for you? Probably not. HTML lives between <> pairs, and LISP code was parenthesized (), but curly braces? This is the signature of a Web-oriented language called Curl. You'll see a lot more of it, as Curl is taking on Adobe AIR for the rich Internet app Web/desktop app development market...

Nelson King, Contributor

April 15, 2008

3 Min Read

Does program code entirely between curly braces {} ring any bells for you? Probably not. HTML lives between <> pairs, and LISP code (if you're old enough to remember it) was fully parenthesized (), but curly braces? This is the signature of a Web oriented language called Curl. That name you may have seen kicking around online literature. You'll see a lot more of it. As of this week, Curl is taking on Adobe AIR for the rich Internet application (RIA) Web/desktop application development market with a project named Nitro.Let's back up a minute and look at the context. As the nineties drew to a close, many people were aware that HTML and its most common programming partner, JavaScript, had serious limitations and that creating applications for the Web - good applications that could rival desktop applications - were somewhere between difficult and impossible to pull off. One of the many solutions to overcoming the problems started in 1998 at M.I.T. by Steve Ward and the Curl Project with the support of Tim Berners-Lee (he of the Web's founders).

Curl looks like a markup language but is an object-oriented programming language supporting multiple inheritance, strong typing, and just-in-time compilation. Like so many other Web systems, it requires a run-time engine (an RTE of 8 MB) that is downloaded to client computers. The language was designed to create user-friendly, modern GUIs and handle graphics with aplomb. It was also designed to be comfortable with large datasets, to be server agnostic, and to provide designed-in rather than tacked-on security features. From an enterprise point of view it sounds like a very good fit. Perhaps, but acceptance of new languages is complicated and the competition is fierce. Curl went public as a spin-off product of Curl, Inc. in 2002, but ran into financial difficulties. It was purchased by Sumisho Computer Systems of Japan, which migrated the company to Tokyo. There Curl matured and found acceptance among more than 300 commercial customers. As a company, Curl returned to American shores in the summer of 2007, arriving with a new focus - the enterprise.

While its makers fully believe that Curl is a language worthy of being the Web standard, they've wisely decided not to challenge HTML and JavaScript (and now Ajax) head-on. They're bringing their story to where it should play best, the demanding environment of secure and data rich enterprise apps. As part of the strategy, the company has singled-out one of the native features of Curl; it can create standalone desktop applications with Web roots, much like Adobe AIR With the addition of a local data manager, SQLite, Curl can handle the necessary desktop client functions: Security, connectivity, state and session control, user interface, and data management. In this desktop form, Curl is Nitro.

The Curl Nitro package is delivered in the form of the client RTE and an IDE for developing the apps with the Curl language. The current IDE is proprietary, but this year it will be shifted to the open-source Eclipse workbench framework. All the components are downloadable and free at http://www.curl.com/download/all_downloads.php. The business model entails charging for deployment licenses of commercial applications.

If you've ever wondered why Web programmers must deal with multiple programming elements, for example: HTML, CSS, and JavaScript; Curl is a counterexample. Curl, Inc. believes Curl creates applications that ultimately compete with apps from Microsoft Silverlight and Adobe Flash/AIR, most especially in the enterprise. That's worth checking out in detail, which is something I intend to do.Does program code entirely between curly braces {} ring any bells for you? Probably not. HTML lives between <> pairs, and LISP code was parenthesized (), but curly braces? This is the signature of a Web-oriented language called Curl. You'll see a lot more of it, as Curl is taking on Adobe AIR for the rich Internet app Web/desktop app development market...

About the Author(s)

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like


More Insights