Warning: wp_hide_post_Public::query_posts_join(): Argument #2 ($wp_query) must be passed by reference, value given in /var/www/adm-damienlepage/data/www/damienlepage.com/wp-includes/class-wp-hook.php on line 307
Light Table, take a peek into the future - Damienle page

Light Table, take a peek into the future


Warning: wp_hide_post_Public::query_posts_join(): Argument #2 ($wp_query) must be passed by reference, value given in /var/www/adm-damienlepage/data/www/damienlepage.com/wp-includes/class-wp-hook.php on line 307

I was not the only one to be inspired by Bret Victor’s vision and when you put this kind of inspiration into the proper hands, you end up with a chance to really change the world of computer programming. Chris Granger (@ibdknox) is an active member of the Clojure community, who released in particular the popular web framework Noir and the SQL library Korma, among many other contributions. He also happened to have worked as a program manager for Microsoft Visual Studio.

When Bret Victor’s video came out, Chris started by adapting the game editor demo in ClojureScript. The simple fact that he was able to build this demo in just a few hours gives a good idea of the impressive skills of the guy.

Then he pushed the idea further and built the following demo of a futuristic IDE.

After receiving thousands of positive feedbacks,  Chris Granger decided to make this dream a reality and opened the project on kickstarter with the goal to raise $200,000. With more than 2,500 contributors, it’s now more than half way to the goal. As stated in the project description, Light Table will first target Clojure and Javascript but with the idea to integrate other languages in the future (Python is 3rd in line).

The easiest target languages for Light Table are  those with a dynamic runtime. However we can certainly imagine a good subset of the functionalities to be adapted to a compiled language like Java or C. For example, when working with Java, I often find myself diving into a method from an invocation or, the other way around, checking where a method is called in order to get a bigger picture. One very interesting idea in Light Table is the possibility to always see the context. Similarly, an improved access to the documentation can certainly benefit any language.

With dynamic runtime, the benefits go much farther with the ability to immediately see how a given input propagates into the various functions, or how a graphical rendering changes immediately when altering the code. It seems this kind of IDE can take Test Driven Development to a new level.