RIAs (rich Internet applications) are all the rage now, and for good reason: Given the wide availability of high-speed Internet service, they have the potential to combine the ease-of-access of Web applications with the ease-of-use of desktop applications. Curl, which is a programming language, an IDE, and a runtime engine, was actually ahead of its time back in 2003, when I wrote about Curl 2.0 for Byte.com. However, broadband access wasn't quite so widespread at the time, and the idea of RIAs didn't seem quite so compelling.
[ See also: InfoWorld Technology of the Year Awards Application Development winners | Screencast: Curl 5.0 ]
Click for larger view. |
The commercial Curl I'm writing about here needs to be distinguished from curl or cURL, the command line tool for transferring files with URL syntax, and the bindings for libcurl available for many languages. Curl was originally developed as an MIT research project; this is a spin-off from that project.
So why haven't you heard about Curl? Curl of Cambridge, Mass., was acquired by Sumisho Computer Systems of Japan in 2004, and Curl was primarily marketed in Japan until this spring.
With an 8MB runtime engine, Curl 5.0 falls near the middle of the range of rich Internet clients as far as "heaviness." It falls near the high end of the range when it comes to runtime performance. It has an impressive JIT (just-in-time) compiler with code caching and good support for graphics hardware. This is quite clear from some of the standard Curl demos and samples, especially the ones that demonstrate ray tracing.
Ray tracing is one of the most compute- and graphics-intensive types of applications, and Curl can actually compute and display animated ray-traced scenes at reasonable frame rates. Curl runs hundreds of times faster than JavaScript, and it comes close to native code speed for many applications.
Easy does it
Curl's original design goals were to unify documents and applications; to provide markup, scripting, and object-oriented programming
in one environment with high performance; to create interactive UIs with a minimum of code; to support rapid development;
and to be a "gentle slope" language. By "gentle slope," Curl's designers mean that all APIs can be extended, simple tasks
require only simple code, and the language needs only the minimum of boilerplate code.
In my experience, Curl meets most of these goals at the language level, and the visual layout editor picks up the slack in the area of rapid UI development.
Martin Heller is a contributing editor of the InfoWorld Test Center and writes the Strategic Developer blog.
Talkback
E-mail
Printer Friendly
Reprints



