Explaining Languages through Storytelling

Around the time I started up the original version of this blog on Blogger I went on a search for females in technology and I came across Carin Meier and I’ve been enjoying her tweets ever since. If you have an interest in Clojure you’ll particularly enjoy following her. Carin’s passion for Clojure and programming drones with it shines through.

One of Carin’s talks and a tweet she posted today inspired this post about the power of using stories to teach languages and explain concepts. The first talk that I watched by Carin was Why is a Monad Like a Writing Desk. Those of you with an interest in functional programming will probably be aware of what a monad is. I’d never seen a presentation like this before. It took what could have been a very dry topic and made it accessible. Using a story holds your attention, gets across information in a memorable fashion and helps engage different parts of our brain. The pragmatic book Pragmatic Thinking & Learning: Refactor Your Wetware touches on a similar concept of engaging different parts of your brain to help your learn e.g. through modelling with physical objects like lego or drawing a picture (not UML!) of the problem. The fact that Carin’s talk is based on a story which is familiar to many of us from childhood makes it feel more accessible.

The tweet which inspired this post was about a book called Realm of Racket. Racket is a descendant of Lisp like Clojure. It is an accessible language for beginners interested in learning about functional programming and Lisp. The book teaches you the language through implementing a number of games.

The books uses stories and comics to make what could be a heavy topic lighthearted. Below is an example of part of a story used in the book, taken from a free chapter on No Starch.

sample story from realm of racket

This acts as an introduction to the problem you are going to solve in your game and helps get you thinking.

sample story from realm of racket

I’d love to try using storytelling in a future presentation maybe initially within my workplace. I’d be interested to see how people reacted to it and whether it inspired them and helped them understand something the way Carin’s talk helped me with Monads.