The format of DEV's first official podcast, DevDiscuss, begins with an interview and ends with commentary from the community.
With the season two premiere coming out soon, we want to know...
What is an analogy or visualization of a coding concept that really helped you understand it better?
Answers can range from beginning to advanced concepts!
If you'd like a chance to be featured in an episode, please send us a voice memo on this topic OR leave a comment below by Wednesday, August 12 at 5 PM PT (8 PM ET, 12 AM UTC).
Details on how to participate
Call our Google Voice at +1 (929)500-1513 and leave a message 📞
Send a voice memo to pod@dev.to 🎙If you don't want your voice recorded, just leave a comment here and we'll read your response aloud for you 🗣
✨Subscribe to DevDiscuss✨
Don't miss this recent episode from season one of DevDiscuss:
S1:E5 - How Hobbies Like Powerflifting, Auto Repair, and Music Can Make You a Better Developer
DevDiscuss



Top comments (26)
Some time ago someone explain concurrency using a cooking analogy. Instead of repeating what I was told, I'm going to leave this wonderful article right here.
Illustrated JS: JavaScript asynchronous behaviour
Marina Costa ・ Aug 6 ・ 3 min read
Yes, great pick!
Was learning C recently, and confused about the concept of pointers and what their point (forgive the pun) even was. Someone described it as giving someone a copy of your house instead of giving them just your address. Really helped.
Hey @kewbish ! This is awesome! Would you be interested in sending us a voice recording of this so we can feature you on the related episode of DevDiscuss coming up soon?
Ah, definitely. I'll go try to figure out Google Voice now 🤔
Yay! Thank you so much. DM me if you need any assistance!
Seeing Regular Expressions drawn into their finite state machine graphs (just circles with arrows between them).
That it's just moving from one state to another based on matching a character. And all regex could boil down to a language of four things:
c
match any literal character (likec
)|
or operation (match this or that)*
loop()
groupThe rest of it mostly being helpful sugar.
Do you have link of that?
Here's a graph generator; if you want to visualize what I'm talking about: regexper.com/#a(b%7Cc)*d
The explanation of the concepts came from a university course though... maybe I should do an article about this so I can link it as an explanation of what I'm talking about...
One analogy that applies in more than one ways - Plumbing
I think we can go on and on.
We are just plumbers, the fluid is json.
Hi @mhshankar84 ! Any chance you might want to submit a voice recording of this analogy so we can feature your voice on the DevDiscuss podcast soon?
Hi Gracie, sorry, just now saw your reply.
Do you still have time for the podcast?
First things first, Julia Evans is IMO great at this. jvns.ca is her website. She writes "zines" with illustrated technical concepts, and they're great.
Anyway, the most helpful analogy I encountered as I was learning was to think of an interface like a light switch.
lightswitch.turn_on()
Credit: I first came across this description in Data Structures and Algorithms in Python by Goodrich, Tamassia, and Goldwasser
I saw this tweet recently and thought it was a good clear visual explanations of JavaScript array methods
I shared this one awhile ago on a different post because it helped me when I was learning how to use map, reduce and filter.
The Fiscer-Yates shuffle explained beautifully by none other than the creator of D3, Mike Bostock. It's an old article but I still remember the first time reading this and my jaw dropped; simple but effective!
The box model is an awesome analogy, a long time ago when i was learning css, thinking in a div (and other elements) like a box really helped me : )
One thing that really helped me understand optional unwrapping in iOS was the box analogy, particularly by using Schrödinger's cat. At runtime, you don't know what value an optional property will hold, whether it's nil or contains a value, until you actually call it. And you can either do it safely, by nil-checking it first, or implicitly unwrapping it and hoping it doesn't blow up in your face.