Skip to content
0:00 / 0:00

#liveprogramming#smalltalk#lisp

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

Strange Loop Conference

88K subscribers • 114 videos on Hallway • Conference channel

YouTube
  • Recommended by 12 people: 9 on Hacker News, 1 on Lobsters, 1 in engineering communities and 1 curated list.
  • Presented by Jack Rusher, computer scientist
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

468K views4 years ago12 recommendations

Programming languagesTools and practiceLanguage design and type systemsVim, Emacs and editorsFunctional programming

Jack Rusher argues for live, interactive programming environments over traditional static, punchcard-era development workflows.

Most new programming languages are accidentally designed to be backwards compatible with punchcards. This talk argues that it would be better to focus on building new live programming environments that can help us solve the problems of the future. Talk transcript and links: jackrusher.com/strange-loop-2022/ Jack Rusher Applied Science Studio @jackrusher Jack Rusher's long career as a computer scientist includes time at Bell Labs/AT&T Research and a number of successful startups. His current work focuses on the deep relationship between art and technology. -------- Sponsored by: -------- Stream is the # 1 Chat API for custom messaging apps. Activate your free 30-day trial to explore Stream Chat. gstrm.io/tsl

Why it's here

12 people recommend this, 1 disputes it

What people say. Highly recommended as an inspiring talk on the benefits of live programming environments and interactive tooling.

u/hou32houin r/ProgrammingLanguages • Recommends

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

cyploon Lobsters • Recommends

Stop Writing Dead Programs

jasonjmcgheeon Hacker News • Recommends

On “Graphics livecoding in Common Lisp”

Live development is still so under-explored, and is just so exciting to work with. One of my favorite talks is "Stop Writing Dead Programs" ( link to this video ) and touches on a lot of what could be in terms of live development. Lisp is very well-suited to live development due to code being data, but live development doesn't need to be lispy. I built a live development extension for Love2D which lets you do graphics livecoding (both lua and glsl) in real-time - every keystroke updating the output, (if a valid program). link Here are some (early) demos of things you can do with it: link So many cool things once you break down the barrier between editor and running program. I've also asked myself t…

programming-talkscurated list on GitHubRecommends

Under “On the Industry/Community”

Stop Writing Dead Programs 00:43:03 by **Jack Rusher** (2022)

okaleniukon Hacker News • Recommends

On “LearnCPP: Website devoted to teaching you how to program in C++”

Because we live in a free society and smoking is a proper right. It is unhealthy and largely outdated habit but if you want to light a cigarette, you can. Programming in C++ is also an outdated habit. There are better languages, better technologies, and there are generally better ways to create software than writing code, compiling the code, replacing std::abs with abs (real issue, these are different functions) and recompiling the code again. But writing in a horrible language is a proper right as well. People write in Brainfuck for fun and good for them! Jack Rusher sums up what better programming looks like in his Strange Loop talk link to this video

ttctciyfon Hacker News • Recommends

On “Ask HN: What's your unpopular tech, programming opinion”

Your "unpopular rant" (or one pretty much like it) has 376k views and 12k likes on youtube!1 (Recommended watch, not least for demystifying the origin of vi's navigation keys and the choice of ~/ for /home/you.) 1: link to this video (link jumps to 16:52)

trashburgeron Hacker News • Recommends

On “Dart 3.1 and a retrospective on functional style programming in Dart”

I believe this to be an artifact of our current paradigm of software development, which is based purely around static "batch processing" where the software can't be molded easily. (I didn't want it to come off as a plug, so I didn't add it to my original message, but I'm working on something to solve that.) To get a better idea of what I think is the better approach, check out these talks: Tudor Gîrba - Moldable development - link Jack Rusher - Stop Writing Dead Programs - link to this video

llm_trwon Hacker News • Recommends

On “(How to Write a (Lisp) Interpreter (In Python)) (2010)”

It's pretty much impossible to explain to people what it's like to work in a CL environment. A good presentation on what we're missing: link to this video

iLemmingon Hacker News • Recommends

On “A Road to Common Lisp (2018)”

