Literate Programming for the 21st Century

Howard Abrams (he/him) - @howard@emacs.ch , https://www.howardism.org

The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.

Format: 16-min talk ; Q&A: BigBlueButton conference room https://media.emacsconf.org/2024/current/bbb-literate.html Etherpad: https://pad.emacsconf.org/2024-literate
Etherpad: https://pad.emacsconf.org/2024-literate
Discuss on IRC: #emacsconf-gen
Status: Ready to stream

Times in different time zones:
Sunday, Dec 8 2024, ~2:15 PM - 2:35 PM EST (US/Eastern)
which is the same as:
Sunday, Dec 8 2024, ~1:15 PM - 1:35 PM CST (US/Central)
Sunday, Dec 8 2024, ~12:15 PM - 12:35 PM MST (US/Mountain)
Sunday, Dec 8 2024, ~11:15 AM - 11:35 AM PST (US/Pacific)
Sunday, Dec 8 2024, ~7:15 PM - 7:35 PM UTC
Sunday, Dec 8 2024, ~8:15 PM - 8:35 PM CET (Europe/Paris)
Sunday, Dec 8 2024, ~9:15 PM - 9:35 PM EET (Europe/Athens)
Monday, Dec 9 2024, ~12:45 AM - 1:05 AM IST (Asia/Kolkata)
Monday, Dec 9 2024, ~3:15 AM - 3:35 AM +08 (Asia/Singapore)
Monday, Dec 9 2024, ~4:15 AM - 4:35 AM JST (Asia/Tokyo)
Find out how to watch and participate

Description

Donald Knuth’s idea of literate programming in the 80’s and 90’s was interesting, but he didn’t realize what Emacs and Org can do in this century. In this talk, I would like to go back your initial dabblings with Org src blocks to show how you can program literately as quickly as you can in any other mode.

Some of the tips and tricks include:

  • Automatically keeping your lit code sync’d
  • Easier code generation
  • Jumping to Org headers to help organize code
  • Jumping to code definitions with the xref interface

At the end of this talk, I hope to inspire you to try it again, as my personal “go to” is programming literately.

I will be following the format and outline in my essay: https://howardism.org/Technical/Emacs/literate-writ-large.html

About the speaker:

About ten years ago, I gave a talk I called literate devops and people still ask me if I still use those techniques. For all my personal projects, I do. Even projects that I share with others, I often start programming with an Org file.

I will admit, programming within Org blocks has some burrs, but over the years, I’ve filed them off with helper functions, snippets and other features. Thought I would share these.

Questions or comments? Please e-mail emacsconf-org-private@gnu.org