Code is not text but trees

0

Posted by Noj | Posted in Uncategorized | Posted on 18-07-2011

At the company where I work “RocketBoots”, every project presents a new challenge. From Web Programming with HTML/CSS/JS, to Mobile Programming on Android, Objective C, to RIA’s with Flex and C# to serverside CF/PHP to embedded development with Python/C/C++ to Highly distributed programming with erlang and hacking languages such as LISP and Clojure. I am one of those grateful that gets to work across a range of programming languages and problems.

I’ve been noticing a trend though. I think there is a fundamental problem that almost all code editors and compilers treat code as text. But in fact all code we write is a structure. Its like a tree. The IDE’s that do understand the language like Eclipse allow magnitudes more productivity in getting things done. Imagine 10 years down the lane, what would it be like to program ? I think one day everyone will be programmers, but not with the programming languages we have currently.

As it was mentioned in the post before

People don’t want computers or software, they want what computers and software can do.

I’ve been thinking about this problem a lot lately. When I learnt coding we had a text editor like vi in which we wrote code. It was painful, I had to check the documentation on what function accepts what parameter. Then I found eclipse, which had all the autocompletion mojo and I soon found myself debugging more code rather than fixing compiler errors. Eclipse had a model of the grammar, it would know all the possible things that could go in place of the keyboard cursor. I think the human brain is better left to solve problems and the computer can be left to use its 2 billion ops a second power for predictive analysis on what the user is going to type next. I have yet to see a code editor with serious machine learning algorithms that can learn from billions of lines of code in open repositories and figure out a language’s EBNF structure, figure out what is the probability of a function being used and offer a great experience to the coder.

Write a comment