> trying to understand what's happening in code is even harder It's different in Lisp because you basically program a thing from the inside out, meaning that you don't just read the code from top to bottom. Instead, you constantly evaluate expressions and expand macros while going through it. It's practically like playing a game, and there's a good amount of fun. People often dismiss Lisps (Clojure, CL, Fennel, Racket, etc.) after reading Lisp code without any connected REPL and often don't even grasp what makes it so awesome. It's like disliking food after seeing it for the first time in a cooking show on TV. Good talk of relevance: "Stop Writing Dead Programs by Jack Rusher" link to this video

iLemmingon Hacker News • Recommends

On “The Evolution of Lisp (1993) [pdf]”

…a connected REPL because it allows you to evaluate every single expression on the fly. Instead of trying to understand what (foo x y z) means, you can evaluate it and immediately see the results. With a connected REPL, you can evaluate them separately (individually), or together. Good talk of relevance: "Stop Writing Dead Programs by Jack Rusher" link to this video Next step in understanding the benefits of Lisp code is learning structural editing. Because everything is a symbolic expression, you can easily move, transpose, change, and replace parts of your program. Instead of rewriting a function of seemingly arbitrary syntax constructs, you'll be dealing with well-structured forms that you can easil…

imachine1980_on Hacker News • Recommends

On “Lisp: Icing or Cake?”

Hi I think is in the hypothesis (I'm not sure) of that we have edition made by the pdp 11 keyboard developer and tooling that's old and design whiout introspection in mind showcase in this video, the video is really cool but little bit long link to this video

hresvelgron Hacker News • Recommends

On “Formal methods: Just good engineering practice?”

I think we might potentially be looking at this backwards. There is a great talk by Jack Rusher 1 on why having really slow iteration loops and being too disconnected from running programs creates a desire for theorem proving because it becomes the faster way to arrive at a correct solution. I am of the belief that we need to return to modifying live environments instead of sending code through a lengthy build pipeline. Instead of trying to make live environments secure and durable we got scared and now we have modern CI/CD. 1 link to this video

iLemmingon Hacker News • Recommends

On “Can Generative AI coding make Emacs and Org-Mode worth it now?”

…ramming language promises yet somehow fails to deliver. Then learn eval commands - get into the habit of REPL-driven development. With Lisp, you don't have to wait for compiler, transpiler, linker, linter, etc., you can just write anything and see how it runs in-place. Often, you don't even have to save anything to a file. Relevant video to watch: link to this video - Stop Writing Dead Programs by Jack Rusher. Try modern Lisp dialects - there's plenty to choose from depending on what kind of tasks you're trying to solve - Clojure, Janet, Fennel are all very fine candidates. Clojure is especially nice if you need to deal with data. In my opinion it's hands down the best medium for data manipulation - no…

vim-guruon Hacker News • Recommends

On “Type checking is a symptom, not a solution”

I agree with the author. I've written my fair share of typed code, but it is way more valuable to probe your program while running. I feel Jack Rusher puts it quite nicely in this talk: link to this video

nooberminon Hacker News • Disputes

On “Stop Writing Dead Programs [video]”

I made my way through part of the talk on youtube, it was interesting but far too much for me to stomach. It really drove it home when he flashed slides of graphic organizations of complex data. While some parts might be better than a textual description, graphic representation of data needs to be useful , that is, you need to be able to look at a graph and glean information from it. At the section where he flashes an image of a re-imagined periodic table0, he immediately exclaimed "look how beautiful it is!" and I was immediately instead confused. What does this image show? If it is a periodic table, can I see the periodicity? For example, can I tell two elements have electrons in the sam…

u/maldus512in r/ProgrammingLanguages • Mentions

Can any language have an interactive inspector? I've just watched this strangeloop talk. The author advocates for a variety of non conventional tooling around programming languages, specifically visual and interactive interfaces. The content of the talk is very interesting but I'm confused by the tone. The author seems to imply that there is no cost or drawback to runtime inspection, and that all languages should natively implement this feature. In particular languages like C, Rust and Zig are brought as "negative" examples, i.e. languages that should have supported an interactive runtime and that made an unequivocal mistake in not doing so. I'm under the impression that such a feature…