| I don't mind if the future is specific. But its really wrong to say IDE's like Eclipse don't do one specific task well. Eclipse really makes Java programming very easy. And I can tell you minus Eclipse programming in Java would be a very frustrating experience, given the verbosity, configuration mess and XML's all over the place. Eclipse these days is advanced enough to really blur the difference between and novice and a expert Java programmers. So by any measure I would say eclipse already does what light table aims to do. The only problem with eclipse is its too heavy, chews a lot of memory and becomes very heavy as things go on. What we expect from light table is really what things like Emacs and Vim already are, plus what they miss. Which is modern GUI candy, easy configuration, availability of packages, stuff like refactoring, bench marking, auto complete and Intellisense easily available out of the box. Along with evolution with modern needs and demands. So that is why what we really needed was an Emacs + all that I mentioned. I think it will be nice if at some point requirements are frozen for Light table. Because things like this really slip into Second systems effect easily. According to me Light Table must be Emacs for the Modern Generation. Anything else, and it won't be impressive. A thin editor, extensible by lisp. All lisp and other Emacs editor goodies but with all the modern demands. We already have enough of other kind of IDE's. |
Can you come to a realization in the middle of an Eclipse debugging session, get a great idea for making yourself more productive, take time to script yourself a working and fully debugged extension of Eclipse and continue what you were doing 20 minutes later?
I've done precisely this in Smalltalk on many occasions. You can script something like a custom browser that shows you everything that uses function A and also function B and has a reference to class C (and with complete syntactic accuracy) in around that time.
I suspect that this kind of very small grained toolsmithing is common for really good programmers in dynamic environments. The only problem is that it's been harder than necessary to integrate that with the most commonly used coding tool. (TextMate's ability to export selections to scripts is very nice, but it can go farther than that. Emacs is very powerful for this, but not everyone wants to script in elisp.)
It's not that Light Table is going to do something unprecedented. It's more like what git did with quick access to diffs: a quantitative change can become a qualitative change. Change the cost-benefit of toolsmithing, and you can use it in new ways.