I Learnt C in 2 weeks but have been FAILING to Learn dutch for 5 years. What this Taught me About Learning.

"Learning is weird." That's my profound opening statement. Thank you for coming to my TED talk. But seriously, the stark contrast between my experiences learning a programming language versus a human language has taught me more about the learning process than either journey alone. Here's my tale of mastering C in two weeks while Dutch has remained my white whale for over half a decade. The Two-Week C Speedrun About a month ago, I decided I needed to add C to my programming toolkit. Not because I particularly wanted to manage my own memory or because I enjoy segmentation faults, but because I'm a masochist with a deadline. My approach was simple: build stuff and check the docs when stuck. No tutorials, no hand-holding, just me and the C documentation in an epic staring contest. Day 1: Created "Hello, World!" and felt absurdly proud. Look mom, I'm a real programmer now! Day 3: Built "BudgetTracker3000" – a command-line app that helped me realize I spend way too much money on coffee. The app was buggy, but so is my spending habit, so at least it was thematically consistent. Day 5: Discovered pointers. Proceeded to spend three hours debugging a problem that stemmed from me treating memory addresses like regular variables. My rubber duck received an education in creative profanity that day. Day 8: Created "FileSort9000" – a program that organized my digital photo collection by date. It worked surprisingly well until it didn't, teaching me valuable lessons about buffer overflows and why using gets() is like playing Russian roulette with your program. Day 12: Built a simple text-based adventure game called "Escape the Segmentation Fault" where the final boss was, you guessed it, memory management. Meta, I know. Day 14: Felt comfortable enough with C that I could actually read other people's code without my brain melting. Success! The key was that I was using C constantly. Every project forced me to apply what I'd learned and identify what I still didn't understand. Documentation wasn't my teacher; it was my reference guide that I consulted when I got stuck. My actual teacher was failure – glorious, frustrating, educational failure. The Dutch Debacle: 5+ Years of "Hallo" and Not Much Else Meanwhile, for over five years, I've been "learning" Dutch. And by learning, I mean opening Duolingo when I feel guilty, completing enough exercises to silence the owl's judgment, and then promptly forgetting everything I've supposedly learned. I've diligently collected a menagerie of Dutch phrases that I can recite with all the confidence of a nervous chihuahua: "De jongen eet een appel." (The boy eats an apple.) "Ik heb een rode fiets." (I have a red bicycle.) "Waar is het station?" (Where is the station?) Revolutionary stuff, I know. I'm practically fluent if you need to discuss boys eating fruit or my hypothetical bicycle. The few times I've ventured to Dutch-speaking regions, armed with my carefully rehearsed phrases, the conversations went something like this: Me: "Goedemorgen! Ik zou graag een koffie willen bestellen." (Good morning! I would like to order a coffee.) Dutch Person: [Responds with what sounds like a machinegun of syllables] Me: [Blank stare of incomprehension] Dutch Person: [Sighs] "Just speak English, man. It's easier for both of us." And just like that, my Dutch practice opportunity vanishes. This happens EVERY. SINGLE. TIME. It's like the universe has conspired to ensure I never progress beyond the linguistic capabilities of a Dutch toddler with a limited interest in apples and bicycles. The Absurdity of the Comparison Now, comparing learning Dutch to learning C is admittedly ridiculous. It's like comparing climbing Mount Everest to climbing the stairs to your apartment – both involve ascending, but one is significantly more complex. Human languages are infinitely more nuanced than programming languages. They're filled with cultural context, idioms, irregular verbs, and native speakers who can detect your foreignness from a single mispronounced vowel. Programming languages, by contrast, are designed to be learned. They have documentation that explicitly tells you how things work. They don't change pronunciation based on regional dialects, and compilers don't switch to English when they see you struggling. If C had been like Dutch: The compiler would randomly change syntax rules based on its mood Variables would refuse to be declared on Tuesdays Semicolons would sometimes be optional, but only during full moons Error messages would be delivered via interpretive dance What This Taught Me About Learning Here's what I've learned from these vastly different experiences: Practice trumps theory every time. I made more progress with C in two weeks of building projects than I did with Dutch in years of passive learning. Motivation comes from meaningful application. My C projects solved actual problems I had. My Dutch phrases about apples and

May 3, 2025 - 13:50
 0
I Learnt C in 2 weeks but have been FAILING to Learn dutch for 5 years. What this Taught me About Learning.

"Learning is weird."

That's my profound opening statement. Thank you for coming to my TED talk.

But seriously, the stark contrast between my experiences learning a programming language versus a human language has taught me more about the learning process than either journey alone. Here's my tale of mastering C in two weeks while Dutch has remained my white whale for over half a decade.

The Two-Week C Speedrun

About a month ago, I decided I needed to add C to my programming toolkit. Not because I particularly wanted to manage my own memory or because I enjoy segmentation faults, but because I'm a masochist with a deadline.

My approach was simple: build stuff and check the docs when stuck. No tutorials, no hand-holding, just me and the C documentation in an epic staring contest.

Day 1: Created "Hello, World!" and felt absurdly proud. Look mom, I'm a real programmer now!

