MIT Developing A New Programming Language

MIT Developing A New Programming Language

As a web developer, I know how difficult it is to code a webpage. You have to code CSS, HTML, JS and much more but the folks at MIT plan on changing that. They are coming up with a new programming language and it’s taking “the grunt work out of Web development.”

The programming language is suitably named “Ur/Web”, and it plans to make Web Applications not only easier to write, but also more secure. The language’s compiler, automatically generates the corresponding XML code, JavaScript and database queries in the correct locations. What’s more, Ur/Web prohibits unauthorized access between page elements.

The MIT News Office describes the programming language, spearheaded by software technology professor Adam Chlipala, as “strongly typed”—meaning that “any new variable a programmer defines in Ur/Web is constrained to a particular data type.”

Because of that, a new function has to “feature the type of data the function acts on and the type of data it returns.”

If new variables need to be created when computing the value to return, they will be inaccessible to the rest of the program — a property called “variable scoping.” As Chlipala explained to MIT News:

You might want to write a library that has inside of it as private state the database table that records usernames and passwords. You don’t want any other part of your application to be able to just read and overwrite passwords. Most Web frameworks don’t support that style. They assume that every part of your program has complete access to the database.

Chlipala created libraries of new data types for SQL, XML and CSS that reflect different rules — rules that allow Ur/Web’s compiler to detect discrepancies and flag any code as containing an error, if a programmer wrote a database query that generated an output from JavaScript that an XML page wasn’t expecting.

Currently, Ur/Web does not produce style sheets automatically, but it can, according to Chlipala:

… analyze your full program and say, “Here is an exhaustive list of all the CSS classes that might be mentioned, and here is a description of the context in which each class might be used, which tells you what properties might be worth setting.”

I guess the future of web development is interesting. Can’t wait for it to go public, what about you?
Are you excited?

Let us know in the comments.

Youtube channel plugin by