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

业界 作者:站内编辑 2014-12-31 10:11:07
MIT的软体技术教授Adam Chlipala设计了新的Ur/Web程式语言,这是一个整合HTML、CSS、XML、SQL及JavaScript等网路标准的“完整独立”语言,强调快速、安全及“元编程”的开放源码专案,可望减少开发人员设计网路应用程式所耗费的时间与精力。 编程 美国麻省理工学院(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的细节。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接