Day 3: Built "BudgetTracker3000" – a command-line app that helped me realize I spend way too much money on coffee. The app was buggy, but so is my spending habit, so at least it was thematically consistent.

Day 5: Discovered pointers. Proceeded to spend three hours debugging a problem that stemmed from me treating memory addresses like regular variables. My rubber duck received an education in creative profanity that day.

Day 8: Created "FileSort9000" – a program that organized my digital photo collection by date. It worked surprisingly well until it didn't, teaching me valuable lessons about buffer overflows and why using gets() is like playing Russian roulette with your program.

Day 12: Built a simple text-based adventure game called "Escape the Segmentation Fault" where the final boss was, you guessed it, memory management. Meta, I know.

Day 14: Felt comfortable enough with C that I could actually read other people's code without my brain melting. Success!

The key was that I was using C constantly. Every project forced me to apply what I'd learned and identify what I still didn't understand. Documentation wasn't my teacher; it was my reference guide that I consulted when I got stuck. My actual teacher was failure – glorious, frustrating, educational failure.

The Dutch Debacle: 5+ Years of "Hallo" and Not Much Else

Meanwhile, for over five years, I've been "learning" Dutch. And by learning, I mean opening Duolingo when I feel guilty, completing enough exercises to silence the owl's judgment, and then promptly forgetting everything I've supposedly learned.

I've diligently collected a menagerie of Dutch phrases that I can recite with all the confidence of a nervous chihuahua:

"De jongen eet een appel." (The boy eats an apple.)
"Ik heb een rode fiets." (I have a red bicycle.)
"Waar is het station?" (Where is the station?)

Revolutionary stuff, I know. I'm practically fluent if you need to discuss boys eating fruit or my hypothetical bicycle.

The few times I've ventured to Dutch-speaking regions, armed with my carefully rehearsed phrases, the conversations went something like this:

Me: "Goedemorgen! Ik zou graag een koffie willen bestellen." (Good morning! I would like to order a coffee.)

Dutch Person: [Responds with what sounds like a machinegun of syllables]

Me: [Blank stare of incomprehension]

Dutch Person: [Sighs] "Just speak English, man. It's easier for both of us."

And just like that, my Dutch practice opportunity vanishes. This happens EVERY. SINGLE. TIME. It's like the universe has conspired to ensure I never progress beyond the linguistic capabilities of a Dutch toddler with a limited interest in apples and bicycles.

The Absurdity of the Comparison

Now, comparing learning Dutch to learning C is admittedly ridiculous. It's like comparing climbing Mount Everest to climbing the stairs to your apartment – both involve ascending, but one is significantly more complex.

Human languages are infinitely more nuanced than programming languages. They're filled with cultural context, idioms, irregular verbs, and native speakers who can detect your foreignness from a single mispronounced vowel.

Programming languages, by contrast, are designed to be learned. They have documentation that explicitly tells you how things work. They don't change pronunciation based on regional dialects, and compilers don't switch to English when they see you struggling.

If C had been like Dutch:

  • The compiler would randomly change syntax rules based on its mood
  • Variables would refuse to be declared on Tuesdays
  • Semicolons would sometimes be optional, but only during full moons
  • Error messages would be delivered via interpretive dance

What This Taught Me About Learning

Here's what I've learned from these vastly different experiences:

  1. Practice trumps theory every time. I made more progress with C in two weeks of building projects than I did with Dutch in years of passive learning.

  2. Motivation comes from meaningful application. My C projects solved actual problems I had. My Dutch phrases about apples and bicycles... not so much.

  3. Feedback loops need to be tight. When I wrote bad C code, the compiler yelled at me immediately. My Dutch mistakes often go uncorrected because native speakers switch to English.

  4. Immersion is non-negotiable. I was immersed in C code all day during those two weeks. My Dutch "immersion" consists of occasionally remembering to change Netflix audio to Dutch before falling asleep 10 minutes into the show.

  5. Documentation is a reference, not a teacher. Reading C documentation without applying it would have been useless. Similarly, memorizing Dutch grammar rules doesn't make you conversational.

The Path Forward

So where does this leave me? Well, I'm now reasonably competent in C, and I still say "dank je wel" with the confidence of someone who learned it from a tourist phrasebook five minutes ago.

For Dutch, I need to find ways to practice that don't allow for English bailouts. Maybe I'll tape Dutch vocabulary to my bathroom mirror. Perhaps I'll find a Dutch penpal who doesn't speak English (do those exist?). Or maybe I'll just accept that my Dutch skills will remain permanently stuck at "can order coffee but cannot understand the response."

As for programming languages, I'm convinced that my "build first, check docs when stuck" approach is the way to go. Documentation makes a terrible teacher but an excellent reference.

The biggest lesson? Learning happens in the doing, not in the studying. So if you'll excuse me, I need to go write some C code that prints "Ik spreek geen Nederlands" 1000 times. It's the perfect intersection of my skill sets.

P.S. If you're a Dutch speaker who's read this far: alstublieft, spreek Nederlands met mij, zelfs als ik er slecht in ben. En nee, ik heb Google Translate niet gebruikt voor deze zin... oké, misschien een beetje.