New Language CURL Merges HTML And Javascript
jluxe writes: "CNN reports that a new language, Curl, was presented at the Software Development Forum in Palo Alto. This language works via a plug-in to browsers, and attempts to merge the gap between HTML, javascript, java, and even C++. It also supports the Macromedia Flash plug-in. Interesting to note that Tim Berners-Lee is listed as a financial backer of this venture, as well as an adviser." Here's the Curl Corporation's official website as well.
On top of all of this the real kicker is the amount of testing and release engineering you have to do on each platform before shipping it. Believe me you have to do this. Defects are a way of life with real products.
About this language, I'm sceptical of a new replacement for everything. Second, who uses Java on the client-side anyway ? The beauty of Java is that server-side stuff is cross-platform. Java on the client is just another language. I think we're doing just well for various approaches to separate content and logic.
Finally we've put in a whole load of internet infrastructure for dynamic caching. Separating content from logic will also allow us to be even more aggressive with caching fragments of web pages all over the 'net. I'm not sure how a proprietary solution will work ..
IMO these guys are probably angling to be bought by Microsoft.
Curl is several years old. It was picking up a little momentum as a freely available language/browser (source available) hosted from an MIT page (http://curl.lcs.mit.edu/curl/). It was an academic project with a grant from DARPA. IIRC, the academic page simply disappeared one day (maybe I've just been unlucky every time I try to access it; it's cached on google).
A year or so later, the commercial page showed up with mounds of reeking lawyer-speak.
The idea is pretty good, but it had a hard time taking off when it was free. Maybe it would make sense for someone to do a similar Lisp/TeX cross, but their attitude toward how to promote it is so ridiculously wrong that it's obviously not going anywhere in its current form.
Don't you just love it when government-funded academic research gets fenced off by a clueless corporation?
---
You'd be surprised at the broadband connection available to things crawling around in your hair.
The infrastructure and many protocols were already in place.
TBL did invent HTTP, HTML, and the use of the URL which proved very successful for the task, however, and very innovative compared to WAIS and Gopher which were already running. The URL is really what allowed many protocols to be tied together conveniently.
-Kevin
From the website's linked news release. ." (Emphasis mine).
"Curl Corp is aware of that [middleware] need and plans to eventually add features, such as database connectivity
Nuff said - this isn't anywhere near mature enough to be more than a toy.
http://www.eaijournal.com/PDF/Curl.pdf (August 2001)
Sig under construction since 1998.
It allows you to do everything in one language instead of a mishmash of HTML, Javascript, and Flash. It is fully object-oriented with static typing for good code generation while also allowing dynamic typing for rapid prototyping. It is JIT compiled directly to machine code -- there is no intervening VM. It supports advanced language features like closures, parameterized types, dynamic code evaluation, and built-in support for units. It has very powerful graphics and gui libraries. It has a built-in XML parser. It has built-in support for versioning, in fact, every Curl applet or package must begin with a herald identifying the Curl API version, as in:
{curl 1.5 applet}
This will allow us to continue to support applets and packages that were written for earlier versions of the Curl API. It has a strong client-side security model but still permits storage of client-side persistent data by untrusted applets. It is suitable for producing both documents and programs, in fact all of our internal and external documentation is written in Curl (for that matter, Curl Surge and Surge Lab are themselves implemented almost entirely in Curl).
Although Curl is usable as a scripting language (through the 'curl' executable that is included with the Surge Lab download), it is not intended to compete with other scripting languages such as Python. We have no illusions that people will drop their favorite application and scripting languages to use the Curl language, but we do believe that it satisfies a missing need in the client-side web-content niche.
Curl tech competes w/javascript, but "In addition, the Surge plug-in offers an integrated XML parser to allow direct interpretation of data streams encoded in most universal data exchange formats" and the built-in ability to do multimedia, animation. -- http://www.curl.com/html/products/surge.jsp.
"The Surge plug-in is currently for Microsoft® Windows® only - Macintosh® and Linux coming soon! The Surge plug-in installer is 360kB in size, and will download files from Curl.com as needed. Total installation will depend on system configuration. " -- Ibid. The security is tiered, and sandbox-safe by default, but can allow access to the local system, unlike javascript. --Ibid.
i'm interested partly because prog'ing for Javascript is an unhappy experience, partly because the results are so browser-dependent. A plug-in from a single company should make for better consistency. 8/7/01
Curl is the language, Surge is the name of the plug-in (v1.1) and The Surge Lab is the IDE (beta 5). 8/7/01
"The Curl language integrates mark-up functionality, scripting functionality, and a full-featured object-oriented programming language,all within one environment. Curl technology can be used with existing Webtechnologies, such as HTML, CGI and JavaScript, and multimedia animation tools, or it can be used in place of them." ... "No more waiting for round trips to the server. Text, graphics, scripting, and object-oriented programming are contained in a consistent and unified environment." ..."And it improves the developer experience by making the creation of this superior content both easier and more efficient" -- http://www.curl.com/html/technology/technology.jsp 8/7/01
"The Curl" content language allows you to create the following items: "Curl Applets, which end users can view in an Internet browser. "Applications, which run outside of an Internet browser. Applications have a stand-alone, windows-based user interface. " Curl Packages, which are logical collections of source code written in the Curl language. " Scripts, which contain code that runs from the command line of the operating system.However, with this release of the Curl language, you can create only applets and packages. Support for creating applications and scripts will appear in a future release." --- p04-curl-basic-features.pdf. 6/01
"A pre-processed .curl file has the extension .pcurl. [As opposed to .curl files.]
... .pcurl format; you cannot distribute applets in .pcurl format." -- Ibid.
Pre-processing files improves the load time of packages.
Pre-processing files makes the delivered code much smaller.
Pre-processing files hides the source code."
"you can distribute only packages in
The language appears clean but nothing earth shaking. It's most advanced and unusual feature may be anonymous procs. "You can assign ananonymous procedure to a variable and then use that variable name to call the anonymous procedure." ... ...
"Unlike other functions, which can be declared only in very specific places, you can declare an anonymous procedure in any code block or expression." Suchas a regular proc, a method, or top-level Curl source code.
"One of the most powerful features of anonymous procedures is their ability to access variables that are defined within the scope of the block of codecontaining the anonymous procedure definition. (This feature is also referred to as supporting closures over lexical variables.)" -- Ibid, p191. I just skimmed, but anonymous procs look like a way to create a procedure data type, plus give it access to more var's.
Curl.com claims that the download sizes are 1/10 of what they are normally, that must be true only for some .pcurl files. 8/7/01
Everything is free and open source, except the use of curl.com, which is metered by the downloaded # of bytes. 8/7/01. "Non-commercial users can deploy Curl content at no charge." -- http://www.curl.com/html/products/pricing.jsp. But http://slashdot.org/article.pl?sid=01/08/06/211322 7
has someone saying "Then wander over to http://www.curl.com/html/products/pricing.jsp and look at the fact that you have to commit to sending Curl a minimum of $1000/month (max of $50,000/month) to use Curl to deliver content. And the cost is based on how many characters you serve. Not, on how much revenue it generates." No prices are on that page, however, nor in Google's cached copy.
(Above saved to the above mentioned slashdot discussion of 8/6/01.)
"Be thankful you are not my student. You would not get a high grade for such a design
again? http://slashdot.org/articles/01/04/06/1335241.shtm l
...is being able to read the most insightful comments all in one place.
Curl Instead of Java or JavaScript? posted by michael on Friday April 06, @02:56PM
Re:Java, anyone? (Score:5, Insightful) by Jason Earl (jdearl@yahoo.com)
Some more words... (Score:5, Insightful)by guku on Friday April 06, @03:18PM EST
Commentary (Score:5, Insightful)by Nohea (sd at nohea dot com) on Friday April 06, @03:16PM EST
Curl == Spyware (Score:5, Insightful)by stonewolf on Friday April 06, @03:45PM EST
Actually, it has mostly been individual programmers who seem to dislike this pricing scheme; we have found that businesses are fairly open to it. Companies doing business on the web already pay huge amounts of money for development tools, server hardware/software and maintenance, and for internet connectivity. Unlike other development tools, Curl technology costs nothing until you actually put it into the field and then what you pay is proportional to your other web-hosting costs. By using Curl, you can push more of your functionality from the server to the client and therefore require less work from your servers. You can also deliver content to your end-users using fewer number of bytes so you don't need to buy as much network bandwidth. The net result is that you should actually save money using Curl technology to build and distribute web content.
- Christopher