Bret Victor The Future of Programming

Joey Reid12 HN recommenders · 2017–2026
305K views · talk · evergreen · Uploaded 2013-07-31

Bret Victor's DBX 2013 talk, delivered in the guise of a 1973 IBM engineer with an overhead projector. It surveys forgotten ideas from 1960s and early 70s computing and warns against assuming you know what you're doing.

HN treats it as a classic, near-mandatory talk on how programming tools and paradigms stagnated and which older ideas deserve revival.

Watch on YouTube

20 comments from Hacker News

@itsyogesh2017 · in “Ask HN: Which developers do you closely follow?”

Bret Victor is amazing. I saw his video about the future of programming[0] and have been following him since then. [0] [VIDEO]

Strongly recommendsView on HN
@comboy2017 · in “Kotlin Is Better”

Oh Delphi.. every time I fight with CSS and think about how easy making GUI apps used to be almost 20(sic!) years ago, I feel like something went wrong. Mandatory: [VIDEO]

@gasbag2017 · in “Programming won't be automated, or it already has been”

Programming was in its infancy 50 years ago, but in reality we don't really know what its development arc is. We could be in the toddler stage right now, or we could still be in infancy when compared to future developments in the field. I believe we are much closer to the latter. There were things being done in the 60s that we still haven't really integrated into our trade. [0] We joke about having to program with hardware switches and punch cards, yet here we are still typing carefully crafted cryptic commands that tell the computer exactly what it is supposed to do, and storing them in linear text files which we have to mentally map to program states. I think there will always be a place for this kind of programming, just as people still use Assembly today, but it's a bit premature to say, "Well, this is it, or nearly so!" I recall reading that one of the giants of early computing, Von Neumann perhaps, never understood the benefit of Assembly and thought that it was a waste of the computer's time to compile to machine code rather than have a human write the machine code directly. We are working inside a problem domain that we barely understand. I find it hard to believe that we will have the glorious sci-fi future that many of us imagine will come out of advancements in technology without also developing corresponding advancements in how we describe and create and interact with it. One potential example that I am looking forward to learning more about is Luna, which feature

@namuol2018 · in “You Can’t Do Data Science in a GUI”

Yes, healthy skepticism is good, but just because code (i.e. text files) is often the most _powerful_ or _flexible_ tool, doesn't mean it's always the best tool. We (programmers) are notoriously bad at advancing the tools in our field. For a brief history of this, watch "The Future of Programming" talk by Bret Victor: [VIDEO]

RecommendsView on HN
@veli_joza2018 · in “Programming Paradigms and Beyond [pdf]”

Good read. I feel the title should be "Teaching Programming Paradigms and Beyond" since the text assumes familiarity with complete CS landscape and comments on success of several teaching methods. I would recommend (also misleadingly titled) talk The Future of Programming by Bret Victor [1] which goes over some groundbreaking paradigms that have since become mostly forgotten. [1] [VIDEO]

RecommendsView on HN
@diegojromero2018 · in “Ask HN: What is the future of programming?”

'The future of Programming' by Bret Victor ( [VIDEO] ). Seems a pun about OP title but it really is related with his/her question. Take a look and you will be amazed of how good (or revolutionary by our standards) some old technologies were.

Strongly recommendsView on HN
@DeBraid2020 · in “Ask HN: What are some great posts or articles about history of computing?”

Related thread: `Ask HN: What's the best book on the early history of the Internet and/or Web?` [LINK] My previous reco: Not a book, but a great video via Steve Blank: [LINK] Also `Bret Victor The Future of Programming`, which is misleading as above is performance piece where title slide reads `1973` [VIDEO]

RecommendsView on HN
@j-pb2020 · in “Have you ever asked yourself “how did research get done before LateX?””

