The Curl Programming Language
概述
Curl是由美国国防部和麻省理工学院共同研究开发的Web开发语言。目前它的拥有者是Curl.Inc(www.curl.com);目标是用一种统一的面向对象的语言代替HTML,Cascading Style Sheets,JavaScript等;仅使用Curl便可开发Web应用的各种软件;Curl程序在浏览器中运行,并且因为它以类似JRE的形式提供了客户端运行环境Surge RTE,能够轻松开发日益流行的Rich Client应用
语言特性
Curl是:
一种类似HTML的标记语言. Curl源文件由HTML标记和Curl代码组成,类似JSP. 一种类似Java的面向对象语言. Curl支持多重继承,内置垃圾收集机制. 一种支持参数化类的泛型编程语言应用领域
Curl的目标是Web应用,并且是Rich Client,其竞争对手是Macromedia Flash,Java Applet;但与它们相比,Curl并没有得到广泛应用;有一则新闻可以从侧面说明这一点:
优点
- 交互响应速度. Curl Applet和服务端之间传输的是代码,和少量的计算必须的数据,大量的计算过程是在客户端完成的,其交互响应速度类似桌面应用,优于传统Web程序 ;并且大量计算被移到客户端,减轻了服务器的负担,可以更好的支持大量连接
- 专为Web设计的UI组件.外观感觉超过为桌面设计的Swing等
- WebService SOAP支持. 客户端运行环境Surge RTE内置了对SOAP的支持,可以在Curl Applet中轻松使用WebService;而部分JVM需要安装扩展插件才能在Java Applet中使用WebService
- 不同平台的表现一致性. 因为RTE为同一供应商提供,不会出现类似Java应用在不同JVM上表现不一致的情况
- 版本独立. Curl应用可指定自己的兼容性,如果客户机上没有兼容的Surge RTE,Curl应用将停止运行,避免出现意外
缺点
- 厂商依赖性. 目前只有一家厂商能够提供实现
- 资源稀少. Curl未获得广泛应用,能够帮助学习的资源很少
示例程序
存取HashTable中的元素
{value
|| Declare and initialize a hash table.
let my-hash-table:{HashTable-of String, int} =
{new {HashTable-of String, int},
"Apple", 56,
"Banana", 87,
"Cherry", 34
}
|| Declare and initialize a VBox that we will use to
|| display the contents of the hash table.
let message:VBox = {VBox}
|| For each element in the hash table, add the element
|| to the VBox.
{for element:int in my-hash-table do
{message.add element}
}
|| Display the VBox.
message
}
目前只有Curl Inc.提供了实现:Surge IDE & Surge RTE,最新版本是3.0.3,具有常用的编辑编译调试功能,Applet可视化开发环境

被折叠的 条评论
为什么被折叠?



