Every Dog has his day

Can this new programming language make a programmer’s life easy by making it simple to code social applications based on simple English language commands?



By Prashant Vadgaonkar (TECH TRONIKS)

Published: Sat 20 Oct 2012, 11:15 PM

Last updated: Fri 3 Apr 2015, 1:59 AM

EVER IMAGINED the coding that needs to be carried out on seemingly simple tasks such as — clicking the “Like” of a particular post on Facebook or simply uploading a new photograph on your favourite social networking site or simply “posting” a tweet on Twitter? Well, all the above apparently simple tasks need humungous amount of code to be written in the backend and tested thoroughly before release. To make matters worse, this code is usually in cryptic languages such as Java which makes life more difficult for the programmer.

With this problem statement on hand, a group of graduate students led by Professor from MIT Media Labs, Sep Kamvar, felt the need to come up with an easier alternative. This gave birth to Dog, a new programming language which could make it simple to code social applications and be based on simple English language commands.

“I had to write code at a lower level of abstraction than I had to think about the interactions. And so I thought it would be interesting to start writing a programming language that allowed me to write at the same level of abstraction that I think.” said Sep.

Kamvar followed the principle “Keep it simple” by focusing on data types and syntax which are the core elements of any programming language. In social applications, the key entities would be people and their interactions. He thought that it’s easier to create people as a basic data type itself that the language could recognise — whereas in other languages the data types are integers, real, string text, binary etc.

The next step was to make the syntax also English-like. So, instead of using obscure commands he created a set of simpler and clear ones such as ask, listen and notify. The idea behind Dog is to use English for interaction designs and basic social communication process; however, developers will have to import functions if they need to from other programming languages for more complex tasks. Also, Dog’s natural language makes it very easy for newcomers to develop and deploy code faster.

Dog will be a free and open source, thereby enabling users to add and modify code per their specific needs. Dog currently is a server-side language and the team is working on a client-side version too, thereby eliminating the need for data exchange with the server to perform tasks.

Kamvar and his team have been busy working on the software that converts code into a format which the machine can understand and execute, namely the Dog compiler.

Kamvar insists that Dog being based on natural language programming, will be easily followed by non-developers, typically Product Managers and Designers who usually ideate but have to rely on software developers to codify their thoughts and lose precious time, efforts and dollars.

Experts and critics, however, feel that Dog being restricted to use in social programming environments only, will have limited use and complex tasks would still have a dependence on the core programming skills of languages such as Java.

Professor Kamvar hopes to release the language in a beta version format in coming months, and plans to offer a public release by spring.

—prashant.vadgaonkar@hotmail.co


More news from