http://seancorfield.github.io for newer blog posts." />

An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

LightTable comes of age!

January 10, 2014 · 4 Comments

Early in 2012, Chris Granger - former Program Manager for Microsoft's Visual Studio product, Bay Area resident, and Clojure enthusiast - released a proof of concept video for something he called "LightTable", a radical rethinking of our traditional programming environments. Over the next few months, new videos appeared, followed by a KickStarter project...

...and gradually the vision of LightTable turned into a series of working software sketches that drew an ever-increasing number of users, taking advantage of LightTable's live code evaluation for Clojure, ClojureScript, JavaScript, and Python - despite its rough edges - until just the other day when LightTable reached a stage where Chris, and his new team, felt it was ready to be released to the public: LightTable became open source and it also sprouted an ecosystem of plugins.

LightTable is still young but it is already a usable editor with some very unique features. Over the last year I've kept dipping into LightTable to see how it is evolving but it's been too rough around the edges, and too feature poor, to use for anything more than small projects for short periods. It's always shown tremendous promise though so I knew it was only a matter of time...

...and with the new release, and the plugins available, today I was able to use LightTable for all of my editing needs (and I'm writing this blog post in it as well!). Today I've been exploring the Monger library for MongoDB. We've been a CongoMongo shop for a couple of years but there are all sorts of reasons why we're concerned about continuing to rely on that library (and I'm pretty much the de facto lead on the project!). LightTable's live evaluation and inline documentation make it really easy to explore and play with new libraries and to evaluate how a particular library will work with your code.

What's missing?

As I said, LightTable is still young. The plugins available so far are pretty basic. I'm an Emacs user so I'm used to full keyboard control, integrated Git, and a whole bunch of powerful packages. That said, LightTable is already doing well: the Emacs key bindings are usable (but still quirky), there's a great REPL experience, rainbow delimiters and the Claire plugin provides a good first step toward the ido-mode C-x C-f experience. Git integration is the biggest missing piece for me right now. Global find and replace. An integrated shell. And an IRC client would be icing on the cake.

So I can't leave Emacs behind yet. I doubt I'll be able to leave it behind for a while. But I expect I'll be able to use LightTable for more and more serious work going forward.

Tags: clojure · python · programming · javascript

4 responses so far ↓

  • 1 jamii // Jan 11, 2014 at 12:54 AM

    Global find-and-replace is bound to ctrl-shift-f by default :)
  • 2 Sean Corfield // Jan 11, 2014 at 10:53 AM

    Thanx. Chris also pointed it out on Twitter. I suspect LT does more than most people realize but the command bar doesn't always use the most obvious names or the most obvious key bindings.
  • 3 rainer // Feb 13, 2014 at 1:05 AM

    Have a look at the default.keymap. And of course you can define your own bindings in your user.keymap easily
  • 4 Sean Corfield // Feb 13, 2014 at 8:28 PM

    There's a great plugin from Joshua Cole called Keymapper (available in the Plugin Manager) that shows you all the key mappings available for a given context (live updating with applicable mappings as you switch from task to task).

Leave a Comment

Leave this field empty