Articles / Early Adopter Curl

Early Adopter Curl

Curl is an attempt to replace HTML, JavaScript, Java, and Flash with a single easy-to-learn language platform. Since I am a computer language junkie, it didn't take much convincing to get me to try Curl. To dive into new technology, I like to quickly devour a book on the subject, and, fortunately, there was one available. It proved to be sufficient for the task, despite some shortcomings.

This book was released at roughly the same time as the 1.0 release of Curl, which is impressive, given that Curl already has a huge code library. To accomplish this feat, the publishers enlisted six different authors to write various chapters covering different aspects of the language and libraries. The risk with this approach is that the book might mimic the fable of the six blind men and the elephant, and present radically differing views of Curl. Fortunately, this pitfall was avoided by Mr. Maharry and Mr. Ullman, who provided the bulk of the introductory material, thus providing a firm foundation for the book's presentation.

The book starts with three separate introductions. The first gives an overview of Curl and its intended use, creating and delivering interactive client-side Web content. The second is a brief tour of Surge Lab, the free Curl programming environment. The third is a comparison of Curl with HTML and CSS for simple content.

Next, the book presents a chapter on syntax and another on Curl's support for object oriented programming. These chapters are laden with simple examples covering most of the basic concepts and capabilities of Curl. The authors did not, however, recommend a particular programming style, and this can leave readers without a firm anchor for creating their own Curl programs.

The remainder of the book covers the Curl libraries. Scripting objects, layout, interaction, and 2D/3D graphics get the bulk of the attention. These sections are excellent, although there are notable coverage gaps due to space considerations. Sections on audio, input, XML, and SOAP are particularly skimpy.

This book is a superior introductory text. There are plenty of useful examples, although nothing complete enough to impart a real sense of what a fully-realized interactive content site (or even page) might be like. Similarly, there is no fully-realized example of a reusable Curl widget. Fortunately, these deficiencies are not serious, given the availability of the CurlExamples.com Web site, which has hundreds of free examples to download and study. Also, the extensive documentation that is included with Surge Lab is remarkable for a 1.0 product release.

A large part of the pleasure of this book comes from the superior design of the Curl language and libraries. I found it easy to get up to speed and create a variety of increasingly interesting projects. My most serious challenge was that a few programming habits from C and Java programming had to be unlearned before Curl (which is influenced by Lisp) felt entirely comfortable to me. I also have the impression that the community of Curl programmers are still feeling their way towards a preferred programming style, so the shortcomings of Early Adopter Curl in this area are understandable.

The book includes a few misspelled class names and the like, so check the errata on the Wrox Web site. Also, there is one extremely serious shortcoming: The book has no index! This vexed me so much that I created a Curl program to allow me to create and present book indexes on the Web, so now there is an index at http://www.rockhoward.com/curl/. (To see it, you will need the Curl plugin, which, as of this date, is only available for Windows.)

I like Curl a lot and recommend it for highly interactive Web content projects. It is also an interesting choice for a Web services client. The available examples are pretty amazing, given the youth of the technology and the relatively small band of Curl practitioners who are currently on the loose.

Of course, this is a difficult economic climate for launching new technology, and the Curl company has been forced to play with their licensing models as they work to put their business on a firmer foundation. This matter is in flux as I write this, so you should check the Web site for the latest licensing information. I am confident that developers will not have to "pay to play", but the licensing model for deployments is likely to change from the original model (which essentially allowed smaller companies to deploy Curl technology for free).

A second book on Curl called The Curl Programming Bible hit the stands last month. I am currently going through this massive tome to see what it offers the forward-thinking Curl technologist.

Recent comments

05 Aug 2003 23:44 Avatar thinarthur

Curl, a view of the language

Anyone interested in finding out more about Curl should check out the articles from their pressroom:

http://www.curl.com/html/about/news.jsp

Martin Heller from Byte gives a good overview of the language from a programmers perspective:

http://www.curl.com/html/demos/subtleframe.jsp?title=News+Article:Curl&url=http%3A%2F%2Fwww.curl.com%2Fhtml%2Fabout%2Fbytearticle.pdf

and yeah, they do have a Linux version in the works:


http://www.curl.com/html/demos/subtleframe.jsp?title=News+Article:Curl+preps+Linux+version+of+app+dev+tool&url=http%3A%2F%2Fwww.infoworld.com%2Farticle%2F03%2F04%2F09%2FHNcurl_1.html

24 Jul 2002 08:26 Avatar jeffcovey

Re: Articles please, not shameful advertising for Alpha Quadrant Vapor

> Im sorry, but please try to understand that it's a little suspicious
> to find, in a site where you don't post news about windows software,
> a review of a book about a commercial, closed source, windows based
> technology.

I do understand. I just wish I could be given enough benefit of the
doubt that if people are going to jump to a conclusion, it's that I
didn't do enough research when picking a book off the publisher's list
(the truth) rather than that I've sold out the site.


Also, I can make the same request I always make: If you don't like
the articles on the site, write a better one for me, or at least
suggest a topic and someone who could do it justice.

> many of us don't speak english as our mother languaje, so think
> about that when you say "How much clearer do you need that to be?"

Ok, I will, especially since scoop had to look up "bribe" to find out
what we were talking about. :)

23 Jul 2002 04:04 Avatar philho

Re: looked at it, and...

>
> ... saw it looks modern, but there are
> fine alternatives, that do about the
> same - specifically, if you look for a
> tool in the same region as "curl", have
> a look at mp4h:
>


I am not sure about it, because I only had a quick overview of both, but it seems that mp4h is to generate static pages, while Curl is to interpret code on the client.

I would rather compare it to Yindo <http://www.yindo.com/> which is based on the fine language Lua, allowing it to be light and fast. Unfortunately, development, seemingly on free time of developers, is quite slow...

As somebody else pointed out, it is too bad the Curl name clashes between this language and another fine network tool, cURL <http://curl.haxx.se>. See http://curl.haxx.se/legal/thename.html for some explaination on the subject. It seems they coexist peacefully.

Regards.

22 Jul 2002 16:34 Avatar runix

Re: Articles please, not shameful advertising for Alpha Quadrant Vapor
Im sorry, but please try to understand that it's a little suspicious to find, in a site where you don't post news about windows software, a review of a book about a commercial, closed source, windows based technology.
Im not acussing you of accepting a bribe, we just feel a little bit confused about the review.

And, I know that you are (or at least slashdot) 'us centric' but many of us don't speak english as our mother languaje, so think about that when you say "How much clearer do you need that to be?"

22 Jul 2002 15:00 Avatar jeffcovey

Re: Articles please, not shameful advertising for Alpha Quadrant Vapor

> Im sorry, Jeff but I think that you have to answer that acussation.

The comment you're replying to says "no, we don't take bribes to
have articles appear on the site". How much clearer do you need
that to be?

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.