Out in the Open: These Hackers Want to Give You Coding Superpowers
wired.com
wired.com
It's becoming increasingly difficult to contain my eye-rolling whenever yet another SV company announces their plans, intent or manifest destiny to "change the world".
No This one places the idea at the center of the IDE.
The implementation is the concept, and the user interface is the program.
I'd like to see the eclipse feature that was mentioned, but I don't really like the baggage that comes with eclipse. Maybe I won't like baggage that comes with this, but that doesn't change the fact that this project really interesting.
I downloaded the app a few weeks ago, and I never saw anything that gave me realtime feedback on my coding. I admit, I was just playing around with putting in the odd function and variable, but it didn't give me anything submlime text doesn't currently.
As far as the spending ' hours or days working on code before they can make sure it actually works', isn't this solved with TDD?
The video in the linked article is a good short explanation of how the tool works. You can skip the hype in the article.
I think this concept could represent a significant advance in IDEs. I don't care if it's a new idea or not, it's a gorgeous implementation of the concept.
Following the flow of information is what I do all day every day at my new position. If I could have something like this which would allow me to quickly watch how information was flowing from one end of the spectrum to the other without having to follow the method definitions that'd be great.
I wonder how well it will work with complex multilingual web applications?
Either way, very cool. I hope I keep hearing about it. It looks really great.
- Spend several minutes writing a small test suite for the functionality you're writing. Write that functionality until you think it's correct. Compile, run. See a "Pass!" or "Fail! (reasons: ...)" in your console or IDE, fix it until it's working. Feedback loop is measured in minutes, seconds at best.
Vs.:
- Write the functionality. As you're writing, you see the data flow through your program in real-time, immediately identifying bugs. Any unit tests you may have are _even more useful_ because you can inspect your program at any level, without having to debug or step through your program. No need to re-compile and re-run, no need to even Alt-Tab. Feedback loop is measured in milliseconds.
Light table isn't quite there yet, but it's a strong step in the right direction. Unit tests help, but they don't obviate the need for better tools.
To give a bit of context on the direction these tools are trying to move in, Light Table was heavily inspired by the work of Bret Victor, who bases his work on the idea that, quote, "Creators need immediate feedback to what they're creating." If you haven't seen his _Inventing on Principle_ talk [0], you should. It's one of the most eye-opening talks on software and design I've ever seen.
All this article did was make a series of sensationalist (borderline absurd) claims, allude to some new feature or product, and linked to a LT demo video (the content of which is also not new, afaik).
Thus, my personal negativity is not so much a reaction to Light Table itself - but rather the shockingly low journalistic standards of Wired.
FWIW :
My personal experience with Light Table wasn't particularly memorable. I've played around with it on at least a few occasions, but have never really found a true place for it in my workflow (for more than one particular reason - be it developing over layers of virtualization, clunky customization, bugs, etc.).
I'm giving it another shot now, because I can't resist shiny new toys.
I thought there were quite a lot of problems in the algorithms of data structures where you poke around with a hair-pin.
Especially this:
The problem with coding, he says, is that you can’t see the results of your work until after you’re done.
Which basically describes a REPL (although LT features a real-time one, still not a new idea by any means).
I was about to forward this to a friend of mine who has several ideas for web startups but lacks all technical skills and is therefore waiting for the time "any day now" that non-programmers will be able to generate programs as fast, cheap and maintainable as programmers. But then I saw the website and realized he would have no idea what the heck it is from their elevator pitch:
Light Table is a new interactive IDE that lets you modify running programs and embed anything from websites to games. It provides the real time feedback we need to not only answer questions about our code, but to understand how our programs really work
That has to be about the least useful description of what it does I can think of.
> The problem with coding, he says, is that you can’t see the results of your work until after you’re done. In that sense, programming is unlike almost every other craft. “When a chef adds an ingredient, he can smell it, he can taste it,” Granger says. “When an artist makes a stroke on a canvas, he can see it. But programming isn’t that way.”
The rest of us would say we just run our unit tests in a couple of seconds and call it a day. At least, if you didn't watch the video.
The video shows a potentially useful tool (on Clojure no less). It's more about watching the propagation of values through code, than it is about "feedback" per se.