Recursion Explained In Simple Terms

Understanding recursion through real examples - why functions call themselves and when to use them

Trevor I. Lasn Trevor I. Lasn
· 4 min read
Building 0xinsider.com — see who's winning across prediction markets (Polymarket, Kalshi, and more) — and what they're trading right now.

Most tutorials explain recursion using factorials or Fibonacci sequences. That’s nice for learning, but you won’t use those in real work. Let’s look at recursion through actual code you might write.

Think of recursion like reading through a thread of Slack comments. You see a message with replies, and those replies have their own replies, and it keeps going deeper. Each level of replies is the same thing - just messages and responses - but each level is dealing with a smaller piece of the conversation.

In programming, recursion works the same way. A function calls itself to handle a smaller version of the same task. Here’s a Slack comment system to see how recursion works.


This code would output:

That’s all recursion is - a function that calls itself to handle smaller pieces of data. In our example, it’s showing a comment, then showing all its replies, then their replies, and so on.

Every recursive function needs two crucial parts:

  1. Something it’s trying to do (like displaying a comment)
  2. A “base case” that tells it when to stop (when there are no more replies)

Think of it like this: if someone asks you to count all the comments in a Slack thread, you might say “Okay, I’ll count this comment (1), then count all the replies, then count their replies…” That’s recursion - breaking down a big task into smaller, similar tasks.

File Explorers and Directory Trees

The most common place you’ll use recursion is when dealing with files and folders. Think about Windows Explorer or Finder on Mac. They both need to show you files inside folders, which can have more folders inside them, and more folders inside those… you get the idea.

This function looks in a folder. If it finds a file, it adds it to the list. If it finds another folder, it looks inside that one too.

A Store Category Menu

The category menu in an online store works just like nested folders. Electronics contains Computers, which contains Laptops. Each category can hold more categories inside it.

Running this code shows:

The showCategories function looks at each category and then peers inside it for more categories.

It starts at “Store” and prints it. Inside Store it finds “Electronics”, prints that with some space to show it’s inside Store. This pattern continues - looking inside each category and printing what it finds - until it hits empty categories. The spaces at the start of each line show how deep the category sits in the menu.

Essentially, recursion is just a way to handle nested data - like comments with replies, or folders with more folders inside. Don’t overcomplicate it. If you can break down your problem into smaller, similar problems, recursion might be the right tool for the job.


Trevor I. Lasn

Building 0xinsider.com — see who's winning across prediction markets (Polymarket, Kalshi, and more) — and what they're trading right now. Product engineer based in Tartu, Estonia, building and shipping for over a decade.


Found this article helpful? You might enjoy my free newsletter. I share dev tips and insights to help you grow your coding skills and advance your tech career.


Related Articles

Check out these related articles that might be useful for you. They cover similar topics and provide additional insights.

Tech
11 min read

Google's Journey: From Search Engine to Tech Giant

Exploring the key innovations and strategies that transformed Google into a global technology leader

Oct 1, 2024
Read article
Tech
3 min read

Google is Killing Information Economics on the Internet

Google’s Gemini pulls summaries from websites and slaps them directly into the search results

Sep 11, 2024
Read article
Tech
3 min read

The Crutch Effect: How AI Tools Became A Crutch

Introducing The Crutch Effect

Sep 13, 2024
Read article
Tech
3 min read

Original work is now an endangered species

When everything looks the same, being different becomes valuable again

Oct 24, 2025
Read article
Tech
5 min read

Repopack (now Repomix): Pack Your Entire Repository Into A Single File

A tool that packages your code to easily share with LLM models.

Oct 21, 2024
Read article
Tech
8 min read

Apple's Secret Sauce: The Untold Stories Behind Its Success

Diving deep into the lesser-known factors that propelled Apple from a garage startup to a tech titan

Sep 30, 2024
Read article
Tech
5 min read

Pkl: Apple's New Configuration Language That Could Replace JSON and YAML

A deep dive into Pkl, Apple's configuration language that aims to replace JSON and YAML

Nov 1, 2024
Read article
Tech
5 min read

Can OSSPledge Fix Open Source Sustainability?

The Open Source Pledge aims to address open source sustainability challenges by encouraging companies to pay $2,000 per developer per year

Nov 17, 2024
Read article
Tech
2 min read

Now is the best time to break into tech

With AI tooling, a developer with 1 year of experience can match the output of someone with 10 years. The playing field has never been more level.

Oct 20, 2025
Read article

This article was originally published on https://www.trevorlasn.com/blog/recursion-explained. It was written by a human and polished using grammar tools for clarity.