I have had the pleasure of teaching a few people with and about SDL2 C Hour 2: The hour that is not but recently, particularly using emacs could be named unhygienic orgmode. Much to my shock as I had tangle-time macro expansion been planning a hard pivot into ECL common lisp, SDL2 C has worked so If you show someone orgmode noweb well there is not really a place for tangles and they don't already know lisp (which would also jostle emacs it, they don't know it after being and orgmode in my opinion). shown either. But imagine this as that sort of Greek tragedy - here is You can look at two hour-intended the end, now here's the beginning - orgmode docs, though I need to and it has worked well. Get the explain the battle plan which has student to start doing their gone very well. The printing themed creative main method spaghetti, then fork of the second doc is unused. help them move their code into named blocks and replace it with the noweb Hour 1: Learning to refer to the reference. noweb hopefully clicks SDL2 wiki here. Using unhygenic variable capture, we have reuseability and The secret emphasis is on getting stateful them using some high-reward emacs pseudo-function-functionality. key-chords. The SDL2 wiki (like most wikis, not a wiki) has a few random I have got the feedback that they whole cloth examples and more more can blithely try any idea because I meagre examples. What has worked for can tap a few key chords to restore me is getting people to discover order no matter what as a safety that they can copypasta the code blanket, and somewhat cheatingly from the SDL_RenderClear wiki page whatever they want is guaranteed to for example, and on the back of this succeed quickly and succinctly for triumph find and largely borrow some similar reasons. The latter would be other function examples like a problem, but I have found myself SDL_RenderDrawLine. This backfired basically unnecessary so far. I have on me in the sense that no one has had some success getting them to really cared about the obvious pull themselves out of the swamp by mistakes in the SDL2_RenderClear their own hair through nascent emacs example source. I did find people wizardry. going from not-application-programmers to low level graphical C application programmers quite satisfying. In this context it is interesting to weigh emacs + C + orgmode against common lisp for myself. Common lisp has everything the other three do inside it already which goes, debatably, for common lisp I think. If you want to use lisp, use lisp, if you want to use C, use emacs, orgmode, C... And that's just the beginning of the list. On the other hand the only way to go as fast as C in lisp is to realize C as a dangerously unlispy domain specific language in lisp. Common lisp has pretty printing, file io, reader macros, introspection, is extensible using lisp, has fine grained reader macro/macroexpansion time macro control similar to emacs/orgmode.