PeerJ has actually quite a few publications, one of them is CS ;) [LINK] the dropdown on the top left allows you to switch between them. I think MathJax is certainly a step in the right direction, they even support rendering to MathML. But I agree that there is a certain lack there in terms of full semantic representations. MathJax is more accessible than TeX but it's still describing visual layout, instead of semantic meaning. Pushing HTML to arxiv is also a step into the right direction. I think the most important thing we can do is not be complacent with the state of the art. We need to go back to an age of computing where we didn't think we had it all figured out. We need to experiment, and not be afraid to take a step back in some aspects, like layout and kerning, in exchange for other advances like semantic representations and knowledge representation. I think bred victor has a great talk on this: [VIDEO] I think we need to experiment with things like observablehq.com or nextjournal.com or the many other that are coming into existence.

RecommendsView on HN
@corysama2021 · in “The Great Software Stagnation”

Lots of cynic-cynics in here :) I'll stand up for the author. The lists in the article are not great, but I still agree with the sentiment. I recommend everyone watch Bret Victor's classic "The Future of Programming" [VIDEO] Yes, we've had a trillion dollars invested in "How to run database servers at scale". And, we've had some incremental improvements to the C++ish language ecosystem. We've effectively replaced Perl with Python. That's nice. Deep Learning has been a major invention. Probably the most revolutionary I can think of in the past couple decades. But, what do I do in Visual Studio 2019 that is fundamentally different than what I was doing in Borland Turbo Pascal back on my old 286? C++20 is more powerful. Intellisense is nice. Edit-and-continue worked 20 years ago and most programmers still don't use it. If you are super awesome, you might use a reversible debugger. That's still fringe science these days. There is glacial momentum in the programming community. A lot of "grep and loose, flat ASCII files were good enough for my grandpappy. I can't accept anything different" And, so we don't have code-as-database. A lot of "I grew up learning how to parse curly bracket blocks. So, I can't accept anything different". So, so many languages try to look like C and are mostly flavors of the same procedural-OO-bit-of-functional paradigm. A lot of "GDB is terrible, don't even try" so many programmers are in reverse-stockholm system where they have convinced themselves debug

Strongly recommendsView on HN
@thangalin2021 · in “Why can't I write code inside my browser?”

Bret Victor's, "The Future of Programming" is illuminating. He walks through what "programming" means and how the concept of "programming" has shifted in little evolutionary leaps. [VIDEO] "There can be a lot of resistance to new ways of working that require you to unlearn what you've already learned and think in new ways. ... And there can even be outright hostility." Programming Baduk used to involve expert systems. Now convolutional neural networks (CNNs) can hoist a computer to superhuman performance, even doing so without pre-programmed rules (see MuZero). We no longer "program" computers to play Go, chess, shogi, or even Atari games. Some people have difficulty keeping code structures in their mind's eye. Here's a conceptual development environment for navigating code visually, ending with a dual text editor: [LINK] Is that programming? What's the difference between _typing_ instructions into a computer to place a graphical user interface widget on a screen and _telling_ the computer you'd like to put a toroid on the screen? Computers can use CNNs to fill in knowledge gaps. Even though the computer wasn't told the colour, size, shading, material, or location of the toroid, it can still show us the ring. Is telling a holodeck that you'd like to replay a scene from a novel a form of programming? [LINK] Each evolutionary step in programming has given us more powerful ways to express ideas in ever terser forms. Few people code in binary anymore. Did Picard need to tell the

Strongly recommendsView on HN
@namelosw2021 · in “Everyone is still terrible at creating software at scale”

The problem is we stop pursuing answers on this topic, thus stop making progress. It's basically like what Bret Victor has described in 'The Future of Programming'. [0] There were a lot of language zealots at the end of the last century, especially on evangelizing Object-Oriented Programming. Nowadays everybody can easily counter those arguments with 'No Silver Bullet' without further thinking, it's arrogance in disguise of humility. There are still a huge amount of accidental complexities to deal with in most tech stacks. Most businesses would die fast and leave nothing behind anyway, while the progression of the industry would accumulate and benefit the whole industry itself. Java looks slightly better for creating software at scale than C. C looks slightly better than FORTRAN. FORTRAN looks slightly better than machine code. Say there's a language that looks like Haskell but has tooling and ecosystems as good as Java, I believe it would also slightly better than Java. [0]: [VIDEO]

