热门关键词:

MIT教授将网页开发整合为完整独立的程式语言Ur/Web

发布于2018-02-13 05:55:04
发布于2018-02-13 05:55:04,资讯MIT教授将网页开发整合为完整独立的程式语言Ur/Web,最新消息报道,手机发烧友娱乐新闻
图片来源: 

iStock

美国麻省理工学院(MIT)的软件技术教授Adam Chlipala设计了新的Ur/Web程式语言,这是一个整合HTML、CSS、XML、SQL及JavaScript等网络标准的“完整独立”语言(self-contained programs),强调快速、安全及“元编程”(metaprogramming,或作“超编程)的开放源码专案,可望减少开发人员设计网络应用程序所耗费的时间与精力。

根据Chlipala所发表的论文,Ur/Web是个静态的函数式语言,它把各种叠床架屋的网络标准融合成单一的程式模型,不论从安全或效能来看,都让网络得以保留它作为一个单纯应用程序平台的本质。

Chlipala表示,全球网络(World Wide Web,WWW)是个非常受欢迎的平台,可用来设计各种具备图像使用者界面的应用程序,各种网络标准也慢慢出现,造就今日复杂的生态体系。若要以浏览器及服务器所支援的语言撰写丰富的功能,至少必须熟悉产生文件架构的HTML、产生文件格式的CSS、提供互动服务的JavaScript,以及递送上述内容的HTTP通讯协定。近来还有一些受欢迎的应用程序仰赖JSON来传递复杂的资料格式,或是以SQL来储存永久的结构化资料,这些不同的语言的程式码经常以各种复杂且片段的方式相互嵌入。

Ur/Web主要解决了两个问题,一是把封装(Encapsulation)应用在丰富网络程式中,支援那些能够以私有状态处理网络应用程序关键片段的程式模组。其次是揭露一个供开发人员使用的并发模型,用来支援服务器端与客户端之间的重要通讯。

因此,Ur/Web允许开发人员把网络应用程序当作独立程式来撰写,Ur/Web的编译器可以自动产生相对应的XML程式码及样式表规格,进而将JavaScript与数据库程式码摆放在正确的地方。Chlipala说明,虽然Ur/Web编译器能够产生XML、JavaScript与SQL程式码,但它并不会自动制造样式表,而是分析完整的程式后列出有关的CSS类别,再提出设定建议。

Ur/Web除了能够协调各种网络标准之外,理论上还会更加安全。它采用了强型别(strongly typed),任何在Ur/Web中所设定的新变数都被局限在单一的型别,同时也限制了变数的范围。例如想在网页上同时提供行事历与广告版位的组件(widget)时,开发人员并不希望广告会影响行事历的运作,或是行事历干预了广告的递送,Ur/Web会禁止这两个不同网页组件之间擅自相互存取。

不过IDG News分析认为,对于一般的开发者来说,做为一种“函数式程式设计语言”(functional programming language)的Ur/Web将会有很高的学习门槛,Chlipala教授也同意这样的看法,并拿Ur/Web与受到特定族群喜爱的Haskell做比较,而Haskell就是以晦涩难懂而知名。

Chlipala准备在明年1月由计算机协会主办的程式语言原则座谈会(Symposium on Principles of Programming Languages)上正式发表及展示Ur/Web的细节。(编译/陈晓莉)

  • 赞助商广告