DEV Community

Discussion on: What are your favorite analogies to explain programming?

Collapse
 
murrayvarey profile image
MurrayVarey

Really interesting discussion, thank you. I've often wondered this, but haven't yet hit upon that single dead-on analogy.

Sometimes programming is like writing a recipe for a friend. This friend is incredible at following instructions ... but not much else. Don't forget to tell them to turn the oven off, else they might burn the house down!

Other times programming is like solving a Sudoku puzzle, with all its elements to balance in your head. Each puzzle is different, despite looking similar from afar -- you can never be sure how long each one will take.

For the most part (as others have already said) I like to picture myself as some kind of craftsman. A carpenter, say, who makes high quality furniture -- furniture that is useful, long-lasting and, on the odd occasion, beautiful. (Funny really, considering I know nothing about woodwork.)

One analogy that I don't like is that of a wizard. There's no magic in programming -- everything can be traced back to people. Normal, fallible people, who were each trying to solve a particular problem at a particular time. Retrace their steps and that 'magic' is replaced by understanding. And, ironically, that's one of the most magical parts of programming.

Good luck with the workshop!

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

I totally agree with Replace magic with understanding

I want to begin the workshop with making them try out this tool

hackertyper.net/

Type whatever super fast and it prints out code like in Hollywood Movies.

Then I will say:

Congrats, you can now be a programming ninja in an Hollywood movie.
Now the bad news: this has nothing to do with programming.

Collapse
 
murrayvarey profile image
MurrayVarey

That's an awesome idea (and awesome tool). You could even have them share a keyboard, like that hilarious scene in NCIS. "I've never seen code like this!"

I wish some of my teachers had been so engaging!