`
chelsea
  • 浏览: 118188 次
  • 来自: ...
社区版块
存档分类
最新评论

The Curl Programming Language

    博客分类:
 
阅读更多

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并没有得到广泛应用;有一则新闻可以从侧面说明这一点:

    ISAC日本首款采用“Curl”Web语言的套装软件 2003/12/03

     
      【日经BP社报道】日本系统集成商ISAC于12月1日上市了Web考勤管理套装产品“自动考勤”。最大的特点是采用了Web语言“Curl”,与仅使用Web浏览器相比,提高了应用程序的易用性。被认为是日本国内首款采用Curl的套装软件。

      Curl是由美国国防部和麻省理工学院共同研究开发的Web开发语言。特点是用一种语言即可开发构筑Web应用时所需的各种软件,能够轻松实现可由客户端完成大部分处理的“富客户端”。Curl运行环境采用的是在Web浏览器中安装插件。

      自动考勤能够在Web浏览器上利用鼠标操作执行(1)上下班时间管理、(2)年假和补假等申请、(3)上司和人事部的批准和(4)弹性工作及轮班等一系列考勤管理业务。而且还在提高易用性上下了很大功夫,比如把鼠标移到考勤表上,光标指向的输入对象栏就会变色。

      ISAC之所以采用Curl,原因是该公司认为仅靠HTML等原来的Web技术,难以构筑操作性强的商用Web应用。“为了对Curl和Micromedia Flash进行可行性研究,组建了Curl开发团队和Flash开发团队,同时进行开发工作。结果,由于Curl开发团队的开发工作进度快得多,因此最后决定采用Curl”(关西分公司营业规划部科长吉田守)。

      价格自50万日元(约合人民币3.33万元,最多100用户)起。其中包括Curl的运行授权。服务器方面的标准使用环境是Linux、Apache、Tomcat、PostgreSQL,客户端为Windows、Internet Explorer。可从ISAC的Web站点下载“自动考勤”的体验版。(记者:田中 淳)

    优点

    • 交互响应速度. 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可视化开发环境


    学习成本

    • 语法略显陌生,但对于有编程基础的开发者来说,掌握其语法并不困难,开发工具带的帮助提供了语法的完整描述;有面向对象或泛型编程语言经验的开发者两个星期左右可掌握
    • 类库分为两部分,核心类库(String,Collection,Math,DateTime,Regular Expression,Reflection),其它类库(GUI,File System,Network,Data Access等);类库的组织形式非常类似于JDK,.Net Framework,如:CURL.LANGUAGE.*,CURL.IO.*,CURL.XML.*等;开发工具带的帮助有部分示例,其网站也有示例,有JDK或.Net Framework经验的开发者两个星期左右的学习基本可开发小型应用
    • Applet可视化开发环境,较易上手;有可视化开发经验的开发者一两天即可掌握
    分享到:
    评论

    相关推荐

      The Rust Programming Language.2015

      《The Rust Programming Language》是一本全面介绍 Rust 编程语言的书籍,由 Rust 团队编写,出版于 2015 年。本书旨在为读者提供 Rust 语言的基础知识以及高级用法,适合所有对 Rust 感兴趣的学习者。 #### 二、...

      Rust 程序设计语言 简体中文版.pdf

      安装 Rust 需要使用命令行标记,例如在 Linux 或 macOS 上安装 rustup 需要使用 curl 命令,例如 `curl --proto '=https' -sSf https://sh.rustup.rs | sh`。在 Windows 上安装 rustup 需要下载 rustup-init.exe 并...

      Elasticsearch in Action(Manning,2015)

      With the Elasticsearch real-time search and analytics engine, you can give your users this magical experience without having to do complex low-level programming or understand advanced data science ...

      PHP利用天气网API获取天气信息

      在IT行业中,API(Application Programming Interface)是一种接口,允许开发者通过特定的协议和方式与不同的软件或服务进行交互。PHP是一种流行的服务器端脚本语言,常用于构建动态网站和Web应用。本文将深入探讨...

      C++安装教程 & 学习资料 & 项目源码问答等资源

      - **《The C++ Programming Language》**: by Bjarne Stroustrup - 由 C++ 语言之父撰写,是权威的参考书。 ##### 2. 在线课程 **Coursera** - **C++ For C Programmers, Part A** - **Object-Oriented Data ...

      网站EPL多线程死链查找源码-易语言

      本资源提供了基于易语言(Easy Programming Language, EPL)的多线程死链查找源码,这有助于开发者高效地检查大型网站的链接状态。 易语言是一种中文编程语言,设计简洁,适合初学者和专业人士。其语法直观,以汉字...

      最新的web开发常用WebService

      1. **WebService的定义**:WebService是一种基于XML(Extensible Markup Language)的标准,它利用WSDL(Web Services Description Language)定义服务接口,通过SOAP(Simple Object Access Protocol)进行数据传输...

      N-lang:N建筑物使用的通用类型的强类型编程语言

      curl -fsSL https://github.com/nbuilding/N-lang/raw/main/install.sh | sh PowerShell(Windows): iwr https: // github.com / nbuilding / N - lang / raw / main / install.ps1 - useb | iex 安装特定版本 ...

      StaticScript::party_popper::party_popper::party_popper:一种新的静态类型编程语言,在语法上类似于TypeScript

      /bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/StaticScript/StaticScript/master/install-ubuntu.sh ) " 要么 wget ...

      abs:ABS编程语言的家:shell脚本编写的乐趣

      echo( " Best city in the world? " ) selection = stdin () if selection == city { echo( " You might be biased... " ) } 实际观看: 让我们尝试获取我们的IP地址,并打印其部分的总和(如果它大于100)。这是...

      emuto:处理JSON文件

      curl my_file.json | emuto ' length ' 您在HackerNews上的业力 curl https://hacker-news.firebaseio.com/v0/user/kantord.json -s | emuto ' $.karma ' 将另一个命令的输出转换为JSON ls | emuto -i=raw ' $[0:-1...

      core:元呼叫

      MetaCall多语种运行时 | | MetaCall允许在多种编程语言之间调用函数,方法或过程。...安装安装MetaCall的最简单方法如下: curl -sL https://raw.githubusercontent.com/metacall/install/master/insta

      karuta:Karuta HLS编译器

      Karuta HLS编译器作者:Yusuke ... $ curl -o install-karuta.sh https://raw.githubusercontent.com/nlsynth/karuta/master/install-karuta.sh ## Please take a quick look what this script does. You may have to

      wipple:Wipple编程语言

      Wipple编程语言Wipple是一种用于构建DSL的编程语言,可以自然地进行读写,学习。... bash -c " $( curl -fsSL https://wipple.gramer.dev/install ) " Wipple安装到/usr/local/bin/wipple ; 您可能需要使用sudo 。

      工程师DairyApi

      API(Application Programming Interface)是软件系统之间交互的接口,允许不同的应用程序之间共享数据和服务。在这个项目中,"Dairy"可能表示日志或日记,意味着这个API可能用于记录和管理工程师的工作日志。 首先...

      nix:Nix,纯功能包管理器

      安装在Linux和macOS上,安装Nix的最简单方法是运行以下shell命令(以root用户以外的用户身份): $ curl -L https://nixos.org/nix/install | sh 上提供了有关其他安装方法的信息。建设与发展有关如何使用nix-build...

      checkGenerateApi

      在IT行业中,API(Application Programming Interface)是一种接口,允许不同的软件应用之间进行交互和数据交换。"checkGenerateApi"可能是某个工具、框架或服务的名字,它专注于检查和生成API。这个主题涵盖了许多...

      很棒的备忘单:popular很棒的备忘单,适用于流行的编程语言,框架和开发工具。 它们将您应该了解的所有内容都包含在一个文件中

      :books: 目录 :page_with_curl: 语言能力查看备忘单命令行界面势在必行功能性 :package: 后端查看备忘单PHPPythonJava脚本 :globe_with_meridians: 前端查看备忘单基本构架 :card_file_box_selector: 资料库查看...

      基石:宠物店网站的克隆

      项目可能包含单元测试和集成测试,使用工具如Jest或Mocha进行JavaScript测试,而Postman或curl可以用来验证API接口的功能。 总的来说,“基石:宠物店网站的克隆”项目涵盖了从页面布局到数据库交互,再到安全性和...

    Global site tag (gtag.js) - Google Analytics