The Future of Coding Tools?

What an amazing video from [Bret Victor (@worrydream)]. Bret gives a [talk to the MIT Media Lab] about the current state of media tools we have. And how those tools affect our thinking of the systems around us.

His central takeaway: the tools we have can shape our thinking. And we tend to be stuck with media tools derived from the “pencil and paper era” that limit our understanding of the systems around us. His examples are very enlightening. A cryptic, verbose research paper that is suddenly made clear via interactive visual examples. The tables of data that spring to life via a simple chart. All things that seem blazingly obvious afterwards. But they were also likely met with questions of “why do we need that?” And “We can get the job done fine with the tools we have.”

Thinking about the web development world, I can’t help but think we are still in the very early stages of coding tools. My current workflow has my crosscheck divided between multiple streams of information: Sublime Text editor, Terminal and Browser. The tools lead to a separation of coding and debugging, when they could both be combined into one smooth, continuous process. I know of rudimentary tools that somewhat allow this, and that techniques such as [REPL-driven development] strive to marry coding and debugging. But it still seems like a system that is cobbled together using primitive tools & workflows. And none of those tool really attempt to visualize the applications and worlds of data that we are creating. To paraphrase Bret, we are stuck using past conventions of code – symbols placed upon blank screens, drawn directly from pencil and paper techniques.

But we really have the option to do so much more today. The most famous example is probably [Apple’s playgrounds for their new Swift language] in the Xcode IDE. I was really blown away when I saw that quick demo at the last WWDC keynote. And had some serious envy. Maybe I’m missing something, but I’m not aware of tools in the web development world that are trying to expand upon this visual creation philosophy. We still seems to be stuck in the “text on a screen” DOS days. It’s no wonder that [new coders find the entrance to the craft difficult], especially coming from an overwhelmingly GUI-driven world.

Of course, I temper all this with the fact that I am still new to learning this craft. And people become partial to the tools they use, due to sunk-cost time investment, habits, etc. But it still seems to me that the field could use some more focused innovation of the type that Mr. Victor is delivering. I know that I would welcome intuitive, visual tools such as the ones he teases us with in his presentations.