MIT's software technology Professor Adam Chlipala designed a new Ur/web programming language, a "complete standalone" language that integrates the Web standards of HTML, CSS, XML, SQL, and JavaScript, emphasizing fast, secure, and "meta-programming" open source projects, It is expected to reduce the time and effort that developers spend on designing Web applications.
Adam Chlipala, a software technology professor at MIT, has designed a new Ur/web programming language, a "complete standalone" language that integrates web standards such as HTML, CSS, XML, SQL, and JavaScript (self-contained programs), an open source project that emphasizes fast, secure, and "meta-programming" (metaprogramming, or "hyper-programming"), is expected to reduce the time and effort that developers spend on designing Web applications.
According to the paper published by Chlipala, Ur/web is a static functional language that blends various duplication network standards into a single programming model, allowing the network to retain its essence as a purely application platform, both in terms of security and performance.
Chlipala said that the global network (World Wide web,www) is a very popular platform for the design of various applications with image user interface, a variety of network standards are slowly emerging, creating today's complex ecosystem. To compose rich functionality in the languages supported by the browser and server, at a minimum, you must familiarize yourself with the HTML that generated the file schema, the CSS that generated the file format, the JavaScript that provided the interactive service, and the HTTP communication protocol that delivered the above content. Recently, some popular applications rely on JSON to pass complex data formats, or to store permanent structured data in SQL, where the code is often embedded in a variety of complex and fragmented ways.
Ur/web mainly solves two problems, one is to apply the encapsulation (encapsulation) in the rich network program, support the program module that can handle the key fragment of the network application in the private state. The second is to expose a concurrency model for developers to use to support important communication between server and client.
As a result, Ur/web allows developers to write Web applications as standalone programs, and the Ur/web compiler can automatically generate the corresponding XML code and style sheet specifications to put JavaScript and library code in the right place. Chlipala explains that although the Ur/web compiler can produce XML, JavaScript, and SQL code, it does not automatically make stylesheets, but rather parses the complete program and lists the relevant CSS categories before making recommendations.
In addition to being able to coordinate various network standards, Ur/web is theoretically more secure. It uses a strong type (strongly typed), and any new variables set in Ur/web are limited to a single type, and also limit the range of variables. For example, when a component (widget) that wants to provide both a calendar and an ad position on a Web page, the developer does not want the ad to interfere with the operation of the calendar, or the calendar interferes with the delivery of the ad, Ur/web will prohibit unauthorized access between the two different Web components.
However, IDG News analysis that for the general developer, as a "functional programming language" (Functional programming language) Ur/web will have a high learning threshold, Chlipala Professor agrees with this view, and take Ur/web is compared to Haskell, which is beloved by a particular group, and Haskell is known for its arcane and obscure knowledge.
Chlipala is preparing to formally publish and present Languages details in a symposium on the Principles of programming language (Symposium on Principles of Programming Ur/web), to be hosted by the Computer Society next January.
MIT professor integrates Web development into a complete, independent programming language Ur/web