Slides from Bret Victor’s talk, “The Future of Programming”

Programming made for humans

Writing less code and using an interface to program on the web

Bret Victor did a talk recently called “The Future of Programming.” In it, he acted as if he was giving the talk in year 1973 (even using an overhead projector for his slides) and imaged what programming might look like 40 years into the future. The point of the talk was to present ideas from that time period about how we interact with computers and how those ideas are still relevant. This is because we basically still give direct instructions to computers through a programming language designed primarily for the computer to understand instead of the computer doing the additional work to interpret what we want done.

I think the web in particular is a good example of this. When I first started creating web pages as a kid over 15 years ago, there was a web editor built into the web browser itself and all the editing was visual, no writing code required. Sure, a lot of the way the web works now has changed since then, but the fundamentals of viewing a web page are still basically the same. And yet somehow, all previous attempts at website creation tools have failed (Microsoft’s infamous FrontPage editor comes to mind). I’m still having to program HTML and CSS by hand to get a page to look like how I already designed in Photoshop.

However, programming has evolved in online application development. There is Ruby with the Rails framework along with JavaScript interpreters like CoffeeScript and Sass for CSS. The core philosophy of these programming methodologies is that the code is easier to write and read for us humans, having the computer then compile it to interpret. This not only makes coding more efficient, but more enjoyable. This may be what’s leading the web app revolution of recent years. Better ways to code leads to better tools being developed.

Among these new tools, we’re finally starting to see more effective editors for visually designing web pages as well. Webflow is one of the more recent tools to do this. What makes it different from previous editors is that the tool works around the code in generates, making it readable for computers to output a web page as we would expect it, a feat former editors were never able to fully grasp. This allows us to more easily work on complex concepts like responsive websites for multiple devices, a process which has greatly increased the programming effort of even the most basic site in recent years.

We may have been stuck in the past in how we program for the web, but it definitely looks like things are changing.