@f0e4c2f72021 · in “Ask HN: Stack Overflow Architecture in the year 2070”

I think you might be ok on compute but bottleneck on bandwidth. Who knows though. Fun question. If you like exploring these kinds of ideas you might enjoy [VIDEO]

RecommendsView on HN
@NiceWayToDoIT2021 · in “Show HN: Time travel debugger for web development”

Dan Abramov 2015 [LINK] But there was one earlier presentation I cannot find it, guy was showing live debugging of the video game. Not sure is it TED or one of conferences ... Edit: This is it: Bred Victor: [LINK] 2013 Future of programming [VIDEO]

@jozsefdev2021 · in “Ask HN: What technologies will we still be using in 20 years?”

Bash, VIM (without knowing how to exit it). Also I hope some ideas will come into practice from Bret Victor's vision for the future of programming. [VIDEO] I'm also curious to see when will we fully explore the programming language space. I think the possible ways to write code are finite.

@LichenStone2022 · in “λ-2D: An exploration of drawing as programming language”

This is very cool. I've always been very disappointed that programming is so utterly dominated by the linear text format. It feels like so much potential for expression and feedback is getting left on the table, making use of our capacity to understand and work with spatialisation, patterns, sounds, colours, dynamics, etc would make a lot of sense. Bret Victor's The Future of Programming and other talks come to mind - [VIDEO]

@madmax1082022 · in “Telefunc: Remote Functions instead of API”

Mandatory link to Bret Victor's "The Future of Programming" talk which discusses some of the same ideas: [VIDEO]

@yesenadam2023 · in “Ask HN: Has anyone fully attempted Bret Victor's vision?”

For the people asking who is Bret Victor: When "What are your favourite tech talks of all time?" is asked on HN, he gets more mentions than anyone else, usually. Some of his talks: Inventing on Principle [LINK] The Future of Programming [VIDEO] The Humane Representation of Thought [LINK] Media for Thinking the Unthinkable [LINK] Seeing Spaces [LINK] Drawing Dynamic Visualizations [LINK] [LINK]

RecommendsView on HN
@ulkesh2023 · in “Bret Victor: Update July 2023”

If you haven't yet seen this video, please do: [VIDEO] (Bret Victor The Future of Programming) This won't tell you who he is, exactly, but it does give insight into how he thinks. And it's a pretty great talk, in my opinion.

Strongly recommendsView on HN
@awongh2024 · in “Choose Boring Technology and LLMs”

I was more thinking about the blocked progress of true innovation in the way programming languages are made and used. This is the talk I referenced above: [VIDEO] I agree with his main thesis which is that we can do better to improve on some of these literally 60 year old programming and programming tooling paradigms. I'm hoping that the paradigm improvement isn't to just paste over the entire endeavour with some AI agents that abstract away coding as we currently think about it.

RecommendsView on HN
@gobdovan2026 · in “A Eureka machine that thinks like nature and explores what AI cannot”

> and the whole history of computing is about how faster chips is an excellent answer to difficult computational problems. I don't really disagree, and I am definitely not taking their marketing pitch seriously. Yet, you could look at the same computation history and interpret it as an economically constrained hill-climbing around an idea that was simple enough to work reliably (von Neumann architecture) and that worked and scaled so well that we were rarely forced or desperate enough to move conceptually far away from it. Sufficiently general digital computers can simulate other computational models, so I think 'faster' is ultimately the end game, but for some classes of computation, as you also noted, we may need to go for analog hardware, (maybe) quantum devices, optical interconnects, and so on. Bret Victor has a talk about this, more or less: [0] [0] [VIDEO]