BYTE.com > Mr. Computer Language Person > 2003
Curl
By Martin Heller
June 30, 2003
(Curl
: Page 1 of 1 )
Curl Corporation is a spin-off from a government-funded MIT research project. That sounds impressive, but the history of such enterprises has been mixed: The first two of these that come to mind are Symbolics and Lisp Machines, both of which were spin-offs from the MIT AI Lab. Both helped advance the state of computer languages and software development environments; neither survives. Curl Corporation is a spin-off, not from the AI Lab, but from the Laboratory for Computer Science, and was founded to commercialize the results of a three-year, $5 million DARPA-funded research project. Former MIT researchers Bert Halstead and David Kranz are the current Curl Corporation Chief Architect and CTO, respectively.
The general positioning of the language is that Curl applications deliver "rich client applications for the Web-enabled enterprise." That's hardly unique: You could say as much for the client-server parts of Java and the Microsoft .NET Framework. The key idea here is that the application does a significant amount of processing on the client, enough that it can run well when only occasionally connected to the server, or when connected over a thin pipe. The Curl folks go on at some length about "data-intensive, graphic-rich Web applications."
The Curl Client/Web Platform consists of the Surge Runtime Environment (RTE) and the Surge Lab IDE, both of which can be downloaded from the Curl site. The runtime and tools are free for non-commercial use; deployment for Enterprise or consumer use requires licensing.
The Curl Language
As "Mr. Computer Language Person," I'm most interested in the underlying Curl language. For you computer language literati, the short summary is that Curl has many of the most powerful characteristics of Lisp&39212;including macros, anonymous procedures (full closures), garbage collection, and dynamic source evaluation—plus some of the best characteristics of several other languages: object-orientation, HTML-like user interface specification, just-in-time compilation like Java and C#, multiple return values like Python, generics (templates) like C++, and method overloading like C++, C#, and Java.
Page 1 of 1
BYTE.com > Mr. Computer Language Person > 2003
|