Meet 'Sketch Programming Language' : developed by engineers at MIT that promises to take out the 'tough' part out of writing code; and make life better for the developers. Sketch Programming Language is a brainchild of Prof. Armando Solar-Lezama (MIT's Department of Electrical Engineering & Computer Science) who wanted programming languages to be smarter enough to allow the developer to omit computational details. Sketch auto fills in the gaps in the code written by developers, quite intelligently. The language currently is being shaped; and if made more user-friendly; the applications of Sketch would be quite wide-spread.
MIT students have already built multiple projects using Sketch - including auto-grading of programming assignments, a complex system that directly turns hand-drawn diagrams into code and a system that generates SQL queries based on Java code. Lezama and his students have shown how Sketch can be used to built complex systems and handle synthesis tasks. The latest version of Sketch is much more efficient. For example, the latest version could fix the code for auto-grading system in a few milliseconds while its earlier version timed-out or just gave up.
Illustration: CHRISTINE DANILOFF/MIT
The team behind Sketch however believes that they'll have to go a long way before the programming language can start benefitting commercial software developers. Lezama and team wants developers to dump C programming language and switch over to Sketch; but they know that there's a lot to cover. Professor Rajeev Alur of University Of Pennsylvania says that Sketch being used for commercial software development is a very ambitious & distant goal. As of now, the programming language can be used in very specialised tasks. Sketch however can be incredibly useful in saving time spent in fine-tuning & optimising the code.
Those interested in learning about the Sketch Programming Language may refer to the following thesis by Prof. Lezama: http://people.csail.mit.edu/asolar/papers/thesis.pdf (PDF). We'd like to ask our fellow computer/software engineers - do you think auto-completing programming languages would bring a revolution to programming?